@import url("https://fonts.googleapis.com/css2?family=Playfair+Display+SC:wght@400;700&family=Poppins:wght@300;400;500;600&display=swap");

.las-adaptive-single-active {
  --las-black: #111;
  --las-deep: #050505;
  --las-paper: #f7f7f5;
  --las-soft: #e8e8e4;
  --las-white: #fff;
  --las-ink: #121416;
  --las-muted: #666;
  --las-line: rgba(18,20,22,.15);
  --las-shell: min(1360px, calc(100% - 88px));
  --las-display: "Playfair Display SC", Georgia, serif;
  --las-sans: "Poppins", Arial, sans-serif;
  margin: 0 !important;
  background: var(--las-paper) !important;
  color: var(--las-ink);
}

.las-site,
.las-site * { box-sizing: border-box; }
.las-site { overflow: hidden; background: var(--las-paper); color: var(--las-ink); font-family: var(--las-sans); font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
.las-adaptive-single-active #main-container,
.las-adaptive-single-active #main-content,
.las-adaptive-single-active #main-content-column,
.las-adaptive-single-active .post-container,
.las-adaptive-single-active .post-entry {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.las-site img { display: block; max-width: 100%; }
.las-site a { color: inherit; }
.las-site button { font: inherit; }
.las-shell { width: var(--las-shell); margin-inline: auto; }
.las-heading { margin: 0; font-family: var(--las-display); font-size: clamp(45px,5vw,76px); font-weight: 400; letter-spacing: -.04em; line-height: .96; text-transform: uppercase; }
.las-eyebrow { display: flex; gap: 12px; align-items: center; margin: 0 0 20px; color: var(--las-black); font-size: 11px; font-weight: 600; letter-spacing: .18em; line-height: 1.5; text-transform: uppercase; }
.las-eyebrow::before { width: 34px; height: 1px; background: currentColor; content: ""; }

/* Preview, utility bar and the approved modern post header. */
.las-preview-bar { background: var(--las-soft); color: var(--las-deep); font-size: 9px; font-weight: 600; letter-spacing: .14em; text-align: center; text-transform: uppercase; }
.las-preview-bar__inner { display: flex; min-height: 34px; align-items: center; justify-content: center; }
.las-utility { background: var(--las-deep); color: rgba(255,255,255,.62); font-size: 10px; letter-spacing: .09em; text-transform: uppercase; }
.las-utility__inner { display: flex; min-height: 36px; align-items: center; justify-content: space-between; }
.las-utility__contact { display: flex; gap: 24px; }
.las-utility a { text-decoration: none; }
.las-utility a:hover,
.las-utility__location { color: var(--las-white); }
.las-site-header { border-bottom: 1px solid var(--las-line); background: var(--las-white); }
.las-site-header__inner { display: grid; grid-template-columns: 270px 1fr auto; gap: 40px; align-items: center; min-height: 102px; }
.las-brand { display: flex; gap: 13px; align-items: center; color: var(--las-black); text-decoration: none; }
.las-brand__mark { position: relative; width: 42px; height: 42px; flex: 0 0 42px; border: 1px solid currentColor; transform: rotate(45deg); }
.las-brand__mark::before,
.las-brand__mark::after { position: absolute; background: currentColor; content: ""; }
.las-brand__mark::before { inset: 7px 18px; }
.las-brand__mark::after { inset: 18px 7px; }
.las-brand__type { line-height: .9; }
.las-brand__type strong { display: block; font-family: var(--las-display); font-size: 22px; font-weight: 700; text-transform: uppercase; }
.las-brand__type span { color: var(--las-muted); font-size: 7px; font-weight: 600; letter-spacing: .19em; text-transform: uppercase; }
.las-site-nav { justify-self: center; }
.las-site-nav ul { display: flex; gap: clamp(20px,2.6vw,40px); margin: 0; padding: 0; list-style: none; }
.las-site-nav a { font-size: 10px; font-weight: 600; letter-spacing: .11em; text-decoration: none; text-transform: uppercase; }
.las-site-nav a:hover { text-decoration: underline; text-underline-offset: 6px; }
.las-site-header__cta { display: inline-flex; gap: 11px; align-items: center; color: var(--las-black); font-size: 10px; font-weight: 600; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.las-site-header__cta span { display: grid; width: 37px; height: 37px; border: 1px solid var(--las-line); place-items: center; }
.las-menu-toggle { display: none; width: 44px; height: 44px; border: 1px solid var(--las-line); background: transparent; cursor: pointer; }
.las-menu-toggle::before,
.las-menu-toggle::after { display: block; width: 19px; height: 1px; margin: 6px auto; background: var(--las-black); content: ""; }
.las-mobile-nav { position: fixed; z-index: 100001; inset: 0; display: grid; visibility: hidden; background: var(--las-deep); color: var(--las-white); opacity: 0; place-items: center; transition: opacity 180ms ease,visibility 180ms ease; }
.las-mobile-nav.is-open { visibility: visible; opacity: 1; }
.las-mobile-nav__close { position: absolute; top: 22px; right: 22px; width: 46px; height: 46px; border: 1px solid rgba(255,255,255,.3); background: transparent; color: var(--las-white); cursor: pointer; font-size: 22px; }
.las-mobile-nav ul { margin: 0; padding: 0; list-style: none; text-align: center; }
.las-mobile-nav a { display: block; padding: 9px; font-family: var(--las-display); font-size: clamp(31px,9vw,50px); text-decoration: none; text-transform: uppercase; }

/* Hero closely follows the approved Version A mockup. */
.las-hero { position: relative; background: linear-gradient(90deg,rgba(255,255,255,.036) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.036) 1px,transparent 1px),var(--las-black); background-size: 68px 68px; color: var(--las-white); }
.las-hero::after { position: absolute; inset: 0; background: linear-gradient(90deg,transparent 45%,rgba(0,0,0,.42)); content: ""; pointer-events: none; }
.las-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,.92fr) minmax(500px,1.08fr); gap: clamp(50px,8vw,125px); align-items: center; min-height: 680px; padding-block: 70px; }
.las-post--no-image .las-hero__grid { grid-template-columns: minmax(0,900px); }
.las-breadcrumbs { display: flex; gap: 9px; flex-wrap: wrap; margin-bottom: 41px; color: rgba(255,255,255,.52); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.las-breadcrumbs a { text-decoration: none; }
.las-breadcrumbs span { color: var(--las-white); }
.las-hero .las-eyebrow { color: var(--las-white); }
.las-hero h1 { max-width: 720px; margin: 0; font-family: var(--las-display); font-size: clamp(60px,7.1vw,106px); font-weight: 400; letter-spacing: -.055em; line-height: .88; text-transform: uppercase; }
.las-hero__intro { max-width: 600px; margin: 29px 0 31px; color: rgba(255,255,255,.72); font-size: clamp(15px,1.25vw,18px); font-weight: 300; line-height: 1.8; }
.las-hero__actions { display: flex; gap: 13px; flex-wrap: wrap; }
.las-button { display: inline-flex; gap: 18px; align-items: center; min-height: 54px; border: 1px solid var(--las-white); padding: 14px 21px; font-size: 11px; font-weight: 600; letter-spacing: .11em; text-decoration: none; text-transform: uppercase; transition: gap 180ms ease,background 180ms ease; }
.las-button::after { content: "↗"; font-size: 16px; }
.las-button:hover { gap: 25px; }
.las-site .las-button--light { background: var(--las-white); color: var(--las-deep) !important; }
.las-site .las-button--light:hover { background: var(--las-soft); color: var(--las-deep) !important; }
.las-button--outline { border-color: rgba(255,255,255,.35); background: transparent; color: var(--las-white); }
.las-button--outline:hover { border-color: var(--las-white); background: var(--las-white); color: var(--las-deep); }
.las-hero__media-stack { min-width: 0; }
.las-hero__media { position: relative; min-height: 520px; margin: 0; background: var(--las-white); padding: clamp(30px,4vw,70px); }
.las-hero__media::before { position: absolute; top: -22px; right: -22px; width: 40%; height: 40%; border-top: 1px solid var(--las-white); border-right: 1px solid var(--las-white); content: ""; pointer-events: none; }
.las-hero__media img { width: 100%; height: 100%; min-height: 380px; object-fit: contain; }
.las-favorite { min-height: 31px; margin-top: 14px; color: var(--las-white); }
.las-favorite .wpfp-span { display: inline-flex; gap: 9px; align-items: center; }
.las-favorite .wpfp-img { width: 18px; height: 18px; object-fit: contain; }
.las-favorite .wpfp-hide { display: none !important; }
.las-favorite .wpfp-link { border-bottom: 1px solid rgba(255,255,255,.45); padding-bottom: 4px; color: var(--las-white); font-size: 10px; font-weight: 600; letter-spacing: .11em; text-decoration: none; text-transform: uppercase; }

.las-anchor-nav { position: sticky; z-index: 20; top: 0; border-bottom: 1px solid var(--las-line); background: rgba(255,255,255,.96); backdrop-filter: blur(13px); }
.admin-bar .las-anchor-nav { top: 32px; }
.las-anchor-nav__inner { display: flex; gap: 41px; min-height: 62px; align-items: center; overflow-x: auto; scrollbar-width: none; }
.las-anchor-nav__inner::-webkit-scrollbar { display: none; }
.las-anchor-nav a { flex: 0 0 auto; font-size: 9px; font-weight: 600; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }

/* Overview, specifications and editor content. */
.las-overview { padding: 126px 0 130px; }
.las-overview__grid { display: grid; grid-template-columns: minmax(0,.95fr) minmax(420px,1.05fr); gap: clamp(65px,9vw,145px); align-items: start; }
.las-overview--single .las-overview__grid { grid-template-columns: minmax(0,930px); }
.las-editor-content,
.las-overview__fallback { margin-top: 29px; color: var(--las-muted); font-size: 15px; line-height: 1.9; }
.las-editor-content > :first-child { margin-top: 0; }
.las-editor-content > :last-child { margin-bottom: 0; }
.las-editor-content p { margin: 0 0 1.35em; }
.las-editor-content h2,
.las-editor-content h3,
.las-editor-content h4 { margin: 1.6em 0 .65em; color: var(--las-ink); font-family: var(--las-display); font-weight: 400; line-height: 1.15; text-transform: uppercase; }
.las-editor-content h2 { font-size: 34px; }
.las-editor-content h3 { font-size: 27px; }
.las-editor-content a { border-bottom: 1px solid currentColor; color: var(--las-black); text-decoration: none; }
.las-editor-content table { width: 100%; border-collapse: collapse; margin-block: 30px; color: var(--las-black); }
.las-editor-content th,
.las-editor-content td { border: 1px solid var(--las-line); padding: 13px; text-align: left; }
.las-specs { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--las-line); }
.las-spec { min-height: 126px; border-right: 1px solid var(--las-line); border-bottom: 1px solid var(--las-line); padding: 25px 23px; }
.las-spec:nth-child(even) { border-right: 0; }
.las-spec:last-child:nth-child(odd) { grid-column: 1 / -1; border-right: 0; }
.las-spec span { display: block; color: var(--las-muted); font-size: 8px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.las-spec strong { display: block; margin-top: 17px; font-family: var(--las-display); font-size: 22px; font-weight: 400; line-height: 1.25; text-transform: uppercase; }

.las-benefits { background: var(--las-white); padding: 120px 0 128px; }
.las-benefits__top { display: grid; grid-template-columns: 1fr minmax(280px,460px); gap: 65px; align-items: end; margin-bottom: 54px; }
.las-benefits__top > p { margin: 0; color: var(--las-muted); font-size: 14px; line-height: 1.8; }
.las-benefit-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--las-line); border-left: 1px solid var(--las-line); }
.las-benefit { min-height: 188px; border-right: 1px solid var(--las-line); border-bottom: 1px solid var(--las-line); padding: 28px; }
.las-benefit span { color: var(--las-black); font-family: var(--las-display); font-size: 18px; }
.las-benefit h3 { margin: 47px 0 0; font-family: var(--las-display); font-size: 20px; font-weight: 400; line-height: 1.2; text-transform: uppercase; }

