/* Ida Toninato — site styles (static rebuild) */
:root {
  --sqs-site-gutter: 4vw;
  --sqs-mobile-site-gutter: 6vw;
  --sqs-site-max-width: 1500px;
  --white: #fff;
  --paper: #fafafa;
  --bright: #f5f5f0;
  --ink: #28282a;
  --dark: #1c1c1d;
  --serif: "Libre Baskerville", Georgia, "Times New Roman", serif;
  --sans: Almarai, "Helvetica Neue", Arial, sans-serif;
  --header-h: 92.906px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font: 400 16px/24px var(--sans);
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; }
a { color: inherit; }

/* ---------- header ---------- */
.site-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  background: var(--white);
  border-top: 1px solid var(--ink);
  color: var(--dark);
}
.header-inner {
  display: flex; align-items: center; justify-content: space-between;
  height: calc(var(--header-h) - 1px);
  padding: 0 var(--sqs-site-gutter);
}
.site-title {
  font: 400 24.64px/29.568px var(--serif);
  letter-spacing: -0.02em;
  color: var(--ink); text-decoration: none;
}
.site-nav { display: flex; align-items: center; gap: 22px; }
.nav-item { position: relative; }
.nav-link {
  font: 400 16px/24px var(--sans);
  color: var(--dark); text-decoration: none;
  background: none; border: 0; padding: 1.6px 0; cursor: pointer;
}
.nav-item.active > .nav-link { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.folder {
  display: none; position: absolute; right: -16px; top: 100%;
  min-width: 100%; padding: 8px 16px 12px; background: var(--white);
  text-align: right; white-space: nowrap; z-index: 5;
}
.folder::before { content: ""; position: absolute; left: 0; right: 0; top: -22px; height: 22px; }
.folder a { display: block; color: var(--dark); text-decoration: none; padding: 1.6px 0; }
.folder a:hover, .folder a:focus-visible { text-decoration: underline; text-underline-offset: 5px; }
.has-folder:hover .folder, .has-folder:focus-within .folder, .has-folder.open .folder { display: block; }
.menu-btn { display: none; }

/* ---------- sections ---------- */
main { display: block; }
.page-section { position: relative; background: var(--paper); }
main > .page-section:first-child { padding-top: var(--header-h); }
.page-section.theme-bright { background: var(--bright); }
.page-section.theme-white { background: var(--paper); }
.content-wrapper { position: relative; padding: 1.44px 0; }
.fluid-engine { position: relative; }
.section-background { position: absolute; inset: 0; overflow: hidden; background: var(--paper); }
.section-background img { width: 100%; height: 100%; object-fit: cover; display: block; }
.section-background::after { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.15); }

.fe-block { min-width: 0; }
.sqs-block { display: flex; flex-direction: column; height: 100%; width: 100%; }
.sqs-block-content { flex: 1; width: 100%; min-height: 0; display: flex; flex-direction: column; }

/* footer */
footer .page-section { padding: var(--sqs-site-gutter); background: var(--paper); }
footer .page-section .section-background { inset: var(--sqs-site-gutter); }
footer .page-section .content-wrapper { padding: 0; }
footer .fluid-engine { overflow: hidden; }

