/* Locale controls share the existing blush, plum and cream design tokens. */
.ai-input [data-intro-typed]:empty::before { content: attr(data-placeholder); }
.header { grid-template-columns: 130px minmax(0,1fr) auto auto; gap: 22px; }
.header__edition { display: none; }
.header > .nav { min-width: 0; justify-self: center; }
.language-picker { position: relative; z-index: 104; justify-self: end; width: max-content; font: 500 12px/1.4 var(--sans); }
.language-picker summary { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 3px 8px 17px; border-left: 1px solid var(--line); cursor: pointer; list-style: none; color: var(--ink); letter-spacing: .06em; }
.language-picker summary::-webkit-details-marker { display: none; }
.language-chevron { width: 5px; height: 5px; margin: -3px 2px 0 1px; border-right: 1px solid; border-bottom: 1px solid; transform: rotate(45deg); transition: transform .2s; }
.language-picker[open] .language-chevron { margin-top: 3px; transform: rotate(225deg); }
.language-picker nav { position: absolute; right: -8px; top: calc(100% + 17px); width: 224px; max-width: calc(100vw - 32px); padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: var(--ivory); box-shadow: 0 14px 40px rgb(53 43 59 / 13%); }
.language-picker__label { margin: 3px 11px 10px; color: var(--muted); font-size: 10px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
.language-picker a { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 45px; padding: 10px 12px; border-radius: 7px; font-size: 14px; letter-spacing: 0; }
.language-picker .language-flag { display: block; flex: 0 0 24px; width: 24px; height: 18px; max-width: none; object-fit: contain; border-radius: 3px; box-shadow: 0 0 0 1px rgb(53 43 59 / 10%); }
.language-picker a:hover { background: var(--section-warm); }
.language-picker a[aria-current] { background: var(--paper); color: var(--accent); font-weight: 650; }
.language-remembered { display: block; margin-top: 3px; color: var(--muted); font: 400 10px/1.4 var(--sans); }
.language-remembered[hidden] { display: none; }
.footer > .locale-footer { grid-column: 1/-1; grid-row: auto; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; width: 100%; gap: 10px 24px; padding-top: 22px; border-top: 1px solid var(--line); }
.locale-languages { display: flex; flex-wrap: wrap; gap: 6px 22px; }
.locale-languages a { position: relative; font: 400 12px/1.4 var(--sans); color: var(--muted); }
.locale-languages small { display: none; }
.locale-languages a[aria-current] { color: var(--accent); font-weight: 650; }
.locale-languages a[aria-current]::after { content: ''; position: absolute; right: 0; left: 0; bottom: 6px; height: 1px; background: var(--accent); }
.locale-footer__privacy { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; }
.locale-footer__privacy a, .locale-footer__privacy button { font: 400 12px/1.5 var(--sans); color: var(--muted); min-height: 44px; }
.locale-footer__privacy button { padding: 8px 0; border: 0; background: transparent; text-decoration: underline; text-underline-offset: 4px; }
.preference-banner { position: fixed; z-index: 900; inset: auto 0 0; width: 100%; padding: 8px clamp(16px,3vw,48px) calc(8px + env(safe-area-inset-bottom)); background: var(--ivory); color: var(--ink); border: 0; border-top: 1px solid var(--line); border-radius: 0; box-shadow: 0 -3px 16px rgb(53 43 59 / 3%); max-height: 45dvh; overflow-y: auto; }
.preference-banner[hidden] { display: none; }
.preference-banner__inner { display: flex; align-items: center; justify-content: space-between; gap: 8px 32px; max-width: 1440px; margin: 0 auto; }
.preference-banner__inner > p { margin: 0; color: var(--muted); font: 400 12px/1.65 var(--sans); }
.preference-banner__inner > p a { margin-left: 5px; color: var(--muted); text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.preference-banner__actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 0 22px; }
.preference-banner__actions button { min-height: 44px; padding: 4px 0; border: 0; border-radius: 0; background: transparent; color: var(--accent); font: 500 12px/1.5 var(--sans); text-decoration: underline; text-underline-offset: 4px; white-space: nowrap; cursor: pointer; }
.preference-banner__actions button:hover, .preference-banner__inner > p a:hover { color: var(--ink); }
.has-preference-banner { padding-bottom: var(--preference-banner-height,120px); }
.preference-eyebrow { display: block; color: var(--accent); font: 500 10px/1.5 var(--sans); letter-spacing: .13em; text-transform: uppercase; }
.preference-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.preference-actions button { min-width: 0; min-height: 46px; padding: 12px 10px; border: 1px solid var(--line-control); border-radius: 9px; background: transparent; color: var(--ink); font: 550 12px/1.45 var(--sans); transition: background .2s,color .2s,border-color .2s; }
.preference-actions button:hover { color: var(--ivory); background: var(--accent); border-color: var(--accent); }
.preference-dialog { width: min(540px,calc(100% - 32px)); max-height: calc(100dvh - 32px); overflow: auto; overscroll-behavior: contain; border: 1px solid var(--line); border-radius: 20px; padding: 32px; color: var(--ink); background: var(--ivory); box-shadow: 0 24px 90px rgb(53 43 59 / 18%); }
.preference-dialog::backdrop { background: rgb(53 43 59 / 42%); backdrop-filter: blur(5px); }
.preference-dialog h2 { font: 400 37px/1.08 var(--display); letter-spacing: -.035em; margin: 9px 0 17px; }
.preference-dialog > p { font: 400 14px/1.7 var(--sans); color: var(--muted); margin-bottom: 23px; }
.preference-option { display: block; border-top: 1px solid var(--line); padding: 20px 0; }
.preference-option__heading { display: flex; justify-content: space-between; align-items: center; gap: 22px; }
.preference-option strong { font: 550 14px/1.5 var(--sans); }
.preference-option p, .preference-option__description { display: block; margin: 9px 0 0; font: 400 12px/1.7 var(--sans); color: var(--muted); padding-right: 32px; }
.preference-option input { flex: 0 0 40px; position: relative; appearance: none; width: 40px; height: 23px; border: 1px solid var(--line-control); border-radius: 16px; background: var(--paper); cursor: pointer; transition: background .2s; }
.preference-option input::after { content: ''; position: absolute; width: 15px; height: 15px; top: 3px; left: 3px; border-radius: 50%; background: var(--muted); transition: transform .2s,background .2s; }
.preference-option input:checked { background: var(--accent); border-color: var(--accent); }
.preference-option input:checked::after { transform: translateX(17px); background: var(--ivory); }
.preference-lock { color: var(--accent); font-size: 19px; padding-right: 10px; }
.preference-dialog > a { display: inline-block; margin: 2px 0 23px; font-size: 12px; text-decoration: underline; text-underline-offset: 4px; color: var(--accent); }
html:has(.preference-dialog[open]) { overflow-y: hidden; }
.has-preference-banner .contact-float, .has-preference-banner .mobile-contactbar { visibility: hidden; pointer-events: none; }
.storage-page .header { grid-template-columns: 1fr auto auto; }
.storage-page .header > a:not(.brand) { font-size: 13px; }
.storage-page main { max-width: 900px; margin: 160px auto 90px; padding: 0 24px; }
.storage-page h1 { max-width: 760px; font: 400 clamp(36px,5vw,64px)/1.08 var(--display); letter-spacing: -.035em; }
.storage-page h2 { font: 400 30px/1.2 var(--display); margin-top: 36px; }
.storage-page main p { color: var(--muted); line-height: 1.85; }
.storage-page .footer { padding: 30px 5vw; }
/* Retain the original two rows, with the plum accent on the second line. */
html:not([lang='tr']) .hero__title { font-size: inherit; }
html:not([lang='tr']) .hero__title-row { overflow: visible; }
html:not([lang='tr']) .hero__title-row i { font-size: clamp(68px,7.8vw,145px); overflow-wrap: normal; }
html:not([lang='tr']) .hero__title-row--right b { font-size: clamp(54px,6.4vw,116px); }
html[lang='it'] .hero__title-row i { font-size: clamp(58px,6.1vw,112px); }
html:not([lang='tr']) .ai-card { font-size: 14px; }
html:not([lang='tr']) .ai-source-tag { white-space: normal; }
@media (min-width:1101px) { .header > .nav { gap: clamp(12px,1.7vw,30px); } .header > .nav a { white-space: nowrap; } }
@media (min-width:821px) and (max-width:1100px) { .header { grid-template-columns: 120px minmax(0,1fr) auto; gap: 16px; } .header__call { display: none; } .header > .nav { gap: 16px; } }
@media (max-width:820px) {
  .header { grid-template-columns: 1fr auto auto auto; gap: 16px; }
  .header > .nav { justify-self: stretch; }
  .language-picker summary { padding-left: 13px; }
  .language-picker nav { top: calc(100% + 10px); }
  .preference-banner__inner { flex-direction: column; align-items: flex-start; gap: 0; }
  .footer > .locale-footer { align-items: flex-start; gap: 10px; }
  .locale-footer__privacy { width: 100%; justify-content: space-between; }
  html:not([lang='tr']) .hero__title-row i { font-size: clamp(58px,12.5vw,94px); }
  html:not([lang='tr']) .hero__title-row--right b { font-size: clamp(45px,10.4vw,82px); }
  html[lang='it'] .hero__title-row i { font-size: clamp(42px,10.8vw,84px); }
}
@media (max-width:600px) {
  .header { grid-template-columns: 1fr auto 44px; gap: 14px; }
  .header__call { display: none; }
  .language-picker summary { border-left: 0; padding-left: 0; }
  .language-picker nav { right: -52px; }
  .preference-actions { gap: 8px; }
  .preference-actions button { font-size: 11px; }
  .preference-dialog { padding: 24px; }
  .preference-dialog h2 { font-size: 31px; }
  .locale-languages { gap: 5px 18px; }
  .storage-page .header { gap: 12px; }
  .storage-page .header > a:not(.brand) { max-width: 100px; font-size: 11px; }
  .storage-page main { margin-top: 130px; }
}
@media (prefers-reduced-motion:reduce) { .language-picker *, .preference-banner *, .preference-dialog * { transition: none !important; } }

/* A shared PDF route that follows the selected language without reloading. */
.catalog-inline { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px 30px; padding:26px 0 0; margin-top:32px; border-top:1px solid var(--line); }
.catalog-inline p { margin:0 0 6px; font:500 15px/1.65 var(--sans); color:var(--ink); }
.catalog-inline small { color:var(--muted); font:400 12px/1.5 var(--sans); }
.catalog-inline > a { display:inline-flex; align-items:center; justify-content:space-between; gap:28px; min-height:48px; padding:13px 18px; border:1px solid var(--line-control); border-radius:6px; color:var(--accent); font:500 13px/1.5 var(--sans); }
.catalog-inline > a:hover { background:var(--accent); color:var(--ivory); border-color:var(--accent); }
@media(max-width:600px) { .catalog-inline { align-items:flex-start; gap:16px; } .catalog-inline > a { width:100%; } }