.las-gallery { background: var(--las-white); padding: 120px 0 128px; }
.las-section-heading--row { display: flex; gap: 40px; align-items: end; justify-content: space-between; margin-bottom: 48px; padding-bottom: 32px; border-bottom: 1px solid var(--las-line); }
.las-section-heading--row > p { margin: 0; color: var(--las-muted); font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.las-gallery__content { min-width: 0; }
.las-gallery .gallery { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin: 0 !important; }
.las-gallery .gallery-item { float: none !important; width: auto !important; margin: 0 !important; }
.las-gallery .gallery-icon,
.las-gallery .gallery-icon a { display: block; height: 100%; }
.las-gallery .gallery img { width: 100%; height: 360px; border: 0 !important; object-fit: cover; }
.las-gallery .ngg-galleryoverview { width: 100% !important; margin: 0 !important; }
.las-gallery .ngg-gallery-thumbnail-box { max-width: 100%; }
.las-gallery .ngg-gallery-thumbnail img { height: auto; }
.las-gallery .modula,
.las-gallery .modula-items { width: 100% !important; max-width: none !important; }

.las-downloads { padding: 120px 0 130px; }
.las-downloads__top { margin-bottom: 48px; }
.las-download-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 19px; }
.las-download { display: grid; grid-template-columns: 92px 1fr auto; gap: 26px; align-items: center; min-height: 160px; border: 1px solid var(--las-line); background: var(--las-white); padding: 25px; text-decoration: none; transition: border-color 180ms ease,transform 180ms ease; }
.las-download:hover { border-color: var(--las-black); transform: translateY(-3px); }
.las-download__icon { display: grid; width: 78px; height: 92px; background: var(--las-black); color: var(--las-white); place-items: center; font-family: var(--las-display); font-size: 17px; text-transform: uppercase; }
.las-download__copy > span { color: var(--las-muted); font-size: 8px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.las-download__copy h3 { margin: 9px 0 0; font-family: var(--las-display); font-size: 24px; font-weight: 400; line-height: 1.15; text-transform: uppercase; }
.las-download__arrow { color: var(--las-black); font-size: 25px; }

.las-related { background: var(--las-white); padding: 120px 0 130px; }
.las-related__top { display: flex; gap: 30px; align-items: end; justify-content: space-between; margin-bottom: 47px; }
.las-related__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.las-card { min-width: 0; text-decoration: none; }
.las-card__media { display: grid; aspect-ratio: 1; overflow: hidden; background: var(--las-paper); place-items: center; }
.las-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms ease; }
.las-card__media > span { color: var(--las-muted); font-family: var(--las-display); font-size: 24px; text-transform: uppercase; }
.las-card:hover .las-card__media img { transform: scale(1.04); }
.las-card__body { display: flex; gap: 20px; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--las-line); padding: 18px 0 15px; }
.las-card__body > span > span { display: block; color: var(--las-muted); font-size: 8px; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.las-card__body h3 { margin: 7px 0 0; font-family: var(--las-display); font-size: 21px; font-weight: 400; line-height: 1.15; text-transform: uppercase; }
.las-card__body b { font-size: 19px; font-weight: 400; }

.las-contact { background: var(--las-soft); color: var(--las-deep); }
.las-contact__grid { display: grid; grid-template-columns: 1.3fr .7fr; gap: 70px; align-items: center; min-height: 330px; }
.las-contact__actions { justify-self: end; }
.las-contact__actions a { display: block; text-decoration: none; }
.las-contact__phone { font-family: var(--las-display); font-size: clamp(31px,3.2vw,46px); font-weight: 700; }
.las-contact__link { width: fit-content; margin-top: 8px; border-bottom: 1px solid currentColor; padding-bottom: 4px; font-size: 11px; }

.las-site-footer { background: var(--las-deep); color: var(--las-white); padding: 76px 0 25px; }
.las-site-footer__grid { display: grid; grid-template-columns: 1.25fr .65fr .65fr .8fr; gap: 55px; padding-bottom: 64px; }
.las-brand--footer { color: var(--las-white); }
.las-brand--footer .las-brand__type span { color: rgba(255,255,255,.45); }
.las-site-footer__about p { max-width: 380px; margin: 24px 0 0; color: rgba(255,255,255,.48); font-size: 11px; line-height: 1.8; }
.las-site-footer h3 { margin: 0 0 20px; color: var(--las-white); font-size: 10px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.las-site-footer ul { margin: 0; padding: 0; list-style: none; }
.las-site-footer li { margin: 10px 0; }
.las-site-footer li a,
.las-site-footer address,
.las-site-footer__contact a { color: rgba(255,255,255,.53); font-size: 11px; font-style: normal; line-height: 1.7; text-decoration: none; }
.las-site-footer__contact a { display: block; margin-top: 9px; }
.las-site-footer__base { display: flex; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.13); padding-top: 24px; color: rgba(255,255,255,.32); font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }

@media (max-width:1050px) {
  .las-adaptive-single-active { --las-shell: min(100% - 58px,960px); }
  .las-site-header__inner { grid-template-columns: 250px 1fr auto; gap: 20px; }
  .las-site-nav ul { gap: 17px; }
  .las-hero__grid { grid-template-columns: 1fr .75fr; gap: 55px; }
  .las-hero__media { min-height: 440px; }
  .las-hero__media img { min-height: 310px; }
  .las-benefit-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width:820px) {
  .las-adaptive-single-active { --las-shell: min(100% - 40px,720px); }
  .las-utility__location,
  .las-site-nav,
  .las-site-header__cta { display: none; }
  .las-site-header__inner { grid-template-columns: 1fr auto; min-height: 88px; }
  .las-menu-toggle { display: block; }
  .las-hero__grid { grid-template-columns: 1fr; min-height: auto; padding-block: 70px 88px; }
  .las-hero__media { min-height: 500px; }
  .las-overview,
  .las-benefits,
  .las-gallery,
  .las-downloads,
  .las-related { padding-block: 90px; }
  .las-overview__grid,
  .las-benefits__top,
  .las-contact__grid { grid-template-columns: 1fr; gap: 45px; }
  .las-download-grid { grid-template-columns: 1fr; }
  .las-related__grid { grid-template-columns: 1fr 1fr; }
  .las-contact__grid { gap: 27px; padding-block: 55px; }
  .las-contact__actions { justify-self: start; }
  .las-site-footer__grid { grid-template-columns: 1.2fr .8fr; }
}

@media (max-width:782px) {
  .admin-bar .las-anchor-nav { top: 46px; }
}

@media (max-width:560px) {
  .las-adaptive-single-active { --las-shell: calc(100% - 30px); }
  .las-preview-bar__inner { min-height: 42px; padding: 6px 0; line-height: 1.5; }
  .las-utility__inner { justify-content: center; }
  .las-utility__contact { gap: 13px; font-size: 8px; }
  .las-brand__mark { width: 36px; height: 36px; flex-basis: 36px; }
  .las-brand__mark::before { inset: 6px 15px; }
  .las-brand__mark::after { inset: 15px 6px; }
  .las-brand__type strong { font-size: 18px; }
  .las-brand__type span { font-size: 6px; }
  .las-hero h1 { font-size: clamp(53px,16vw,73px); }
  .las-heading { font-size: clamp(42px,12vw,56px); }
  .las-hero__actions { display: grid; }
  .las-button { width: 100%; justify-content: center; }
  .las-hero__media { min-height: 385px; padding: 24px; }
  .las-hero__media::before { display: none; }
  .las-hero__media img { min-height: 330px; }
  .las-anchor-nav__inner { gap: 25px; }
  .las-specs { grid-template-columns: 1fr; }
  .las-spec { border-right: 0; }
  .las-benefit-grid { grid-template-columns: 1fr; }
  .las-benefit { min-height: 150px; }
  .las-benefit h3 { margin-top: 31px; }
  .las-section-heading--row { display: block; }
  .las-section-heading--row > p { margin-top: 16px; }
  .las-gallery .gallery,
  .las-related__grid { grid-template-columns: 1fr; }
  .las-gallery .gallery img { height: auto; aspect-ratio: 1; }
  .las-download { grid-template-columns: 66px 1fr auto; gap: 17px; padding: 18px; }
  .las-download__icon { width: 62px; height: 75px; }
  .las-download__copy h3 { font-size: 20px; }
  .las-site-footer__grid { grid-template-columns: 1fr; gap: 38px; }
  .las-site-footer__base { display: block; line-height: 1.8; }
}

@media (prefers-reduced-motion:reduce) {
  .las-site *,
  .las-site *::before,
  .las-site *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
