/* lauralindesign.com — static rebuild of the Squarespace 7.1 site.
   Values below were measured from the live Squarespace site (Oct 2026). Layout markup and
   per-block styles come from the original pages; this file supplies the base those rely on. */

/* ---------- palette (Squarespace site colors) ---------- */
:root {
  --white-hsl: 0, 0%, 100%;
  --black-hsl: 220, 5.88235294%, 20%;
  --accent-hsl: 215.89285714, 46.66666667%, 47.05882353%;
  --lightAccent-hsl: 60, 4.34782609%, 95.49019608%;
  --darkAccent-hsl: 215.45454545, 10.28037383%, 41.96078431%;
  --safeLightAccent-hsl: var(--accent-hsl);
  --safeDarkAccent-hsl: var(--accent-hsl);
  --safeInverseAccent-hsl: var(--white-hsl);
  --safeInverseLightAccent-hsl: var(--white-hsl);
  --safeInverseDarkAccent-hsl: var(--white-hsl);

  --font: "Archivo", "Helvetica Neue", Arial, sans-serif;           /* headings */
  --body-font: "Poppins", "Helvetica Neue", Arial, sans-serif;     /* body text, nav, buttons */
  --button-font: var(--body-font);
  --header-h: 66.5px;
  --maxPageWidth: 1900px;
  --pagePadding: 3vw;
  --sqs-site-max-width: 1900px;
  --sqs-site-gutter: 3vw;
  --sqs-mobile-site-gutter: 6vw;

  --heading-1-size-value: 3.3;
  --heading-2-size-value: 2.8;
  --heading-3-size-value: 2.2;
  --heading-4-size-value: 1.6;
  --large-text-size-value: 1.2;
  --normal-text-size-value: 1;
  --small-text-size-value: .9;
}

/* ---------- section color themes ---------- */
:root, [data-section-theme=""], [data-section-theme="black"] {
  --siteBackgroundColor: hsla(var(--black-hsl), 1);
  --headingColor: hsla(var(--white-hsl), 1);
  --paragraphColor: hsla(var(--white-hsl), 1);
  --linkColor: hsla(var(--safeLightAccent-hsl), 1);
  --buttonBg: hsla(var(--safeLightAccent-hsl), 1);
  --buttonText: hsla(var(--safeInverseLightAccent-hsl), 1);
}
[data-section-theme="black-bold"] {
  --siteBackgroundColor: hsla(var(--black-hsl), 1);
  --headingColor: hsla(var(--safeLightAccent-hsl), 1);
  --paragraphColor: hsla(var(--white-hsl), 1);
  --linkColor: hsla(var(--safeLightAccent-hsl), 1);
  --buttonBg: hsla(var(--safeLightAccent-hsl), 1);
  --buttonText: hsla(var(--safeInverseLightAccent-hsl), 1);
}
[data-section-theme="dark"] {
  --siteBackgroundColor: hsla(var(--darkAccent-hsl), 1);
  --headingColor: hsla(var(--white-hsl), 1);
  --paragraphColor: hsla(var(--white-hsl), 1);
  --linkColor: hsla(var(--safeLightAccent-hsl), 1);
  --buttonBg: hsla(var(--safeLightAccent-hsl), 1);
  --buttonText: hsla(var(--safeInverseLightAccent-hsl), 1);
}
[data-section-theme="dark-bold"] {
  --siteBackgroundColor: hsla(var(--darkAccent-hsl), 1);
  --headingColor: hsla(var(--safeLightAccent-hsl), 1);
  --paragraphColor: hsla(var(--white-hsl), 1);
  --linkColor: hsla(var(--safeLightAccent-hsl), 1);
  --buttonBg: hsla(var(--safeLightAccent-hsl), 1);
  --buttonText: hsla(var(--safeInverseLightAccent-hsl), 1);
}
[data-section-theme="light"] {
  --siteBackgroundColor: hsla(var(--lightAccent-hsl), 1);
  --headingColor: hsla(var(--black-hsl), 1);
  --paragraphColor: hsla(var(--black-hsl), 1);
  --linkColor: hsla(var(--safeDarkAccent-hsl), 1);
  --buttonBg: hsla(var(--safeDarkAccent-hsl), 1);
  --buttonText: hsla(var(--safeInverseDarkAccent-hsl), 1);
}
[data-section-theme="light-bold"] {
  --siteBackgroundColor: hsla(var(--lightAccent-hsl), 1);
  --headingColor: hsla(var(--safeDarkAccent-hsl), 1);
  --paragraphColor: hsla(var(--black-hsl), 1);
  --linkColor: hsla(var(--safeDarkAccent-hsl), 1);
  --buttonBg: hsla(var(--safeDarkAccent-hsl), 1);
  --buttonText: hsla(var(--safeInverseDarkAccent-hsl), 1);
}
[data-section-theme="white"] {
  --siteBackgroundColor: hsla(var(--white-hsl), 1);
  --headingColor: hsla(var(--black-hsl), 1);
  --paragraphColor: hsla(var(--black-hsl), 1);
  --linkColor: hsla(var(--safeDarkAccent-hsl), 1);
  --buttonBg: hsla(var(--safeDarkAccent-hsl), 1);
  --buttonText: hsla(var(--safeInverseDarkAccent-hsl), 1);
}
[data-section-theme="white-bold"] {
  --siteBackgroundColor: hsla(var(--white-hsl), 1);
  --headingColor: hsla(var(--safeDarkAccent-hsl), 1);
  --paragraphColor: hsla(var(--black-hsl), 1);
  --linkColor: hsla(var(--safeDarkAccent-hsl), 1);
  --buttonBg: hsla(var(--safeDarkAccent-hsl), 1);
  --buttonText: hsla(var(--safeInverseDarkAccent-hsl), 1);
}
[data-section-theme="bright"] {
  --siteBackgroundColor: hsla(var(--accent-hsl), 1);
  --headingColor: hsla(var(--safeInverseAccent-hsl), 1);
  --paragraphColor: hsla(var(--safeInverseAccent-hsl), 1);
  --linkColor: hsla(var(--safeInverseAccent-hsl), 1);
  --buttonBg: hsla(var(--safeInverseAccent-hsl), 1);
  --buttonText: hsla(var(--accent-hsl), 1);
}