/* ---------- text ---------- */
.sqs-html-content { width: 100%; }
.sqs-html-content > :first-child { margin-top: 0; }
.sqs-html-content > :last-child { margin-bottom: 0; }
.sqs-html-content h1, .sqs-html-content h2, .sqs-html-content h3, .sqs-html-content h4 {
  font-family: var(--serif); font-weight: 400; margin: 0;
}
.sqs-html-content h1 { font-size: 67.84px; line-height: 71.639px; letter-spacing: -0.02em; color: #000; }
.sqs-html-content h2 { font-size: 47.104px; line-height: 52.455px; letter-spacing: -0.02em; }
.sqs-html-content h3 { font-size: 36.736px; line-height: 41.967px; letter-spacing: -0.02em; margin: 32px 0; }
.sqs-html-content h4 { font-size: 26.368px; line-height: 30.882px; letter-spacing: -0.02em; text-align: center; }
.sqs-html-content p { margin: 16px 0; font-size: 16px; line-height: 24px; }
.sqs-html-content .sqsrte-small { font-size: 14.272px; line-height: 21.408px; }
.sqs-html-content a { color: #000; text-decoration: underline; }
.sqs-html-content strong { font-weight: 700; }
.sqs-html-content ul, .sqs-html-content ol { margin: 16px 0; padding-left: 40px; }
.sqs-html-content li p { margin: 8px 0; }
.sqs-html-content blockquote { margin: 16px 0; }
.sqs-html-content .sqsrte-text-color--lightAccent, .sqs-html-content .sqsrte-text-color--light { color: #fff; }
.sqs-html-content .sqsrte-text-color--darkAccent { color: var(--dark); }
.sqs-html-content .sqsrte-text-color--dark { color: #000; }
/* page text on the bright (about) section is pure black, as on the original */
.theme-bright .sqs-html-content p { color: #000; }

/* ---------- images / video / buttons ---------- */
.img-wrap { position: relative; width: 100%; height: 100%; overflow: hidden; display: flex; }
.img-wrap img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.video-wrap { position: relative; width: 100%; height: 0; }
.video-wrap iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.button-wrap { width: 100%; height: 100%; display: flex; }
.button {
  display: flex; align-items: center; justify-content: center; text-align: center;
  width: 100%; min-height: 48px; padding: 0 20.8px;
  border: 1px solid #000; background: transparent; color: #000;
  font: 400 16px/24px var(--sans); text-decoration: none;
  transition: background .2s, color .2s;
}
.button:hover { background: #000; color: #fff; }

/* ---------- mobile ---------- */
@media (max-width: 767px) {
  :root { --header-h: 83px; }
  .header-inner { padding: 0 var(--sqs-mobile-site-gutter); }
  .site-title { font-size: 16px; line-height: 24px; }
  .site-nav { display: none; }
  .menu-btn {
    display: block; position: relative; width: 36px; height: 24px; background: none; border: 0; cursor: pointer; padding: 0;
  }
  .menu-btn span { position: absolute; left: 0; right: 0; height: 1px; background: var(--dark); transition: transform .25s, top .25s; }
  .menu-btn span:nth-child(1) { top: 8px; }
  .menu-btn span:nth-child(2) { top: 15px; }
  .menu-btn[aria-expanded="true"] span:nth-child(1) { top: 12px; transform: rotate(45deg); }
  .menu-btn[aria-expanded="true"] span:nth-child(2) { top: 12px; transform: rotate(-45deg); }
  .mobile-menu {
    position: fixed; inset: var(--header-h) 0 0 0; background: var(--white);
    padding: 32px var(--sqs-mobile-site-gutter); overflow-y: auto;
    font: 400 28px/1.3 var(--serif); letter-spacing: -0.02em;
  }
  .mobile-menu[hidden] { display: none; }
  .mobile-menu a, .mobile-menu span { display: block; color: var(--ink); text-decoration: none; padding: 8px 0; }
  .mobile-menu .mm-group span { padding-bottom: 0; }
  .mobile-menu .mm-group a { font-size: 20px; padding: 6px 0 6px 16px; }
  .sqs-html-content h1 { font-size: 48.4px; line-height: 51.11px; }
  .sqs-html-content h2 { font-size: 35.44px; line-height: 39.466px; }
  .sqs-html-content h3 { font-size: 28.96px; line-height: 33.084px; }
  .sqs-html-content h4 { font-size: 22.48px; line-height: 26.329px; }
  .sqs-html-content .sqsrte-small { font-size: 14.92px; line-height: 22.38px; }
  footer .page-section { padding: 4vw; }
  footer .page-section .section-background { inset: 4vw; }
}

/* footer block height (matches original) */
footer .fluid-engine { min-height: 276px; }
@media (max-width: 767px) { footer .fluid-engine { min-height: 80px; } }

/* keep intentional blank lines */
.sqs-html-content p:empty::before { content: "\00a0"; }

@media (max-width: 767px) {
  .site-title { white-space: nowrap; margin-right: 10px; }
  .menu-btn { width: 34px; flex: none; }
}