/* ---------- base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--body-font);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  color: var(--paragraphColor);
  background: var(--siteBackgroundColor);
  -webkit-font-smoothing: antialiased;
}
img, video { display: block; max-width: 100%; }
a { color: inherit; }

/* ---------- type (Squarespace fluid type scale) ---------- */
h1, h2, h3, h4 {
  font-family: var(--font);
  font-weight: 700;
  line-height: 1.4em;
  letter-spacing: 0;
  color: var(--headingColor);
  margin: 2rem 0;
}
h1 { font-size: min(calc((var(--heading-1-size-value) - 1) * 1.2vw + 1rem), max(calc((var(--heading-1-size-value) - 1) * .012 * var(--maxPageWidth) + 1rem), calc(var(--heading-1-size-value) * 1rem))); line-height: 1.2752em; }
h2 { font-size: min(calc((var(--heading-2-size-value) - 1) * 1.2vw + 1rem), max(calc((var(--heading-2-size-value) - 1) * .012 * var(--maxPageWidth) + 1rem), calc(var(--heading-2-size-value) * 1rem))); line-height: 1.2992em; }
h3 { font-size: min(calc((var(--heading-3-size-value) - 1) * 1.2vw + 1rem), max(calc((var(--heading-3-size-value) - 1) * .012 * var(--maxPageWidth) + 1rem), calc(var(--heading-3-size-value) * 1rem))); line-height: 1.3328em; }
h4 { font-size: min(calc((var(--heading-4-size-value) - 1) * 1.2vw + 1rem), max(calc((var(--heading-4-size-value) - 1) * .012 * var(--maxPageWidth) + 1rem), calc(var(--heading-4-size-value) * 1rem))); line-height: 1.3664em; }
p { margin: 1rem 0; line-height: 1.8em; color: var(--paragraphColor); }
.sqsrte-large { font-size: min(calc((var(--large-text-size-value) - 1) * 1.2vw + 1rem), max(calc((var(--large-text-size-value) - 1) * .012 * var(--maxPageWidth) + 1rem), calc(var(--large-text-size-value) * 1rem))); }
.sqsrte-small { font-size: calc(var(--small-text-size-value) * 1rem); }
@media (max-width: 767px) and (orientation: portrait) {
  h1 { font-size: calc((var(--heading-1-size-value) - 1) * .012 * min(100vh, 900px) + 1rem); }
  h2 { font-size: calc((var(--heading-2-size-value) - 1) * .012 * min(100vh, 900px) + 1rem); }
  h3 { font-size: calc((var(--heading-3-size-value) - 1) * .012 * min(100vh, 900px) + 1rem); }
  h4 { font-size: calc((var(--heading-4-size-value) - 1) * .012 * min(100vh, 900px) + 1rem); }
  .sqsrte-large { font-size: calc((var(--large-text-size-value) - 1) * .012 * min(100vh, 900px) + 1rem); }
}
p[data-rte-preserve-empty]:empty::before { content: "\200b"; }
.sqs-html-content > :first-child { margin-top: 0; }
.sqs-html-content > :last-child { margin-bottom: 0; }
.sqs-html-content ul, .sqs-html-content ol { padding-left: 40px; margin: 1rem 0; }
.sqs-html-content li > p { margin: .5rem 0; }
.sqs-html-content blockquote { margin: 1rem 40px; padding: 0; }
p a, li a, h1 a, h2 a, h3 a, h4 a { color: var(--linkColor); text-decoration: underline; }
/* long URLs written out in the text must wrap on phones */
.sqs-html-content { overflow-wrap: anywhere; }
.sqsrte-text-color--white { color: hsla(var(--white-hsl), 1); }
.sqsrte-text-color--black { color: hsla(var(--black-hsl), 1); }
.sqsrte-text-color--accent { color: hsla(var(--accent-hsl), 1); }
.sqsrte-text-color--lightAccent { color: hsla(var(--lightAccent-hsl), 1); }
.sqsrte-text-color--darkAccent { color: hsla(var(--darkAccent-hsl), 1); }
.sqsrte-text-highlight { background: hsla(var(--accent-hsl), .2); }
.portfolio-desc { color: grey; margin-top: 8px; font-family: var(--body-font); font-size: 20px; font-weight: 400; }

/* ---------- header ---------- */
.site-header {
  position: fixed; inset: 0 0 auto 0; z-index: 100;
  height: var(--header-h);
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 var(--pagePadding);
  background: hsla(var(--white-hsl), 1);
  color: hsla(var(--black-hsl), 1);
}
.site-logo img { height: 50px; width: auto; }
.site-nav ul { display: flex; gap: 0; margin: 0; padding: 0; list-style: none; }
.site-nav li { margin-left: 1.6vw; }
.site-nav a {
  font-weight: 700; font-size: 1rem; line-height: 1.8em; text-decoration: none;
  color: hsla(var(--black-hsl), 1);
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat; background-size: 0 1px; background-position: 0 calc(100% - 1.6px);
}
.site-nav a.active, .site-nav a:hover { background-size: 100% 1px; }
.nav-toggle { display: none; }
@media (max-width: 767px) {
  .nav-toggle {
    display: flex; flex-direction: column; gap: 8px; justify-content: center;
    width: 36px; height: 36px; padding: 0; border: 0; background: none; cursor: pointer;
  }
  .nav-toggle span { display: block; height: 1px; width: 100%; background: hsla(var(--black-hsl), 1); transition: transform .2s; }
  .site-nav {
    position: fixed; inset: var(--header-h) 0 0 0; background: hsla(var(--white-hsl), 1);
    display: none; align-items: center; justify-content: center;
  }
  .site-nav ul { flex-direction: column; align-items: center; gap: 1.2rem; }
  .site-nav li { margin: 0; }
  .site-nav a { font-size: 1.6rem; }
  body.nav-open .site-nav { display: flex; }
  body.nav-open { overflow: hidden; }
  body.nav-open .nav-toggle span:first-child { transform: translateY(4.5px) rotate(45deg); }
  body.nav-open .nav-toggle span:last-child { transform: translateY(-4.5px) rotate(-45deg); }
}

/* ---------- sections ---------- */
.page-section {
  position: relative;
  display: flex;
  align-items: center;
  background: var(--siteBackgroundColor);
  color: var(--paragraphColor);
}
#sections .page-section.first-section { padding-top: var(--header-h); }
.page-section.vertical-alignment--top { align-items: flex-start; }
.page-section.vertical-alignment--bottom { align-items: flex-end; }
.section-height--small { min-height: 33vh; }
.section-height--medium { min-height: 66vh; }
.section-height--large { min-height: 100vh; }
.section-border { position: absolute; inset: 0; pointer-events: none; }
.section-background { position: absolute; inset: 0; overflow: hidden; background: var(--siteBackgroundColor); }
.section-background-content { position: absolute; inset: 0; }
.section-background .background-image { width: 100%; height: 100%; object-fit: cover; }
.section-background-overlay { position: absolute; inset: 0; background: var(--siteBackgroundColor); }

.content-wrapper {
  position: relative;
  display: flex; justify-content: center;
  width: 100%; max-width: var(--maxPageWidth); margin: 0 auto;
  padding: 6.6vmax var(--pagePadding); /* the original sizes section padding by vmax, not vh */
}
.section-height--small .content-wrapper { padding-top: 3.3vmax; padding-bottom: 3.3vmax; }
.section-height--large .content-wrapper { padding-top: 10vmax; padding-bottom: 10vmax; }
.content-wrapper > .content { width: 100%; }
.content-width--narrow .content-wrapper > .content { width: 50%; }
.content-width--medium .content-wrapper > .content { width: 75%; }
.horizontal-alignment--left .content-wrapper { justify-content: flex-start; }
.horizontal-alignment--right .content-wrapper { justify-content: flex-end; }
@media (max-width: 767px) {
  .content-wrapper { padding-left: var(--sqs-mobile-site-gutter); padding-right: var(--sqs-mobile-site-gutter); }
  /* custom content widths (inline width: N%) are desktop-only on the original */
  .content-wrapper > .content { width: 100% !important; }
}

/* fluid-engine sections: the grid (with its own gutters) spans the full width */
.page-section:has(.fluid-engine) .content-wrapper { max-width: none; padding-left: 0; padding-right: 0; }
.fluid-engine { width: 100%; }
.fe-block { position: relative; }
.fe-block > .sqs-block { height: 100%; display: flex; flex-direction: column; justify-content: flex-start; position: relative; }
.fe-block > .sqs-block > .sqs-block-content { flex: 1 1 auto; width: 100%; }
.fe-block .sqs-block.html-block > .sqs-block-content,
.fe-block .sqs-block.button-block > .sqs-block-content { flex: 0 1 auto; }

/* classic 12-column layout */
.sqs-layout .row { display: flex; margin: 0 -17px; }
.sqs-layout .row::after { content: none; }
.sqs-layout .col { min-width: 0; flex: 0 0 auto; }
.sqs-layout .col[style*="--col-w"] { width: var(--col-w) !important; }
.sqs-layout .span-1 { width: 8.3333%; } .sqs-layout .span-2 { width: 16.6667%; }
.sqs-layout .span-3 { width: 25%; } .sqs-layout .span-4 { width: 33.3333%; }
.sqs-layout .span-5 { width: 41.6667%; } .sqs-layout .span-6 { width: 50%; }
.sqs-layout .span-7 { width: 58.3333%; } .sqs-layout .span-8 { width: 66.6667%; }
.sqs-layout .span-9 { width: 75%; } .sqs-layout .span-10 { width: 83.3333%; }
.sqs-layout .span-11 { width: 91.6667%; } .sqs-layout .span-12 { width: 100%; }
.sqs-layout .sqs-block { padding: 17px; position: relative; }
/* blocks in the first row of a classic layout sit flush with the section padding */
.sqs-layout > .row:first-child > .col > .sqs-block:first-child:not(.sqs-block-spacer) { padding-top: 0; }
.sqs-layout .col > .row { margin: 0; }
@media (max-width: 767px) {
  .sqs-layout .row { flex-direction: column; }
  .sqs-layout .col, .sqs-layout .col[style*="--col-w"] { width: 100% !important; }
}

/* ---------- blocks ---------- */
/* image (fluid engine) */
.fluid-image-component-root, .fluid-image-animation-wrapper, .fluid-image-container,
.js-content-mode-element-wrapper, .js-content-mode-element { position: relative; width: 100%; height: 100%; }
/* clickable images wrap the <img> in an <a class="js-content-mode-element">; it must be a box, not inline */
.js-content-mode-element, .sqs-block-image-link { display: block; }
/* image blocks with "click to enlarge" wrap the <img> in a <button> */
button.sqs-block-image-button { width: 100%; height: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; }
.fluid-image-container img, .fluid-image-container video {
  position: absolute; inset: 0; /* fill the grid cell without stretching the row */
  width: 100%; height: 100%;
  object-fit: var(--image-component-object-fit, cover);
  object-position: var(--image-component-focal-point, 50% 50%);
}
/* image (classic) */
.image-block-outer-wrapper:not(.fluid-image-component-root) img,
.image-block-outer-wrapper:not(.fluid-image-component-root) video { width: 100%; height: auto; }
.sqs-image-shape-container-element { position: relative; overflow: hidden; }
.sqs-image-shape-container-element.has-aspect-ratio img,
.sqs-image-shape-container-element.has-aspect-ratio video,
.sqs-image-shape-container-element[style*="padding-bottom"] img,
.sqs-image-shape-container-element[style*="padding-bottom"] video { position: absolute; inset: 0; width: 100%; height: 100%; }
.sqs-block-image-figure { margin: 0 auto; }
.image-caption-wrapper { margin-top: .75rem; }
/* buttons */
.sqs-block-button-container { display: flex; }
.sqs-block-button-container--center { justify-content: center; }
.sqs-block-button-container--right { justify-content: flex-end; }
.sqs-block-button-element, .sqs-button-element--primary, a.btn {
  display: inline-block;
  font-family: var(--button-font); font-weight: 500; font-size: .9rem; line-height: normal; letter-spacing: .02em;
  padding: 1.1rem 1.837rem; border-radius: 300px; text-align: center;
  background: var(--buttonBg); color: var(--buttonText); text-decoration: none;
  transition: opacity .1s linear;
}
.sqs-block-button-element:hover { opacity: .8; }
/* social links */
.sqs-svg-icon--list { display: flex; flex-wrap: wrap; gap: 12px; }
.social-icon-alignment-center .sqs-svg-icon--list { justify-content: center; }
.social-icon-alignment-right .sqs-svg-icon--list { justify-content: flex-end; }
.sqs-svg-icon--wrapper { display: block; width: 20px; height: 20px; color: var(--paragraphColor); }
.sqs-svg-icon--wrapper > div { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; transform: none !important; }
.sqs-svg-icon--wrapper .social-icon { width: 15px !important; height: 15px !important; transform: none !important; }
.sqs-svg-icon--wrapper:hover { opacity: .7; }
/* video */
.native-video { width: 100%; height: auto; background: #000; }
.embed-block-wrapper { position: relative; }
.embed-block-wrapper[style*="padding-bottom"] > .sqs-video-wrapper { position: absolute; inset: 0; }
.sqs-video-wrapper iframe { display: block; width: 100%; height: 100%; border: 0; }
/* divider */
.horizontalrule-block hr, .sqs-block-horizontalrule hr { border: 0; border-top: 1px solid currentColor; opacity: .3; margin: 0; }
/* spacer (classic: 34px, "vsize-1": 17px, plus the usual 17px block padding) */
.sqs-block-spacer .sqs-block-content { height: 34px; }
.sqs-block-spacer.sized.vsize-1 .sqs-block-content { height: 17px; }

/* ---------- footer ---------- */
.site-footer .page-section:first-child { padding-top: 0; }

/* ---------- scrolling marquee (home hero) ---------- */
.marquee { overflow: hidden; padding: 3% 0; }
.marquee-track { display: flex; width: max-content; will-change: transform; }
.marquee-item {
  margin: 0; padding-right: .5em; white-space: nowrap; line-height: 1.5;
  font-size: min(calc((var(--marquee-font-size-value, 8) - 1) * 1.2vw + 1rem), max(calc((var(--marquee-font-size-value, 8) - 1) * .012 * var(--maxPageWidth) + 1rem), calc(var(--marquee-font-size-value, 8) * 1rem)));
}
@media (max-width: 767px) and (orientation: portrait) {
  .marquee-item { font-size: calc((var(--marquee-font-size-value, 8) - 1) * .012 * min(100vh, 900px) + 1rem); }
}

/* ---------- film grain image effect ---------- */
.imageEffectContainer { position: absolute; inset: 0; pointer-events: none; }
.grain-canvas { position: absolute; inset: 0; width: 100%; height: 100%; mix-blend-mode: soft-light; pointer-events: none; image-rendering: pixelated; }

/* ---------- list sections (carousel + simple grid) ---------- */
.user-items-list { position: relative; }
.user-items-list-item-container { --gap: 20px; }
.user-items-list-section .content-wrapper { padding: 0; max-width: none; }
.user-items-list-carousel__gutter { padding: 0 var(--pagePadding); }
.list-section-title {
  font-family: var(--font); font-weight: 700;
  text-align: center; padding: 0 var(--pagePadding); line-height: 1.4;
  font-size: min(calc((var(--heading-2-size-value) - 1) * 1.2vw + 1rem), max(calc((var(--heading-2-size-value) - 1) * .012 * var(--maxPageWidth) + 1rem), calc(var(--heading-2-size-value) * 1rem)));
  color: var(--headingColor);
}
.list-section-button-container { display: flex; justify-content: flex-start; padding: 0 var(--pagePadding); }
.list-section-button-container[data-section-button-alignment="center"] { justify-content: center; }
.list-section-button-container[data-section-button-alignment="right"] { justify-content: flex-end; }
.list-section-title p { margin: 0; line-height: inherit; color: inherit; }
.list-item-content__title { margin: 0 0 .5rem; }
.list-item-content__description > p { margin: 1rem 0; }
.list-item-content__description > p:first-child { margin-top: 0; }
.list-item-content__description > p:last-child { margin-bottom: 0; }
.list-item-content__description li p { margin: 0; }
/* "center" placement centers the (max-width limited) title / body / button */
[data-title-placement="center"] .list-item-content__title,
[data-body-placement="center"] .list-item-content__description,
[data-button-placement="center"] .list-item-content__button-container { margin-left: auto; margin-right: auto; }
.list-item-content__button { display: inline-block; text-decoration: none; }
.list-item[data-is-card-enabled="true"] { background: hsla(var(--lightAccent-hsl), 1); padding: var(--pagePadding); }
.list-item img, .list-item video { width: 100%; height: 100%; object-fit: cover; }
.list-item [data-media-aspect-ratio], .list-item [data-aspect-ratio] { position: relative; overflow: hidden; }
.list-item [data-aspect-ratio="1:1"] { aspect-ratio: 1 / 1; }
.list-item [data-aspect-ratio="4:3"] { aspect-ratio: 4 / 3; }
.list-item [data-aspect-ratio="3:2"] { aspect-ratio: 3 / 2; }
.list-item [data-aspect-ratio="16:9"] { aspect-ratio: 16 / 9; }
.list-item [data-aspect-ratio="2:3"] { aspect-ratio: 2 / 3; }
.list-item [data-aspect-ratio="3:4"] { aspect-ratio: 3 / 4; }
[data-media-alignment="center"] .list-item-media { margin-left: auto; margin-right: auto; }
[data-media-alignment="right"] .list-item-media { margin-left: auto; }
.list-item [data-media-aspect-ratio="1:1"] { aspect-ratio: 1 / 1; }
.list-item [data-media-aspect-ratio="4:3"] { aspect-ratio: 4 / 3; }
.list-item [data-media-aspect-ratio="3:2"] { aspect-ratio: 3 / 2; }
.list-item [data-media-aspect-ratio="16:9"] { aspect-ratio: 16 / 9; }
.list-item [data-media-aspect-ratio="2:3"] { aspect-ratio: 2 / 3; }
.list-item [data-media-aspect-ratio="3:4"] { aspect-ratio: 3 / 4; }
[data-title-alignment="center"] .list-item-content__title,
[data-body-alignment="center"] .list-item-content__description,
[data-button-alignment="center"] .list-item-content__button-container { text-align: center; }

/* simple grid */
ul.user-items-list-simple, .user-items-list-simple {
  list-style: none; margin: 0 auto; padding: 0 var(--pagePadding);
  display: grid; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr));
  column-gap: var(--col-gap, 20px); row-gap: var(--row-gap, 20px);
}
.user-items-list-simple[data-num-columns="1"] { --cols: 1; }
.user-items-list-simple[data-num-columns="2"] { --cols: 2; }
.user-items-list-simple[data-num-columns="3"] { --cols: 3; }
.user-items-list-simple[data-num-columns="4"] { --cols: 4; }
.user-items-list-simple .list-item-media { margin-bottom: 1rem; }
@media (max-width: 767px) { .user-items-list-simple { --cols: 1 !important; } }

/* carousel */
.user-items-list-carousel { position: relative; }
.user-items-list-carousel__gutter { position: relative; }
.user-items-list-carousel__slideshow-holder, .user-items-list-carousel__slides-revealer { overflow: hidden; }
.user-items-list-carousel__slides {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-auto-flow: column; gap: 20px !important;
  grid-auto-columns: calc((100% - 20px * (var(--per-view) - 1)) / var(--per-view));
  overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none;
  --per-view: 3;
}
.user-items-list-carousel__slides::-webkit-scrollbar { display: none; }
/* "show adjacent slides": slides shrink by one extra gap so the next one peeks in (measured: 403px at 921px) */
[data-show-adjacent-slides="true"] .user-items-list-carousel__slides { grid-auto-columns: calc((100% - 20px * (var(--per-view) + 1)) / var(--per-view)); }
.user-items-list-carousel__slide { scroll-snap-align: start; min-width: 0; }
.user-items-list-carousel__media-container { margin-bottom: 4%; }
@media (max-width: 999px) { .user-items-list-carousel__slides { --per-view: 2; } }
@media (max-width: 767px) { .user-items-list-carousel__slides { --per-view: 1; } }
.desktop-arrows { position: static !important; pointer-events: none; }
.user-items-list-carousel__arrow-container, .user-items-list-carousel__arrow-positioner, .user-items-list-carousel__arrow-icon-holder { display: contents; }
.desktop-arrows .user-items-list-carousel__arrow-button { position: absolute; z-index: 2; top: var(--arrow-top, 50%); transform: translateY(-50%); }
.desktop-arrows .user-items-list-carousel__arrow-button--left { left: var(--pagePadding); }
.desktop-arrows .user-items-list-carousel__arrow-button--right { right: var(--pagePadding); }
.user-items-list-carousel__arrow-button, .mobile-arrow-button {
  pointer-events: auto; position: relative; width: 60px; height: 60px; border: 0; padding: 0;
  border-radius: 50%; background: none; cursor: pointer; display: grid; place-items: center;
}
.user-items-list-carousel__arrow-icon-background { position: absolute; inset: 0; border-radius: 50%; background: hsla(var(--accent-hsl), 1); }
.user-items-list-carousel__arrow-icon, .mobile-arrow-icon { position: relative; width: 36px; fill: none; stroke: #fff; stroke-width: 2px; }
.user-items-list-carousel__arrow-button[disabled] { opacity: .35; cursor: default; }
.mobile-arrows { display: none; }
@media (max-width: 767px) {
  .desktop-arrows { display: none; }
  .mobile-arrows { display: flex; justify-content: center; gap: 12px; margin-top: 20px; }
  .mobile-arrow-button { width: 44px; height: 44px; }
  .mobile-arrow-icon { width: 24px; }
}

/* ---------- galleries ---------- */
.page-section.gallery-section, .page-section.content-collection { min-height: 0; }
.gallery-section .content-wrapper { padding: 0; max-width: none; }
.content-collection .content-wrapper { padding: var(--pagePadding) 0; }
.gallery-masonry[data-width="full"] { padding: var(--pagePadding); }
.gallery-masonry-wrapper { display: flex; align-items: flex-start; gap: var(--g-gutter, 8px); padding: 0 var(--g-pad, 0px); }
.gallery-masonry-column { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: var(--g-gutter, 8px); }
.gallery-masonry-item { margin: 0; }
.gallery-masonry-item img, .gallery-masonry-item video { width: 100%; height: auto !important; }
.gallery-caption { padding: 15px 0; }
.gallery-caption-content { margin: 0; font-size: 1rem; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.gallery-slideshow { position: relative; margin: 0 auto; display: flex; flex-direction: column; }
.gallery-slideshow-wrapper { position: relative; flex: 1 1 auto; min-height: 0; padding: var(--sqs-site-gutter); }
.gallery-slideshow-list { position: relative; height: 100%; }
.gallery-slideshow-item { position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity .4s ease; display: flex; flex-direction: column; }
.gallery-slideshow-item[data-active="true"] { opacity: 1; z-index: 1; }
.gallery-slideshow-item-wrapper, .gallery-slideshow-item-src, .gallery-slideshow-item-img { flex: 1 1 auto; min-height: 0; height: 100%; }
.gallery-slideshow-item img, .gallery-slideshow-item video { width: 100%; height: 100%; object-fit: contain; }
.gallery-slideshow-item .gallery-caption { text-align: center; }
.gallery-slideshow-controls, .gallery-slideshow-controls-wrapper { position: absolute; inset: 0; pointer-events: none; z-index: 2; }
.gallery-slideshow-control-btn {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; pointer-events: auto;
  width: 27px; height: 32px; padding: 0; border: 0; background: none; cursor: pointer; opacity: .75;
}
.gallery-slideshow-control-btn:hover { opacity: 1; }
.gallery-slideshow-control-btn[data-previous] { left: var(--sqs-site-gutter); }
.gallery-slideshow-control-btn[data-next] { right: var(--sqs-site-gutter); }
.gallery-slideshow-control-btn svg { width: 9px; height: 16px; fill: none; stroke: #fff; stroke-width: 1.5; overflow: visible; }
.gallery-slideshow-thumbnails { display: flex; justify-content: center; overflow: hidden; padding: 10px 0; }
.gallery-slideshow-thumbnails-scroll { display: flex; gap: 10px; transform: none !important; }
.gallery-slideshow-thumbnails-thumb { position: relative; flex: 0 0 80px; width: 80px; height: 80px; padding: 0; border: 0; background: none; cursor: pointer; }
.gallery-slideshow-thumbnails-image-wrapper { position: absolute; inset: 0; opacity: .55; transition: opacity .2s; }
.gallery-slideshow-thumbnails-thumb[data-active="true"] .gallery-slideshow-thumbnails-image-wrapper { opacity: 1; }
.gallery-slideshow-thumbnails-image-wrapper img, .gallery-slideshow-thumbnails-image-wrapper video { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 767px) {
  .gallery-slideshow { height: auto !important; }
  .gallery-slideshow-wrapper { height: 100vw; padding: 0; }
  .gallery-slideshow-thumbnails { display: none; }
}

/* ---------- lightbox ---------- */
.site-lightbox { position: fixed; inset: 0; z-index: 200; background: rgba(0, 0, 0, .92); display: none; align-items: center; justify-content: center; }
.site-lightbox.open { display: flex; }
.site-lightbox img, .site-lightbox video { max-width: 92vw; max-height: 88vh; width: auto; height: auto; object-fit: contain; }
.site-lightbox button { position: absolute; border: 0; background: none; color: #fff; cursor: pointer; width: 56px; height: 56px; display: grid; place-items: center; }
.site-lightbox button svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.site-lightbox .lb-close { top: 12px; right: 12px; }
.site-lightbox .lb-prev { left: 12px; top: 50%; transform: translateY(-50%); }
.site-lightbox .lb-next { right: 12px; top: 50%; transform: translateY(-50%); }
.site-lightbox .lb-caption { position: absolute; bottom: 16px; left: 0; right: 0; text-align: center; color: #fff; font-size: .9rem; }

/* ---------- custom section height ---------- */
.section-height--custom { min-height: calc(var(--custom-h, 50) * 1vh); }
.section-height--custom .content-wrapper { padding-top: calc(var(--custom-h, 50) * .1vh); padding-bottom: calc(var(--custom-h, 50) * .1vh); }

/* ---------- accordion ---------- */
.accordion-items-container { list-style: none; margin: 0; padding: 0; }
.accordion-item { position: relative; }
.accordion-item + .accordion-item::before,
.accordion-items-container[data-is-first-divider-visible="true"] .accordion-item:first-child::before,
.accordion-items-container[data-is-last-divider-visible="true"] .accordion-item:last-child::after {
  content: ""; display: block; height: 1px; background: currentColor; opacity: .11;
}
.accordion-items-container[data-is-divider-enabled="false"] .accordion-item::before,
.accordion-items-container[data-is-divider-enabled="false"] .accordion-item::after { display: none; }
.accordion-item__title-wrapper { margin: 0; }
.accordion-item__click-target {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%;
  padding: 13px 0 15px; border: 0; background: none; cursor: pointer; text-align: left;
  font: inherit; color: var(--headingColor);
}
.accordion-items-container[data-accordion-icon-placement="left"] .accordion-item__click-target { flex-direction: row-reverse; justify-content: flex-end; }
.accordion-item__title { font-size: inherit; font-weight: 700; line-height: normal; }
.accordion-icon-container { flex: 0 0 24px; height: 24px; position: relative; }
.accordion-icon-container .arrow-container { width: 24px; height: 24px; display: grid; place-items: center; }
.accordion-icon-container .arrow {
  width: 17px; height: 17px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor;
  transform: translateY(-4px) rotate(45deg); transition: transform .2s ease;
}
.accordion-item__click-target[aria-expanded="true"] .arrow { transform: translateY(4px) rotate(-135deg); }
.accordion-item__dropdown { display: none; overflow: hidden; }
.accordion-item__dropdown.open { display: block; }
.accordion-item__description { padding: 0 0 30px; }
.accordion-item__description p { margin: .5rem 0; }

/* ---------- portfolio grid (Case Study index) ---------- */
.portfolio-grid-basic {
  display: grid; grid-template-columns: repeat(var(--portfolio-columns, 2), minmax(0, 1fr));
  column-gap: var(--portfolio-horizontal-gutter, 65px); row-gap: var(--portfolio-vertical-gutter, 45px);
  padding: 3.3vmax var(--pagePadding);
}
.portfolio-grid-basic .grid-item { display: block; text-decoration: none; color: inherit; }
.portfolio-grid-basic .grid-image { position: relative; overflow: hidden; padding-bottom: 75%; height: 0; }
.portfolio-grid-basic[data-image-aspect-ratio="1-1-square"] .grid-image { padding-bottom: 100%; }
.portfolio-grid-basic[data-image-aspect-ratio="3-2-three-two"] .grid-image { padding-bottom: 66.6667%; }
.portfolio-grid-basic[data-image-aspect-ratio="16-9-sixteen-nine"] .grid-image { padding-bottom: 56.25%; }
.portfolio-grid-basic .grid-image-inner-wrapper { position: absolute; inset: 0; }
.portfolio-grid-basic .grid-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s cubic-bezier(.19,1,.22,1), opacity .3s; }
.portfolio-grid-basic[data-hover-effect="zoom"] .grid-item:hover img { transform: scale(1.05); }
.portfolio-grid-basic[data-hover-effect="fade"] .grid-item:hover img { opacity: calc(var(--portfolio-hover-opacity, 70) / 100); }
.portfolio-text { margin-top: var(--portfolio-text-spacing, 15px); }
.portfolio-title {
  margin: 0; color: var(--headingColor);
  font-size: min(calc((var(--heading-4-size-value) - 1) * 1.2vw + 1rem), max(calc((var(--heading-4-size-value) - 1) * .012 * var(--maxPageWidth) + 1rem), calc(var(--heading-4-size-value) * 1rem)));
  line-height: 1.4;
}
.portfolio-title .portfolio-desc { display: block; margin: 8px 0 0; color: grey; font-family: var(--body-font); font-size: 20px; font-weight: 400; line-height: 1.3; }
@media (max-width: 767px) { .portfolio-grid-basic { grid-template-columns: 1fr; } }

/* ---------- inset section background ---------- */
.page-section.background-width--inset { padding: var(--sqs-site-gutter); background: hsla(var(--black-hsl), 1); }
.page-section.background-width--inset.first-section { padding-top: calc(var(--header-h) + var(--sqs-site-gutter)); }
.background-width--inset > .section-border { inset: var(--sqs-site-gutter); }
.background-width--inset.first-section > .section-border { top: calc(var(--header-h) + var(--sqs-site-gutter)); }

/* ---------- section dividers (shaped bottom edge) ---------- */
/* the divider markup must not take part in the section's flex layout */
.section-divider-display { position: absolute; left: 0; right: 0; bottom: 0; height: 0; pointer-events: none; }
.section-divider-svg-clip { position: absolute; width: 0; height: 0; overflow: hidden; }
/* the cut-away corners show the page background; the next section starts below, as on the original */
.page-section.has-section-divider { background: transparent; }
.page-section.has-section-divider > .section-border { background: var(--siteBackgroundColor); }

/* ---------- uniform layout (2026-10-08) ----------
   Two column widths for the whole site: text 800px, UI images / side-by-side rows 1200px. */
:root { --text-w: 800px; --media-w: 1200px; --flow-gap: 32px; --split-gap: 48px; }
.flow-section .content-wrapper { padding-left: 0; padding-right: 0; max-width: none; }
.flow-section .content-wrapper > .content { width: 100% !important; }
.flow { display: flex; flex-direction: column; gap: var(--flow-gap); width: 100%; padding: 0 var(--pagePadding); }
.flow-row { width: 100%; margin: 0 auto; }
.flow-text { max-width: var(--text-w); }
.flow-media, .flow-split { max-width: var(--media-w); }
.flow-full { max-width: none; width: auto; margin: 0 calc(-1 * var(--pagePadding)); }
.flow-media > .flow-item { width: var(--w, 100%); margin: 0 auto; }
.flow-split { display: grid; grid-template-columns: var(--cols); column-gap: var(--split-gap); align-items: start; }
.flow-split--media { align-items: center; }
.flow-col { display: flex; flex-direction: column; gap: var(--flow-gap); min-width: 0; }
.flow .sqs-block { padding: 0 !important; height: auto; }
.flow .sqs-block-image[style*="aspect-ratio"] .sqs-block-content { height: 100%; }
.flow .sqs-block-image[style*="aspect-ratio"] { width: 100%; }
@media (max-width: 767px) {
  .flow { padding: 0 var(--sqs-mobile-site-gutter); }
  .flow-full { margin: 0 calc(-1 * var(--sqs-mobile-site-gutter)); }
  .flow-split { grid-template-columns: 1fr; row-gap: var(--flow-gap); }
  .flow-media > .flow-item { width: 100%; }
}

/* lists, galleries and the case-study grid follow the UI width too */
.user-items-list-carousel__gutter, ul.user-items-list-simple, .user-items-list-simple,
.list-section-button-container, .portfolio-grid-basic, .gallery-masonry, .gallery-slideshow {
  max-width: calc(var(--media-w) + 2 * var(--pagePadding)); margin-left: auto; margin-right: auto;
}
