@charset "UTF-8";
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

html {
  scroll-behavior: smooth; }

body {
  position: relative;
  overflow-x: hidden;
  min-height: 100vh;
  min-height: -webkit-fill-available;
  -webkit-font-smoothing: antialiased; }

header,
footer,
main,
aside,
section,
article {
  position: relative;
  width: 100%; }

ol, ul {
  list-style: none; }

a,
a img {
  border: 0;
  outline: none;
  background: transparent;
  text-decoration: none;
  color: inherit; }
  a:active, a:hover,
  a img:active,
  a img:hover {
    outline: 0;
    text-decoration: none; }

.pos-full {
  position: absolute;
  inset: 0; }

.pos-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1; }

.f-auto {
  display: flex;
  align-items: center;
  justify-content: space-between; }

.f-central {
  display: flex;
  align-items: center;
  justify-content: center; }

.f-row {
  display: flex;
  flex-direction: column;
  gap: 18px; }

.item-top {
  align-items: flex-start; }

.item-middle {
  align-items: center; }

.item-center {
  justify-content: center; }

.item-left {
  justify-content: flex-start; }

.item-right {
  justify-content: flex-end; }

.item-bottom {
  align-items: flex-end; }

.item-around {
  justify-content: space-around;
  align-content: space-around; }

.item-between {
  justify-content: space-between; }

.item-column {
  flex-direction: column; }

.item-stretch {
  align-items: stretch; }

.item-grow {
  flex-grow: 1; }

.f-grid {
  display: grid; }
  .f-grid.row-afa {
    grid-template-rows: auto 1fr auto; }
  .f-grid.row-af {
    grid-template-rows: auto 1fr; }
  .f-grid.row-fa {
    grid-template-rows: 1fr auto; }
  .f-grid.row-faf {
    grid-template-rows: 1fr auto 1fr; }
  .f-grid.col-afa {
    grid-template-columns: auto 1fr auto; }
  .f-grid.col-faf {
    grid-template-columns: 1fr auto 1fr; }
  .f-grid.col-af {
    grid-template-columns: auto 1fr; }
  .f-grid.col-fa {
    grid-template-columns: 1fr auto; }
  .f-grid.col-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr)); }
  .f-grid.col-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .f-grid.col-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .f-grid.col-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .f-grid.col-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .f-grid.col-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .f-grid.col-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .f-grid.col-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .f-grid.col-9 {
    grid-template-columns: repeat(9, minmax(0, 1fr)); }
  @media screen and (max-width: 1200px) {
    .f-grid.md-col-1 {
      grid-template-columns: repeat(1, minmax(0, 1fr)); }
    .f-grid.md-col-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .f-grid.md-col-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .f-grid.md-col-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr)); } }
  @media screen and (max-width: 768px) {
    .f-grid.sm-col-1 {
      grid-template-columns: repeat(1, minmax(0, 1fr)); }
    .f-grid.sm-col-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .f-grid.sm-col-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .f-grid.sm-col-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr)); } }
  @media screen and (max-width: 660px) {
    .f-grid.xs-col-1 {
      grid-template-columns: repeat(1, minmax(0, 1fr)); }
    .f-grid.xs-col-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .f-grid.xs-col-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .f-grid.xs-col-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.owl {
  display: none;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  position: relative;
  z-index: 1; }
  .owl .owl-stage {
    position: relative;
    -ms-touch-action: pan-Y;
    touch-action: manipulation;
    -moz-backface-visibility: hidden; }
    .owl .owl-stage:after {
      content: ".";
      display: block;
      clear: both;
      visibility: hidden;
      line-height: 0;
      height: 0; }
  .owl .owl-stage-outer {
    position: relative;
    overflow: hidden;
    -webkit-transform: translate3d(0px, 0px, 0px); }
  .owl .owl-wrapper,
  .owl .owl-item {
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0); }
  .owl .owl-item {
    position: relative;
    min-height: 1px;
    float: left;
    -webkit-backface-visibility: hidden;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none; }
    .owl .owl-item img {
      display: block;
      width: 100%; }
  .owl .owl-nav.disabled,
  .owl .owl-dots.disabled {
    display: none; }
  .owl .owl-prev,
  .owl .owl-next,
  .owl .owl .owl-dot {
    cursor: pointer;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
  .owl button.owl-dot {
    background: none;
    color: inherit;
    border: none;
    padding: 0;
    font: inherit; }
  .owl.owl-loaded {
    display: block; }
  .owl.owl-loading {
    opacity: 0;
    display: block; }
  .owl.owl-hidden {
    opacity: 0; }
  .owl.owl-refresh .owl-item {
    visibility: hidden; }
  .owl.owl-drag .owl-item {
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
  .owl.owl-grab {
    cursor: move;
    cursor: grab; }
  .owl.owl-rtl {
    direction: rtl; }
  .owl.owl-rtl .owl-item {
    float: right; }
  .owl .animated {
    animation-duration: 1000ms;
    animation-fill-mode: both; }
  .owl .owl-animated-in {
    z-index: 0; }
  .owl .owl-animated-out {
    z-index: 1; }
  .owl .fadeOut {
    animation-name: fadeOut; }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }
.no-js .owl {
  display: block; }

.owl-height {
  transition: height 500ms ease-in-out; }

.owl .owl-item .owl-lazy {
  opacity: 0;
  transition: opacity 400ms ease; }
.owl .owl-item .owl-lazy[src^=""], .owl .owl .owl-item .owl-lazy:not([src]) {
  max-height: 0; }
.owl .owl-item img.owl-lazy {
  transform-style: preserve-3d; }

.owl .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000; }
.owl .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url("owl.video.play.png") no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  transition: transform 100ms ease; }
.owl .owl-video-play-icon:hover {
  transform: scale(1.3, 1.3); }
.owl .owl-video-playing .owl-video-tn,
.owl .owl-video-playing .owl-video-play-icon {
  display: none; }
.owl .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity 400ms ease; }
.owl .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%; }

.owl.owl-nearby .item img {
  height: 50vh;
  width: auto; }

label {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-family: "IBM Plex Mono", monospace;
  font-size: 13px;
  color: #7A6E60; }
  label small {
    color: #a07840; }

select,
textarea,
input:not([type="checkbox"]) {
  width: 100%; }

select {
  border: 1px solid #D8CFC0;
  color: #141210;
  border-radius: 0;
  background-color: transparent;
  padding: 8px 12px;
  height: 48px;
  font-family: "IBM Plex Sans", sans-serif;
  font-size: 1rem;
  outline: none;
  transition: all ease .3s; }

textarea {
  border: 1px solid #D8CFC0;
  color: #141210;
  border-radius: 0;
  background-color: transparent;
  padding: 8px 12px;
  height: 48px;
  font-family: "IBM Plex Sans", sans-serif;
  font-size: 1rem;
  outline: none;
  transition: all ease .3s;
  height: initial;
  min-height: 80px; }

input[type="text"],
input[type="password"],
input[type="email"],
input[type="search"],
input[type="url"],
input[type="number"],
input[type="date"] {
  border: 1px solid #D8CFC0;
  color: #141210;
  border-radius: 0;
  background-color: transparent;
  padding: 8px 12px;
  height: 48px;
  font-family: "IBM Plex Sans", sans-serif;
  font-size: 1rem;
  outline: none;
  transition: all ease .3s; }
  input[type="text"]:focus,
  input[type="password"]:focus,
  input[type="email"]:focus,
  input[type="search"]:focus,
  input[type="url"]:focus,
  input[type="number"]:focus,
  input[type="date"]:focus {
    outline: 0;
    border-color: #7A6E60;
    background-color: rgba(245, 240, 232, 0.5); }

textarea:focus,
select:focus {
  outline: 0;
  border-color: #7A6E60;
  background-color: rgba(245, 240, 232, 0.5); }

.checkbox input {
  appearance: none;
  -webkit-appearance: none;
  width: 32px;
  height: 32px;
  border: 1px solid #D8CFC0;
  position: relative;
  cursor: pointer; }
  .checkbox input:checked {
    background-color: #9b2a18; }
  .checkbox input:checked::after {
    content: '';
    position: absolute;
    left: 13px;
    top: 9px;
    width: 5px;
    height: 10px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg); }

input::placeholder {
  color: #D8CFC0; }

form .group {
  display: flex;
  flex-direction: column;
  gap: 8px; }
form a {
  text-decoration: underline; }

:focus:not(:focus-visible) {
  outline: none; }

.btn,
input[type="button"],
input[type="submit"],
input[type="reset"],
button {
  appearance: button;
  margin: 0;
  width: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  text-decoration: none;
  font-family: "IBM Plex Mono", monospace;
  cursor: pointer;
  border-width: 1px;
  border-style: solid;
  border-color: transparent;
  border-radius: 0;
  gap: 8px;
  padding: 0 18px;
  height: 46px;
  line-height: 46px;
  font-size: 0.83rem;
  text-transform: uppercase;
  letter-spacing: .18em;
  transition: all ease 0.5s; }
  .btn::-moz-focus-inner,
  input[type="button"]::-moz-focus-inner,
  input[type="submit"]::-moz-focus-inner,
  input[type="reset"]::-moz-focus-inner,
  button::-moz-focus-inner {
    border: 0;
    padding: 0; }
  .btn.disabled, .btn:disabled,
  input[type="button"].disabled,
  input[type="button"]:disabled,
  input[type="submit"].disabled,
  input[type="submit"]:disabled,
  input[type="reset"].disabled,
  input[type="reset"]:disabled,
  button.disabled,
  button:disabled {
    opacity: 0.65;
    cursor: not-allowed; }

.btn a,
button a,
.entry .btn {
  text-decoration: none !important; }
  .btn a:hover,
  button a:hover,
  .entry .btn:hover {
    text-decoration: none; }

.btn-text {
  font-family: "IBM Plex Mono", monospace;
  color: #9b2a18;
  font-size: 0.83rem;
  text-transform: uppercase;
  gap: .5rem;
  letter-spacing: .15em;
  display: inline-flex;
  align-items: center;
  transition: all ease 0.5s; }
  .btn-text:hover {
    gap: 1rem; }

.btn-p {
  background-color: #9b2a18;
  border: 1px solid #9b2a18;
  color: #ede7d9; }
  .btn-p:hover {
    background-color: #b53020;
    border: 1px solid #b53020;
    box-shadow: 0 0 18px 0 rgba(122, 110, 96, 0.3); }

.btn-g {
  background-color: transparent;
  border: 1px solid rgba(122, 110, 96, 0.3);
  color: #7A6E60; }
  .btn-g:hover {
    background-color: #f5f0e8;
    border: 1px solid rgba(122, 110, 96, 0.5);
    box-shadow: 0 0 18px 0 rgba(122, 110, 96, 0.1); }

.btn-p-dk {
  background-color: #f5f0e8;
  border: 1px solid #f5f0e8;
  color: #9b2a18; }
  .btn-p-dk:hover {
    color: #9b2a18;
    box-shadow: 0 0 24px rgba(0, 0, 0, 0.3); }

.btn-g-dk {
  background-color: transparent;
  border: 1px solid rgba(245, 240, 232, 0.3);
  color: #f5f0e8; }
  .btn-g-dk:hover {
    box-shadow: 0 0 24px rgba(0, 0, 0, 0.3); }

.btn-g-cta {
  background-color: transparent;
  border: 1px solid #9b2a18;
  color: #9b2a18; }
  .btn-g-cta:hover {
    background-color: #9b2a18;
    color: #ede7d9;
    border: 1px solid #9b2a18;
    box-shadow: 0 0 18px 0 rgba(122, 110, 96, 0.3); }

em {
  font-style: italic; }

b, strong {
  font-weight: 600; }

mark {
  background-color: transparent;
  color: #9b2a18; }

img {
  display: block; }

a,
a:hover {
  color: inherit;
  text-decoration: none; }

hr, .hr {
  height: 0;
  display: block;
  clear: both;
  border: none;
  margin: 0;
  position: relative; }
  hr.line, .hr.line {
    min-height: 1px; }
    hr.line:after, .hr.line:after {
      content: '';
      left: 0;
      border-bottom: 1px solid #000;
      width: 100%;
      position: absolute;
      top: 50%;
      margin-top: -0.5px; }

.hr-1 {
  height: 6px; }

.hr-2 {
  height: 12px; }

.hr-3 {
  height: 24px; }

.hr-4 {
  height: 48px; }

.gap-1 {
  gap: 6px; }

.gap-2 {
  gap: 12px; }

.gap-3 {
  gap: 18px; }

.gap-4 {
  gap: 24px; }

.gap-0 {
  gap: 0; }

.r-1-1 {
  aspect-ratio: 1/1; }

.r-16-9 {
  aspect-ratio: 16/9; }

.r-9-16 {
  aspect-ratio: 9/16; }

.r-4-3 {
  aspect-ratio: 4/3; }

.r-3-4 {
  aspect-ratio: 3/4; }

.media-resize,
.img-resize {
  width: 100%;
  display: block; }

.text-left {
  text-align: left; }

.text-center {
  text-align: center; }

.text-right {
  text-align: right; }

.margin-center,
.alignnone {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.uppercase {
  text-transform: uppercase; }

.fit-cover img,
img.cover {
  width: 100%;
  height: 100%;
  object-fit: cover; }

.fit-contain img,
img.contain {
  width: 100%;
  height: 100%;
  object-fit: contain; }

* {
  scrollbar-width: thin;
  scrollbar-color: #9b2a18 #ede7d9; }

*::-webkit-scrollbar {
  width: 4px;
  height: 4px; }

*::-webkit-scrollbar-track {
  background: #ede7d9; }

*::-webkit-scrollbar-thumb {
  background-color: #9b2a18;
  border-radius: 0px; }

/*
body {
  color: $key-body;
  background-color: $key-body-bg;
}




mark           {background-color: transparent;}
b, strong      {font-weight: 600;} 

.hover:hover   {opacity: 0.7;cursor: pointer;}

*/
.lightbox-overlay {
  position: fixed;
  inset: 0;
  display: none;
  z-index: 9999;
  color: #FFF;
  font-size: 16px; }
  .lightbox-overlay i {
    color: #FFF;
    font-style: normal;
    font-size: 24px;
    line-height: 24px; }
  .lightbox-overlay .lb-backdrop {
    position: absolute;
    inset: 0;
    background: black; }
  .lightbox-overlay .lb-wrap {
    position: relative;
    height: 100%;
    display: grid;
    grid-template-rows: auto 1fr auto; }
  .lightbox-overlay .lb-head {
    padding: 8px;
    text-align: right; }
  .lightbox-overlay .lb-main {
    position: relative;
    display: grid;
    place-items: center; }
  .lightbox-overlay .lb-foot {
    text-align: center;
    padding: 18px 8px; }
  .lightbox-overlay .lb-image {
    width: 92vw;
    height: 76vh;
    display: flex;
    justify-content: center; }
    .lightbox-overlay .lb-image img {
      object-fit: contain;
      width: 100%;
      height: 100%; }
  .lightbox-overlay .lb-prev,
  .lightbox-overlay .lb-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%); }
  .lightbox-overlay .lb-prev {
    left: 18px; }
    @media screen and (max-width: 576px) {
      .lightbox-overlay .lb-prev {
        left: 4px; } }
  .lightbox-overlay .lb-next {
    right: 18px; }
    @media screen and (max-width: 576px) {
      .lightbox-overlay .lb-next {
        right: 4px; } }
  .lightbox-overlay .lb-title {
    font-weight: bold; }
  .lightbox-overlay .lb-desc {
    font-weight: normal; }
  .lightbox-overlay .lb-sr {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0); }
  .lightbox-overlay button {
    background-color: transparent;
    border: 0;
    font-style: normal;
    cursor: pointer;
    width: 42px;
    height: 42px;
    display: inline-flex;
    justify-content: center;
    align-items: center; }
    .lightbox-overlay button:hover, .lightbox-overlay button:focus {
      border: 1px solid #FFF; }

.lightbox-overlay.is-open {
  display: block; }

@font-face {
  font-family: 'lg';
  src: url("../fonts/lg/lg.woff2?io9a6k") format("woff2"), url("../fonts/lg/lg.ttf?io9a6k") format("truetype"), url("../fonts/lg/lg.woff?io9a6k") format("woff"), url("../fonts/lg/lg.svg?io9a6k#lg") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block; }
.lg-icon {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'lg' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.lg-container {
  font-family: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; }

.lg-next,
.lg-prev {
  background-color: rgba(255, 255, 255, 0.45);
  border-radius: 2px;
  color: #000;
  cursor: pointer;
  display: block;
  font-size: 22px;
  margin-top: -10px;
  padding: 8px 10px 9px;
  position: absolute;
  top: 50%;
  z-index: 1080;
  outline: none;
  border: none; }

.lg-next.disabled,
.lg-prev.disabled {
  opacity: 0 !important;
  cursor: default; }

.lg-next:hover:not(.disabled),
.lg-prev:hover:not(.disabled) {
  color: #fff; }

.lg-single-item .lg-next, .lg-single-item
.lg-prev {
  display: none; }

.lg-next {
  right: 20px; }

.lg-next:before {
  content: '\e095'; }

.lg-prev {
  left: 20px; }

.lg-prev:after {
  content: '\e094'; }

@-webkit-keyframes lg-right-end {
  0% {
    left: 0; }
  50% {
    left: -30px; }
  100% {
    left: 0; } }
@-moz-keyframes lg-right-end {
  0% {
    left: 0; }
  50% {
    left: -30px; }
  100% {
    left: 0; } }
@-ms-keyframes lg-right-end {
  0% {
    left: 0; }
  50% {
    left: -30px; }
  100% {
    left: 0; } }
@keyframes lg-right-end {
  0% {
    left: 0; }
  50% {
    left: -30px; }
  100% {
    left: 0; } }
@-webkit-keyframes lg-left-end {
  0% {
    left: 0; }
  50% {
    left: 30px; }
  100% {
    left: 0; } }
@-moz-keyframes lg-left-end {
  0% {
    left: 0; }
  50% {
    left: 30px; }
  100% {
    left: 0; } }
@-ms-keyframes lg-left-end {
  0% {
    left: 0; }
  50% {
    left: 30px; }
  100% {
    left: 0; } }
@keyframes lg-left-end {
  0% {
    left: 0; }
  50% {
    left: 30px; }
  100% {
    left: 0; } }
.lg-outer.lg-right-end .lg-object {
  -webkit-animation: lg-right-end 0.3s;
  -o-animation: lg-right-end 0.3s;
  animation: lg-right-end 0.3s;
  position: relative; }

.lg-outer.lg-left-end .lg-object {
  -webkit-animation: lg-left-end 0.3s;
  -o-animation: lg-left-end 0.3s;
  animation: lg-left-end 0.3s;
  position: relative; }

.lg-toolbar {
  z-index: 1082;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%; }

.lg-media-overlap .lg-toolbar {
  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.4)); }

.lg-toolbar .lg-icon {
  color: #000;
  cursor: pointer;
  float: right;
  font-size: 24px;
  height: 47px;
  line-height: 27px;
  padding: 10px 0;
  text-align: center;
  width: 50px;
  text-decoration: none !important;
  outline: medium none;
  will-change: color;
  -webkit-transition: color 0.2s linear;
  -o-transition: color 0.2s linear;
  transition: color 0.2s linear;
  background: none;
  border: none;
  box-shadow: none; }

.lg-toolbar .lg-icon.lg-icon-18 {
  font-size: 18px; }

.lg-toolbar .lg-icon:hover {
  color: #000;
  opacity: 0.8; }

.lg-toolbar .lg-close:after {
  content: '\e070'; }

.lg-toolbar .lg-maximize {
  font-size: 22px; }

.lg-toolbar .lg-maximize:after {
  content: '\e90a'; }

.lg-toolbar .lg-download:after {
  content: '\e0f2'; }

.lg-sub-html {
  color: #000;
  font-size: 16px;
  padding: 10px 40px;
  text-align: center;
  z-index: 1080;
  opacity: 0;
  -webkit-transition: opacity 0.2s ease-out 0s;
  -o-transition: opacity 0.2s ease-out 0s;
  transition: opacity 0.2s ease-out 0s; }

.lg-sub-html h4 {
  margin: 0;
  font-size: 13px;
  font-weight: bold; }

.lg-sub-html p {
  font-size: 12px;
  margin: 5px 0 0; }

.lg-sub-html a {
  color: inherit; }

.lg-sub-html a:hover {
  text-decoration: underline; }

.lg-media-overlap .lg-sub-html {
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.6)); }

.lg-item .lg-sub-html {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0; }

.lg-error-msg {
  font-size: 14px;
  color: #999; }

.lg-counter {
  color: #999;
  display: inline-block;
  font-size: 16px;
  padding-left: 20px;
  padding-top: 12px;
  height: 47px;
  vertical-align: middle; }

.lg-closing .lg-toolbar,
.lg-closing .lg-prev,
.lg-closing .lg-next,
.lg-closing .lg-sub-html {
  opacity: 0;
  -webkit-transition: -webkit-transform 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, color 0.08 linear;
  -moz-transition: -moz-transform 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, color 0.08 linear;
  -o-transition: -o-transform 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, color 0.08 linear;
  transition: transform 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, color 0.08 linear; }

body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable) .lg-img-wrap,
body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable) .lg-video-cont {
  opacity: 0;
  -moz-transform: scale3d(0.5, 0.5, 0.5);
  -o-transform: scale3d(0.5, 0.5, 0.5);
  -ms-transform: scale3d(0.5, 0.5, 0.5);
  -webkit-transform: scale3d(0.5, 0.5, 0.5);
  transform: scale3d(0.5, 0.5, 0.5);
  will-change: transform, opacity;
  -webkit-transition: -webkit-transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important;
  -moz-transition: -moz-transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important;
  -o-transition: -o-transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important;
  transition: transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important; }

body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable).lg-complete .lg-img-wrap,
body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable).lg-complete .lg-video-cont {
  opacity: 1;
  -moz-transform: scale3d(1, 1, 1);
  -o-transform: scale3d(1, 1, 1);
  -ms-transform: scale3d(1, 1, 1);
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1); }

.lg-group:after {
  content: '';
  display: table;
  clear: both; }

.lg-container {
  display: none;
  outline: none; }

.lg-container.lg-show {
  display: block; }

.lg-on {
  scroll-behavior: unset; }

.lg-toolbar,
.lg-prev,
.lg-next,
.lg-pager-outer,
.lg-hide-sub-html .lg-sub-html {
  opacity: 0;
  will-change: transform, opacity;
  -webkit-transition: -webkit-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.25s cubic-bezier(0, 0, 0.25, 1) 0s;
  -moz-transition: -moz-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.25s cubic-bezier(0, 0, 0.25, 1) 0s;
  -o-transition: -o-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.25s cubic-bezier(0, 0, 0.25, 1) 0s;
  transition: transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.25s cubic-bezier(0, 0, 0.25, 1) 0s; }

.lg-show-in .lg-toolbar,
.lg-show-in .lg-prev,
.lg-show-in .lg-next,
.lg-show-in .lg-pager-outer {
  opacity: 1; }

.lg-show-in.lg-hide-sub-html .lg-sub-html {
  opacity: 1; }

.lg-show-in .lg-hide-items .lg-prev {
  opacity: 0;
  -webkit-transform: translate3d(-10px, 0, 0);
  transform: translate3d(-10px, 0, 0); }

.lg-show-in .lg-hide-items .lg-next {
  opacity: 0;
  -webkit-transform: translate3d(10px, 0, 0);
  transform: translate3d(10px, 0, 0); }

.lg-show-in .lg-hide-items .lg-toolbar {
  opacity: 0;
  -webkit-transform: translate3d(0, -10px, 0);
  transform: translate3d(0, -10px, 0); }

.lg-show-in .lg-hide-items.lg-hide-sub-html .lg-sub-html {
  opacity: 0;
  -webkit-transform: translate3d(0, 20px, 0);
  transform: translate3d(0, 20px, 0); }

.lg-outer {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  text-align: left;
  opacity: 0.001;
  outline: none;
  will-change: auto;
  overflow: hidden;
  -webkit-transition: opacity 0.15s ease 0s;
  -o-transition: opacity 0.15s ease 0s;
  transition: opacity 0.15s ease 0s; }

.lg-outer * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.lg-outer.lg-zoom-from-image {
  opacity: 1; }

.lg-outer.lg-visible {
  opacity: 1; }

.lg-outer.lg-css3 .lg-item:not(.lg-start-end-progress).lg-prev-slide, .lg-outer.lg-css3 .lg-item:not(.lg-start-end-progress).lg-next-slide, .lg-outer.lg-css3 .lg-item:not(.lg-start-end-progress).lg-current {
  -webkit-transition-duration: inherit !important;
  transition-duration: inherit !important;
  -webkit-transition-timing-function: inherit !important;
  transition-timing-function: inherit !important; }

.lg-outer.lg-css3.lg-dragging .lg-item.lg-prev-slide, .lg-outer.lg-css3.lg-dragging .lg-item.lg-next-slide, .lg-outer.lg-css3.lg-dragging .lg-item.lg-current {
  -webkit-transition-duration: 0s !important;
  transition-duration: 0s !important;
  opacity: 1; }

.lg-outer.lg-grab img.lg-object {
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: -o-grab;
  cursor: -ms-grab;
  cursor: grab; }

.lg-outer.lg-grabbing img.lg-object {
  cursor: move;
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: -o-grabbing;
  cursor: -ms-grabbing;
  cursor: grabbing; }

.lg-outer .lg-content {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0; }

.lg-outer .lg-inner {
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  -webkit-transition: opacity 0s;
  -o-transition: opacity 0s;
  transition: opacity 0s;
  white-space: nowrap; }

.lg-outer .lg-item {
  display: none !important; }

.lg-outer .lg-item:not(.lg-start-end-progress) {
  background: url("../images/loading.gif") no-repeat scroll center center transparent; }

.lg-outer.lg-css3 .lg-prev-slide,
.lg-outer.lg-css3 .lg-current,
.lg-outer.lg-css3 .lg-next-slide {
  display: inline-block !important; }

.lg-outer.lg-css .lg-current {
  display: inline-block !important; }

.lg-outer .lg-item,
.lg-outer .lg-img-wrap {
  display: inline-block;
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%; }

.lg-outer .lg-item:before,
.lg-outer .lg-img-wrap:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle; }

.lg-outer .lg-img-wrap {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  white-space: nowrap;
  font-size: 0;
  padding-bottom: 48px; }

.lg-outer .lg-item.lg-complete {
  background-image: none; }

.lg-outer .lg-item.lg-current {
  z-index: 1060; }

.lg-outer .lg-object {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  position: relative; }

.lg-outer .lg-empty-html.lg-sub-html,
.lg-outer .lg-empty-html .lg-sub-html {
  display: none; }

.lg-outer.lg-hide-download .lg-download {
  opacity: 0.75;
  pointer-events: none; }

.lg-outer .lg-first-slide .lg-dummy-img {
  position: absolute;
  top: 50%;
  left: 50%; }

.lg-outer.lg-components-open:not(.lg-zoomed) .lg-components {
  -webkit-transform: translate3d(0, 0%, 0);
  transform: translate3d(0, 0%, 0);
  opacity: 1; }

.lg-outer.lg-components-open:not(.lg-zoomed) .lg-sub-html {
  opacity: 1;
  transition: opacity 0.2s ease-out 0.15s; }

.lg-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  background-color: #fff;
  opacity: 0;
  will-change: auto;
  -webkit-transition: opacity 333ms ease-in 0s;
  -o-transition: opacity 333ms ease-in 0s;
  transition: opacity 333ms ease-in 0s; }

.lg-backdrop.in {
  opacity: 1; }

.lg-css3.lg-no-trans .lg-prev-slide,
.lg-css3.lg-no-trans .lg-next-slide,
.lg-css3.lg-no-trans .lg-current {
  -webkit-transition: none 0s ease 0s !important;
  -moz-transition: none 0s ease 0s !important;
  -o-transition: none 0s ease 0s !important;
  transition: none 0s ease 0s !important; }

.lg-css3.lg-use-css3 .lg-item {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden; }

.lg-css3.lg-fade .lg-item {
  opacity: 0; }

.lg-css3.lg-fade .lg-item.lg-current {
  opacity: 1; }

.lg-css3.lg-fade .lg-item.lg-prev-slide, .lg-css3.lg-fade .lg-item.lg-next-slide, .lg-css3.lg-fade .lg-item.lg-current {
  -webkit-transition: opacity 0.1s ease 0s;
  -moz-transition: opacity 0.1s ease 0s;
  -o-transition: opacity 0.1s ease 0s;
  transition: opacity 0.1s ease 0s; }

.lg-css3.lg-use-css3 .lg-item.lg-start-progress {
  -webkit-transition: -webkit-transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s;
  -moz-transition: -moz-transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s;
  -o-transition: -o-transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s;
  transition: transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s; }

.lg-css3.lg-use-css3 .lg-item.lg-start-end-progress {
  -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s;
  -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s;
  -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s;
  transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s; }

.lg-css3.lg-slide.lg-use-css3 .lg-item {
  opacity: 0; }

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide {
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0); }

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide {
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0); }

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  opacity: 1; }

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide, .lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide, .lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current {
  -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
  -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
  -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
  transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; }

.lg-container {
  display: none; }

.lg-container.lg-show {
  display: block; }

.lg-container.lg-dragging-vertical .lg-backdrop {
  -webkit-transition-duration: 0s !important;
  transition-duration: 0s !important; }

.lg-container.lg-dragging-vertical .lg-css3 .lg-item.lg-current {
  -webkit-transition-duration: 0s !important;
  transition-duration: 0s !important;
  opacity: 1; }

.lg-inline .lg-backdrop,
.lg-inline .lg-outer {
  position: absolute; }

.lg-inline .lg-backdrop {
  z-index: 1; }

.lg-inline .lg-outer {
  z-index: 2; }

.lg-inline .lg-maximize:after {
  content: '\e909'; }

.lg-components {
  -webkit-transform: translate3d(0, 100%, 0);
  transform: translate3d(0, 100%, 0);
  will-change: transform;
  -webkit-transition: -webkit-transform 0.35s ease-out 0s;
  -moz-transition: -moz-transform 0.35s ease-out 0s;
  -o-transition: -o-transform 0.35s ease-out 0s;
  transition: transform 0.35s ease-out 0s;
  z-index: 1080;
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0; }

:root {
  --sp-x: 42px;
  --sp-y: 72px; }

@media (max-width: 576px) {
  :root {
    --sp-x: 18px;
    --sp-y: 42px; } }
.container {
  max-width: 1800px;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--sp-x);
  padding-right: var(--sp-x);
  width: 100vw; }
  .container.no-limit {
    max-width: 100vw;
    padding: 0; }

section {
  padding-top: var(--sp-y);
  padding-bottom: var(--sp-y);
  border-bottom: 1px solid rgba(216, 207, 192, 0.5); }
  section.no-space {
    padding-top: 0;
    padding-bottom: 0; }
  section.no-border {
    border-bottom: 0; }
  section .main-grid {
    gap: var(--sp-y); }
  section .sticky {
    position: sticky;
    top: calc(80px + 2rem ); }

figure.hover {
  background-color: #9b2a18;
  overflow: hidden;
  cursor: pointer; }
  figure.hover img {
    transition: all ease 1s; }
    figure.hover img:hover, figure.hover img:focus {
      mix-blend-mode: screen;
      opacity: 0.5;
      transform: scale(1.1); }

.sticky-over {
  position: relative;
  z-index: 1; }

.eyebrow {
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.83rem;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: #9b2a18;
  display: flex;
  align-items: center;
  gap: .8rem; }
  .eyebrow::before {
    content: '';
    width: 1.5rem;
    height: 1px;
    background: #9b2a18;
    flex-shrink: 0; }

.bar {
  width: 3rem;
  height: 1px;
  background: #9b2a18;
  margin: 8px 0; }

.num {
  font-family: "Playfair Display", serif;
  font-size: 2.5rem;
  font-weight: 300;
  line-height: 1;
  color: #a07840;
  opacity: 0.4;
  margin-top: -8px; }

.num-lg {
  font-family: "Playfair Display", serif;
  font-size: clamp(2rem, 3.5vw, 3rem);
  color: #141210;
  font-weight: 600;
  line-height: 1;
  margin-top: -18px; }

body {
  background: #f5f0e8;
  color: #141210;
  font-family: "IBM Plex Sans", sans-serif;
  font-weight: 300;
  line-height: 1.6;
  font-size: 18px; }

button {
  font-family: inherit;
  cursor: pointer; }

time,
h5,
.cap {
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.83rem;
  text-transform: uppercase;
  font-weight: 300;
  color: #a07840; }

quote {
  display: block;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-size: 1.35rem;
  font-weight: 400;
  line-height: 1.65;
  border-left: 2px solid #9b2a18;
  padding-left: 1.5rem; }

.quote-lg quote {
  font-size: 24px; }

quote.alt {
  padding-left: 0;
  border: 0; }
  quote.alt:before {
    content: '';
    background-image: url("../images/quote-light.svg");
    height: 42px;
    display: block;
    width: 42px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center; }

.pale {
  opacity: 0.6; }

.focus {
  padding: 1.8rem 2rem;
  color: #f5f0e8; }
  .focus h4 {
    font-size: 1.35rem;
    font-family: "Playfair Display", serif;
    font-weight: 400; }
  .focus p {
    color: #f5f0e8; }

.focus.bg-dark em {
  color: #f5f0e8; }

.line {
  height: 1px;
  background: #D8CFC0;
  margin: 1.5rem 0; }

.from-to {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 42px;
  align-items: center; }
  .from-to i {
    opacity: 0.5; }
  @media screen and (max-width: 660px) {
    .from-to {
      display: flex;
      flex-direction: column;
      text-align: center;
      justify-content: center;
      gap: 12px; }
      .from-to i {
        transform: rotate(90deg); } }
  .from-to h4 em {
    color: #f5f0e8; }

.bef-aft {
  display: grid;
  grid-template-columns: 1fr 1fr; }
  .bef-aft > div {
    padding: 1.2rem 1.4rem;
    display: flex;
    flex-direction: column;
    gap: 1rem; }
  .bef-aft > div:first-child {
    background-color: rgba(216, 207, 192, 0.7); }
  .bef-aft > div:last-child {
    background-color: #ede7d9; }

.step-list {
  background: #ede7d9;
  padding: 1.8rem 2rem; }
  .step-list h5,
  .step-list .cap {
    color: #a07840; }
  .step-list small {
    flex-grow: 1;
    text-align: right; }
  .step-list > div {
    display: flex;
    gap: 1.2rem;
    padding: .8rem 0;
    border-bottom: 1px solid #D8CFC0;
    align-items: baseline; }
    .step-list > div:last-child {
      border-bottom: none !important; }

.bg-dark.step-list > div {
  border-bottom: 1px solid rgba(216, 207, 192, 0.3); }

/*
.context-list {
  background: $key-light;
  border:1px solid $key-bone;
  padding: 1.8rem 2rem 1rem;
  & > h5 {
    margin-bottom: 12px;
  }
  h5 {
    color: $key-gold;
  }
  & > div {
    display: flex;
    gap: 1.2rem;
    padding: 6px 0;
    border-bottom: 1px solid $key-linen;
    align-items: center; 
    &:last-child {
      border-bottom: none!important
    }
  }
}
.results-list {
  padding: 1.8rem 2rem 1rem;
  & > h5 {
    margin-bottom: 12px;
  }
  h5 {
    color: $key-gold;
  }
  & > div {
    display: flex;
    gap: 1.2rem;
    padding: 6px 0;
    border-bottom: 1px solid rgba($key-linen,0.2);
    align-items: center; 
    &:last-child {
      border-bottom: none!important
    }
  }
}
*/
.delivery-list > h5 {
  margin-bottom: 12px; }
.delivery-list h5 {
  color: #a07840; }
.delivery-list > div {
  font-family: "IBM Plex Mono", monospace;
  font-size: 14px;
  display: flex;
  gap: 1.2rem;
  padding: 6px 0;
  border-bottom: 1px solid #D8CFC0;
  align-items: center; }
  .delivery-list > div:last-child {
    border-bottom: none !important; }

.timeline {
  position: relative;
  padding-left: 36px; }
  .timeline::before {
    content: '';
    position: absolute;
    left: 0;
    top: .4rem;
    bottom: 0;
    width: 1px;
    background: #D8CFC0; }
  .timeline .tl-item {
    position: relative;
    margin-bottom: 2.5rem;
    display: flex;
    flex-direction: column;
    gap: 12px; }
    .timeline .tl-item::before {
      content: '';
      position: absolute;
      left: -39px;
      top: 8px;
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: #f5f0e8;
      border: 1.5px solid #a07840;
      box-shadow: 0 0 0 3px #f5f0e8; }
  .timeline time {
    color: #a07840; }

.tags {
  display: flex;
  flex-wrap: wrap;
  gap: .3rem; }
  .tags span {
    font-family: "IBM Plex Mono", monospace;
    font-size: 0.83rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    padding: .18rem .55rem;
    border: 1px solid rgba(160, 120, 64, 0.5);
    color: #a07840; }

.notes {
  margin-top: 1.2rem;
  padding-top: 1.2rem;
  font-family: "IBM Plex Mono", monospace;
  font-size: .65rem;
  text-transform: uppercase;
  letter-spacing: .15em;
  line-height: 1.8;
  position: relative;
  z-index: 1; }

.bg-dark .notes {
  border-top: 1px solid rgba(245, 240, 232, 0.1);
  color: #fff; }

.header {
  z-index: 10;
  left: 0;
  background: rgba(245, 240, 232, 0.9);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  transition: background .3s;
  border-bottom: 1px solid rgba(216, 207, 192, 0.5); }
  .header .container {
    height: 80px; }
  .header .site-logo {
    width: 200px; }

.header .wp-nav ul {
  display: flex;
  gap: clamp(0.9rem, 2vw, 2.2rem);
  align-items: center; }
.header .wp-nav a {
  font-family: "IBM Plex Sans", sans-serif;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.15rem;
  color: #7A6E60;
  transition: color .2s;
  position: relative; }
.header .wp-nav a::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  right: 0;
  height: 1px;
  background: #9b2a18;
  transform: scaleX(0);
  transition: transform 0.25s; }
.header .wp-nav a:hover,
.header .wp-nav a.active {
  color: #9b2a18; }
.header .wp-nav a:hover::after,
.header .wp-nav a.active::after {
  transform: scaleX(1); }
@media (max-width: 1024px) {
  .header .wp-nav {
    display: none; } }

@media (max-width: 1024px) {
  .header .btn-g-cta {
    display: none; } }

/*
.nav-links {
    display: flex;
    gap: clamp(.9rem, 2vw, 2.2rem);
    align-items: center;
    @media (max-width: 1300px) {
      display: none;
    }
}

.nav-links a:not(.btn) {
    font-family: $font-sans;
    font-size: 0.92rem;
    text-transform: uppercase;
    letter-spacing: .1em;
    transition: color .2s;
    position: relative
}

.nav-links a:not(.btn)::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    right: 0;
    height: 1px;
    background: $key-accent;
    transform: scaleX(0);
    transition: transform .25s
}

.nav-links a:not(.btn):hover,
.nav-links a:not(.btn).active {
    color: $key-body
}

.nav-links a:not(.btn):hover::after,
.nav-links a:not(.btn).active::after {
    transform: scaleX(1)
}
*/
.navicon {
  display: none;
  flex-direction: column;
  gap: 5px;
  border: none;
  padding: 4px; }
  @media (max-width: 1024px) {
    .navicon {
      display: flex; } }
  .navicon span {
    display: block;
    width: 22px;
    height: 1px;
    background: #141210;
    transition: all 0.3s; }

.sp-menu {
  position: fixed;
  inset: 0;
  background: #f5f0e8;
  z-index: 499;
  padding: 24px;
  transform: translateX(100%);
  transition: transform 0.45s cubic-bezier(0.77, 0, 0.175, 1);
  pointer-events: none; }
  .sp-menu .foot {
    padding-top: 2rem;
    opacity: 1; }
  .sp-menu .site-logo {
    width: 60px; }
  .sp-menu .sp-close {
    margin-right: -24px; }
    .sp-menu .sp-close i {
      font-style: normal;
      font-size: 24px; }
  .sp-menu .wp-nav ul {
    margin-top: 3em;
    flex-direction: column;
    width: 100%; }
    .sp-menu .wp-nav ul li {
      border-bottom: 1px solid #D8CFC0;
      overflow: hidden; }
    .sp-menu .wp-nav ul a {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 1.2rem 0;
      font-family: "IBM Plex Sans", sans-serif;
      font-size: 42px;
      font-weight: 300;
      color: #7A6E60;
      opacity: 1; }
      .sp-menu .wp-nav ul a:after {
        content: "→";
        font-size: 22px; }
      .sp-menu .wp-nav ul a:hover {
        color: #9b2a18; }

.sp-menu.active {
  transform: translateX(0);
  pointer-events: all;
  overflow: auto; }

body.sp-menu-active {
  position: fixed; }

html {
  scrollbar-gutter: stable; }

body.is-locked {
  position: fixed;
  top: var(--scroll-lock-top, 0);
  left: 0;
  width: 100%;
  overflow: hidden; }

#tovl {
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  visibility: hidden; }
  #tovl .tb {
    height: 100%;
    transform: scaleY(0);
    transform-origin: bottom;
    background: #ede7d9; }
  #tovl.is-active {
    visibility: visible; }
    #tovl.is-active .tb {
      transform: scaleY(1);
      transform-origin: bottom;
      transition: transform .5s ease; }
      #tovl.is-active .tb:nth-child(1) {
        transition-delay: 0s; }
      #tovl.is-active .tb:nth-child(2) {
        transition-delay: .04s; }
      #tovl.is-active .tb:nth-child(3) {
        transition-delay: .08s; }
      #tovl.is-active .tb:nth-child(4) {
        transition-delay: .12s; }
      #tovl.is-active .tb:nth-child(5) {
        transition-delay: .16s; }
  #tovl.is-leaving {
    visibility: visible; }
    #tovl.is-leaving .tb {
      transform: scaleY(0);
      transform-origin: bottom;
      transition: transform .5s ease; }
      #tovl.is-leaving .tb:nth-child(1) {
        transition-delay: .16s; }
      #tovl.is-leaving .tb:nth-child(2) {
        transition-delay: .12s; }
      #tovl.is-leaving .tb:nth-child(3) {
        transition-delay: .08s; }
      #tovl.is-leaving .tb:nth-child(4) {
        transition-delay: .04s; }
      #tovl.is-leaving .tb:nth-child(5) {
        transition-delay: 0s; }

#pbar {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  width: 100%;
  height: 4px;
  background: #9b2a18;
  pointer-events: none;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .5s ease; }

#tovl.is-active + #pbar {
  transform: scaleX(1);
  transform-origin: left center; }

#tovl.is-leaving + #pbar {
  transform: scaleX(0);
  transform-origin: right center; }

.hero-stats {
  color: #7A6E60; }
  .hero-stats .container {
    background: #f5f0e8; }
  .hero-stats .container > div {
    border-left: 1px solid #D8CFC0;
    padding: 60px 42px; }
    .hero-stats .container > div:last-child {
      border-right: 1px solid #D8CFC0; }
  @media screen and (max-width: 660px) {
    .hero-stats .container {
      padding: 0; }
      .hero-stats .container > div {
        padding-left: 42px;
        padding-right: 42px;
        border: 0;
        border-bottom: 1px solid #D8CFC0; }
        .hero-stats .container > div:last-child {
          border-right: 0; } }

.stats-col {
  background-color: #D8CFC0;
  gap: 1px;
  border-top: 1px solid #D8CFC0; }
  .stats-col > div {
    background-color: #f5f0e8;
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    justify-content: center;
    padding: 18px 24px;
    text-align: center;
    gap: 18px; }
    @media screen and (max-width: 660px) {
      .stats-col > div {
        align-items: start;
        text-align: left; } }

.grid-cards {
  gap: 1px;
  background: #D8CFC0; }
  .grid-cards .item {
    background: #fdfaf5;
    padding: 36px;
    transition: background .2s;
    position: relative; }
  .grid-cards .num {
    font-size: 24px; }
  .grid-cards h3 {
    padding-bottom: 12px; }
  .grid-cards .foot {
    padding-top: 18px;
    border-top: 1px solid #D8CFC0; }
  .grid-cards.hover .item {
    background: #ede7d9; }
    .grid-cards.hover .item:hover {
      cursor: pointer;
      background: #fdfaf5; }
    .grid-cards.hover .item:after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 2px;
      background: #9b2a18;
      transform: scaleX(0);
      transform-origin: left;
      transition: transform .3s; }
    .grid-cards.hover .item:hover::after {
      transform: scaleX(1); }

.grid-cards.hp-aree {
  grid-template-columns: repeat(3, 1fr); }
  .grid-cards.hp-aree .num {
    font-size: 42px; }
  @media (min-width: 768px) {
    .grid-cards.hp-aree .item:last-child {
      grid-column: span 3;
      display: grid;
      grid-template-columns: auto 1fr auto;
      gap: 2rem; }
      .grid-cards.hp-aree .item:last-child .foot {
        padding-top: 0;
        padding-left: 1rem;
        border: 0;
        border-left: 1px solid #D8CFC0;
        width: 300px; } }
  @media screen and (max-width: 768px) {
    .grid-cards.hp-aree {
      display: flex;
      flex-direction: column;
      margin-left: -2rem;
      margin-right: -2rem; } }

.owl-casi .item {
  position: relative;
  height: 50vh;
  aspect-ratio: 4/3;
  width: auto;
  background: #9b2a18;
  overflow: hidden;
  cursor: pointer; }
  .owl-casi .item .caption {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    padding: 24px;
    display: flex;
    align-items: end;
    justify-content: start;
    background: rgba(20, 18, 16, 0.3); }
  .owl-casi .item img {
    position: absolute;
    inset: 0;
    z-index: 1;
    transition: all ease 1s;
    object-fit: cover;
    width: 100% !important;
    height: 100% !important; }
  .owl-casi .item h3 {
    color: #fff !important; }
    .owl-casi .item h3 em {
      color: #fff !important; }
  .owl-casi .item span {
    background: #141210;
    padding: 4px 12px;
    font-size: 14px;
    color: #ede7d9;
    width: fit-content; }
.owl-casi .item:hover img {
  mix-blend-mode: screen;
  opacity: 0.4;
  transform: scale(1.1); }

.loop-casi .item-wrap {
  display: block;
  border-bottom: 1px solid #D8CFC0; }
  .loop-casi .item-wrap:last-child {
    border-bottom: 1px solid #D8CFC0; }
.loop-casi .item {
  display: grid;
  grid-template-columns: 1fr 0.4fr;
  gap: 4rem;
  align-items: center;
  padding-top: 42px;
  padding-bottom: 42px;
  transition: all ease 0.5s; }
  .loop-casi .item .num {
    padding-right: 60px;
    transition: all ease 0.5s; }
  .loop-casi .item .btn-text {
    opacity: 0;
    transform: translateY(28px);
    transition: all ease 0.5s; }
  .loop-casi .item .tags {
    opacity: 0;
    transform: translateY(18px);
    transition: all ease 0.5s; }
  .loop-casi .item figure {
    aspect-ratio: 3/2;
    width: 100%; }
  .loop-casi .item img {
    transition: all ease 0.5s; }
.loop-casi .item-wrap:hover {
  background-color: rgba(216, 207, 192, 0.2); }
  .loop-casi .item-wrap:hover img {
    transform: scale(1.1); }
  .loop-casi .item-wrap:hover .num {
    color: #9b2a18; }
  .loop-casi .item-wrap:hover .tags {
    transform: translateY(0);
    opacity: 1; }
  .loop-casi .item-wrap:hover .btn-text {
    opacity: 1;
    transform: translateY(0); }
@media screen and (max-width: 660px) {
  .loop-casi .item {
    gap: 42px; }
    .loop-casi .item .tags {
      opacity: 1;
      transform: translateY(0); }
    .loop-casi .item .btn-text {
      display: none; }
    .loop-casi .item img {
      transform: scale(1); } }

section.hp-clients .container {
  gap: clamp(3rem, 6vw, 8rem); }

.related .item {
  display: grid;
  grid-template-columns: 1fr 0.3fr;
  gap: 4rem;
  align-items: center;
  padding: clamp(2rem, 1vw, 3.5rem) 42px;
  transition: all ease 0.5s; }
  .related .item .num {
    padding-right: 24px;
    transition: all ease 0.5s; }
  .related .item figure {
    aspect-ratio: 3/2;
    width: 100%; }
  .related .item img {
    transition: all ease 0.5s; }
.related .item:hover {
  background-color: rgba(216, 207, 192, 0.2); }
  .related .item:hover img {
    transform: scale(1.1); }
  .related .item:hover .num {
    color: #9b2a18; }
@media screen and (max-width: 660px) {
  .related .item {
    gap: 42px; }
    .related .item .btn-text {
      display: none; }
    .related .item img {
      transform: scale(1); } }

section.about-history .main-grid {
  grid-template-columns: 1.3fr 1fr; }

section.about-team .team-grid {
  gap: 1px;
  background: #D8CFC0; }
  section.about-team .team-grid > div {
    background: #fdfaf5;
    padding: 2.5rem 2rem;
    transition: background .2s; }
  section.about-team .team-grid .initials {
    width: 56px;
    height: 56px;
    border: 1px solid #D8CFC0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Playfair Display", serif;
    font-size: 1.3rem;
    font-weight: 600;
    color: #141210;
    margin-bottom: 1.5rem;
    transition: background 0.2s, color 0.2s; }
  section.about-team .team-grid .tags {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem; }
    section.about-team .team-grid .tags span {
      background-color: #f5f0e8; }
  section.about-team .team-grid > div:hover {
    background: #ede7d9; }
    section.about-team .team-grid > div:hover .initials {
      background: #141210;
      color: #f5f0e8;
      border-color: #141210; }

.radial-map {
  position: relative;
  width: 100%;
  height: 60vh;
  margin: 0 auto;
  overflow: hidden; }
  .radial-map .radial-lines {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    pointer-events: none;
    display: block; }
    .radial-map .radial-lines line {
      stroke: #D8CFC0;
      stroke-width: 1;
      stroke-linecap: round;
      vector-effect: non-scaling-stroke; }
  .radial-map .radial-center {
    position: absolute;
    left: 50%;
    top: 50%;
    width: clamp(60px, 14vw, 260px);
    aspect-ratio: 1 / 1;
    transform: translate(-50%, -50%);
    border-radius: 100%;
    overflow: hidden;
    z-index: 3;
    padding: 4vw;
    background: radial-gradient(circle, #f5f0e8 0%, rgba(245, 240, 232, 0) 100%); }
    .radial-map .radial-center img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      display: block; }
  .radial-map .radial-item {
    position: absolute;
    width: 180px;
    padding: 8px 12px;
    background: #fdfaf5;
    color: #141210;
    border: 1px solid #D8CFC0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    cursor: grab;
    user-select: none;
    touch-action: none;
    z-index: 4;
    font-size: 18px;
    line-height: 1.2;
    letter-spacing: 0.02em;
    animation: floatY 3.4s ease-in-out infinite;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08); }
    .radial-map .radial-item.dragging {
      cursor: grabbing;
      animation-play-state: paused; }

@keyframes floatY {
  0% {
    transform: translateY(0); }
  50% {
    transform: translateY(-5px); }
  100% {
    transform: translateY(0); } }
.collab-list {
  margin-top: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: .8rem 1rem; }
  .collab-list span {
    font-family: "IBM Plex Mono", monospace;
    font-size: 1.1rem;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 1rem; }
    .collab-list span::after {
      content: '';
      width: 4px;
      height: 4px;
      border-radius: 50%;
      background: #a07840;
      opacity: .5;
      flex-shrink: 0; }
    .collab-list span:last-child:after {
      display: none; }

/*
.principles {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    background: $key-bone
}

.principle {
    background: $key-linen;
    padding: 1.8rem 1.5rem;
    transition: background .2s
}

.principle:hover {
    background: $key-light
}

.principle-num {
    font-family: $font-serif;
    font-size: 2rem;
    font-weight: 300;
    color: $key-bone;
    line-height: 1;
    margin-bottom: .8rem
}

.principle-title {
    font-family: $font-serif;
    font-size: 1.35rem;
    font-weight: 600;
    margin-bottom: .5rem;
    color: $key-body
}

.principle-desc {
    font-family: $font-sans;
    font-size: 1.1rem;
    color: $key-bone;
    line-height: 1.8
}
*/
section.cases-loop article {
  grid-template-columns: 1fr 1.4fr;
  gap: 4rem; }

.filters {
  display: flex;
  gap: .4rem;
  flex-wrap: wrap; }
  .filters button {
    font-family: "IBM Plex Mono", monospace;
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .15em;
    padding: .4rem 1rem;
    background: transparent;
    border: 1px solid #D8CFC0;
    color: #7A6E60;
    transition: all .2s; }
    .filters button:hover {
      background: rgba(20, 18, 16, 0.1); }
    .filters button.active {
      background: #141210;
      color: #f5f0e8;
      border-color: #141210; }

.detail-toggle .head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: .7rem 0;
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.83rem;
  text-transform: uppercase;
  letter-spacing: .13em;
  border-top: 1px solid #D8CFC0;
  cursor: pointer;
  transition: color .2s; }
  .detail-toggle .head:after {
    content: '+';
    transition: transform .25s;
    font-size: 1.2rem;
    flex-shrink: 0;
    color: #7A6E60; }
  .detail-toggle .head:hover, .detail-toggle .head.open {
    color: #9b2a18; }
  .detail-toggle .head.open:after {
    transform: rotate(45deg); }
.detail-toggle .content {
  font-family: "IBM Plex Sans", sans-serif;
  font-size: 1.1rem;
  line-height: 1.8;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, padding 0.4s; }
.detail-toggle .head.open + .content {
  max-height: 300px;
  padding-bottom: 1rem; }

section.pro-acc {
  display: none; }

section.priv-acc {
  display: none; }

@media screen and (max-width: 768px) {
  section.pro-tabs {
    display: none; }

  section.pro-acc {
    display: block; }

  section.priv-tabs {
    display: none; }

  section.priv-acc {
    display: block; } }
.accordion {
  background-color: #ede7d9; }
  .accordion .sticky {
    top: 80px; }
  .accordion .acc-head {
    padding: 24px var(--sp-x);
    border-bottom: 1px solid #D8CFC0;
    cursor: pointer; }
    .accordion .acc-head h4 {
      opacity: 0.7; }
    .accordion .acc-head p {
      padding-top: 12px;
      display: none; }
    .accordion .acc-head:hover {
      background-color: #f5f0e8;
      opacity: 1; }
    .accordion .acc-head.active {
      background-color: #fdfaf5; }
      .accordion .acc-head.active i {
        transform: rotate(180deg); }
      .accordion .acc-head.active p {
        display: block; }
      .accordion .acc-head.active h4 {
        opacity: 1; }
  .accordion .acc-body {
    display: none;
    background-color: #fdfaf5;
    padding: 12px var(--sp-x); }
    .accordion .acc-body .critical {
      margin: 18px 0; }
    .accordion .acc-body .step-list,
    .accordion .acc-body .focus {
      padding: 18px; }
  .accordion .acc-body.active {
    display: block; }

.tabs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: #D8CFC0; }

.tabs .tab {
  background: #ede7d9;
  padding: 2rem 1.5rem;
  transition: background .2s;
  position: relative;
  cursor: pointer; }
  .tabs .tab::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: #9b2a18;
    transform: scaleX(0);
    transition: transform 0.3s; }
  .tabs .tab p {
    opacity: 0;
    transform: translateY(-24px);
    transition: all ease 0.5s; }
  .tabs .tab h4 {
    opacity: .6;
    transition: all ease 0.5s; }
  .tabs .tab h5 {
    color: #a07840; }

.tabs .tab:hover h4,
.tabs .tab.on h4 {
  opacity: 1; }
.tabs .tab:hover p,
.tabs .tab.on p {
  transform: translateY(0);
  opacity: 1; }

.tabs .tab.on {
  background: #fdfaf5; }
  .tabs .tab.on::after {
    transform: scaleX(1); }

.details {
  background: #fdfaf5;
  border: 1px solid #D8CFC0;
  border-top: none; }
  .details .detail {
    display: none;
    padding: clamp(2rem, 3vw, 3rem);
    gap: 3rem; }
    .details .detail.on {
      display: grid; }

ul.critical li {
  font-size: 1rem;
  padding: .5rem 0;
  border-bottom: 1px solid rgba(216, 207, 192, 0.5);
  line-height: 1.6;
  display: flex;
  gap: .6rem; }
  ul.critical li:last-child {
    border-bottom: none; }
  ul.critical li::before {
    content: '×';
    color: #9b2a18;
    flex-shrink: 0;
    font-size: .8rem;
    margin-top: 0.2rem; }

.toc {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid #D8CFC0; }
  .toc a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.1rem 1.5rem;
    border-bottom: 1px solid #D8CFC0;
    color: #141210;
    font-family: "IBM Plex Mono", monospace;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: 14px;
    transition: all ease 0.5s; }
    .toc a:last-child {
      border: 0; }
    .toc a:hover {
      padding-left: 2rem;
      background: #ede7d9; }
    .toc a i {
      font-style: normal;
      color: #7A6E60;
      font-size: .7rem; }

/*
.pro-dlist {
    display: flex;
    flex-direction: column;
    margin-bottom: 1.5rem
}

.pro-ditem {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: .55rem 0;
    border-bottom: 1px solid $key-bone;
    gap: 1rem
}

.pro-ditem:last-child {
    border-bottom: none
}

.pro-dname {
    font-family: $font-sans;
    font-size: 1rem;
    color: $key-body
}



.pro-highlight-box {
    background: $key-accent;
    padding: 1.4rem 1.6rem
}

.pro-highlight-label {
    font-family: $font-mono;
    font-size: .62rem;
    text-transform: uppercase;
    letter-spacing: .18em;
    color: rgba(245, 240, 232, .7);
    margin-bottom: .6rem
}

.pro-highlight-text {
    font-family: $font-sans;
    font-size: 1rem;
    color: rgba(245, 240, 232, .9);
    line-height: 1.7;
    margin: 0
}

.pro-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
    flex-wrap: wrap;
    margin-top: 1.5rem
}

.pro-bottom-title {
    font-family: $font-sans;
    font-size: 1rem;
    color: $key-body;
    font-weight: 600
}

.pro-bottom-sub {
    font-family: $font-sans;
    font-size: .95rem;
    color: $key-bone
}

.pro-cta-note {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid $key-bone;
    font-family: $font-sans;
    font-size: 1rem;
    color: $key-bone;
    line-height: 1.7
}
*/
/*
.prog-hero {
    min-height: auto;

    padding-bottom: 4rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: start;
    border-bottom: 1px solid var(--brd2);
    position: relative;
    overflow: hidden
}

.prog-bg {
    display: none;
    font-family: $font-serif;
    font-size: 32vw;
    font-weight: 600;
    color: transparent;
    -webkit-text-stroke: 1px $key-bone;
    line-height: 1;
    pointer-events: none;
    user-select: none
}

.prog-left {
    position: relative;
    z-index: 1
}

.prog-right {
    position: relative;
    z-index: 1
}

.prog-desc {
    font-family: $font-sans;
    font-size: 1.1rem;
    color: $key-bone;
    line-height: 1.95;
    max-width: 44ch
}

.anchor-nav {
    display: flex;
    flex-direction: column;
    gap: 0;
    border: 1px solid $key-bone
}

.anchor-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.1rem 1.5rem;
    border-bottom: 1px solid $key-bone;
    color: $key-body;
    font-family: $font-mono;
    font-size: 0.83rem;
    text-transform: uppercase;
    letter-spacing: .12em;
    transition: background .2s, padding-left .2s
}

.anchor-link:last-child {
    border-bottom: none
}

.anchor-link:hover {
    background: $key-linen;
    padding-left: 2rem
}

.anchor-num {
    font-family: $font-serif;
    font-size: .85rem;
    color: $key-gold;
    font-weight: 400
}

.anchor-arrow {
    color: $key-bone;
    font-size: .7rem
}
*/
/* Sezioni progetto */
/*
.prog-sec {
    border-bottom: 1px solid var(--brd2)
}

.prog-inner {
    padding: clamp(5rem, 8vw, 9rem) 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: start
}

.prog-inner.alt-bg {
    background: $key-linen
}

.prog-inner.dark {
    background: $key-accent
}

.prog-label {
    font-family: $font-mono;
    font-size: 0.83rem;
    text-transform: uppercase;
    letter-spacing: .2em;
    color: rgba(255, 255, 255, .7);
    margin-bottom: 1.2rem
}

.prog-left-sticky {
    position: sticky;

}

.section-sub {
    font-family: $font-sans;
    font-size: 1.1rem;
    color: $key-bone;
    line-height: 1.8;
    margin-top: .8rem
}

.prog-body p {
    font-family: $font-sans;
    font-size: 1.1rem;
    color: $key-bone;
    line-height: 1.8;
    margin-bottom: 1.2rem
}

.prog-body p strong {
    color: $key-body;
    font-weight: 400
}

.prog-body.dark-text p {
    color: rgba(255, 255, 255, .85)
}

.prog-body.dark-text p strong {
    color: #fff
}
*/
/* Trasformazione */
/*
.transform-line {
    margin: 3rem 0;
    padding: 2rem 2.5rem;
    background: $key-accent;
    color: $key-linen-lt;
    display: flex;
    align-items: center;
    gap: 2rem
}

.transform-before {
    font-family: $font-serif;
    font-size: 1.35rem;
    font-style: italic;
    font-weight: 400;
    color: rgba(255, 255, 255, .75);
    flex: 1;
    text-align: right;
    line-height: 1.5
}

.transform-arrow {
    font-size: 1.2rem;
    color: rgba(255, 255, 255, .7);
    flex-shrink: 0
}

.transform-after {
    font-family: $font-serif;
    font-size: 1.35rem;
    font-weight: 600;
    font-style: italic;
    color: #fff;
    flex: 1;
    line-height: 1.5
}

*/
/* Unique items */
/*
.unique-list {
    display: flex;
    flex-direction: column;
    gap: 0
}

.unique-item {
    display: flex;
    gap: 2rem;
    align-items: start;
    padding: 2rem 0;
    border-bottom: 1px solid $key-bone
}

.unique-item:last-child {
    border-bottom: none
}

.unique-num {
    font-family: $font-serif;
    font-size: 1.5rem;
    font-weight: 300;
    color: $key-gold;
    line-height: 1;
    flex-shrink: 0;
    width: 2rem
}

.unique-title {
    font-family: $font-serif;
    font-size: 1.35rem;
    font-weight: 600;
    margin-bottom: .5rem;
    color: $key-body
}

.unique-desc {
    font-family: $font-sans;
    font-size: 1.1rem;
    color: $key-bone;
    line-height: 1.8
}

.tools-strip-items {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid $key-bone
}

.tool-item-tag {
    font-family: $font-mono;
    font-size: 0.83rem;
    text-transform: uppercase;
    letter-spacing: .1em;
    padding: .22rem .65rem;
    background: transparent;
    border: 1px solid $key-bone;
    color: $key-bone
}
*/
/* Metodo steps */
/*
.metodo-steps {
    display: flex;
    flex-direction: column;
    gap: 0
}

.metodo-step {
    display: grid;
    grid-template-columns: 2.5rem 1fr;
    gap: 2rem;
    padding: 2rem 0;
    border-bottom: 1px solid $key-bone;
}

.metodo-step:last-child {
    border-bottom: none
}

.metodo-step-n {
    font-family: $font-mono;
    font-size: 0.83rem;
    text-transform: uppercase;
    letter-spacing: .15em;
    color: $key-gold
}

.metodo-step-title {
    font-family: $font-serif;
    font-size: 1.35rem;
    font-weight: 600;
    margin-bottom: .4rem;
    color: $key-body
}

.metodo-step-desc {
    font-family: $font-sans;
    font-size: 1.1rem;
    color: $key-bone;
    line-height: 1.8;
    margin-bottom: .5rem
}

.metodo-step-output {
    font-family: $font-mono;
    font-size: 0.83rem;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: $key-accent
}

.metodo-grid {
    display: flex;
    flex-direction: column;
    gap: 0
}

.metodo-card {
    background: transparent;
    padding: 1.8rem 0;
    border-top: 1px solid rgba(245, 240, 232, .15);
    position: relative
}

.metodo-card:last-child {
    border-bottom: 1px solid rgba(245, 240, 232, .15)
}

.metodo-card:hover {
    background: transparent
}

.metodo-card-n {
    font-family: $font-mono;
    font-size: 0.83rem;
    color: $key-gold;
    text-transform: uppercase;
    letter-spacing: .15em;
    margin-bottom: 1rem
}

.metodo-card-title {
    font-family: $font-serif;
    font-size: 1.35rem;
    font-weight: 600;
    margin-bottom: .7rem;
    line-height: 1.25;
    color: $key-linen-lt
}

.metodo-card-desc {
    font-family: $font-sans;
    font-size: 1.1rem;
    color: rgba(245, 240, 232, .65);
    line-height: 1.8;
    margin-bottom: .8rem
}

.metodo-card-output {
    font-family: $font-mono;
    font-size: 0.83rem;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: rgba(245, 240, 232, .9);
    padding-top: .8rem;
    border-top: 1px solid rgba(245, 240, 232, .12)
}

.metodo-principle {
    background: $key-accent;
    padding: 1.5rem 2rem
}

.metodo-principle-label {
    font-family: $font-mono;
    font-size: 0.83rem;
    text-transform: uppercase;
    letter-spacing: .2em;
    color: rgba(255, 255, 255, .65);
    margin-bottom: .6rem
}

.metodo-principle-text {
    font-family: $font-serif;
    font-style: italic;
    font-size: 1rem;
    color: #fff;
    line-height: 1.6
}
*/
/* Obiettivi triad */
/*
.obiettivi-triad {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: $key-bone;
    margin-top: 2rem
}

.triad-cell {
    background: $key-linen;
    padding: 2rem 1.5rem;
    transition: background .2s
}

.triad-cell:hover {
    background: $key-light
}

.triad-word {
    font-family: $font-serif;
    font-size: 1.35rem;
    font-weight: 600;
    margin-bottom: .5rem;
    color: $key-body
}

.triad-desc {
    font-family: $font-sans;
    font-size: .95rem;
    color: $key-bone;
    line-height: 1.8
}

.obiettivi-final {
    margin-top: 2rem;
    padding: 2rem;
    background: $key-accent;
    color: $key-linen-lt;
    text-align: center
}

.obiettivi-final-text {
    font-family: $font-serif;
    font-style: italic;
    font-size: 1.35rem;
    font-weight: 400;
    color: rgba(245, 240, 232, .85);
    margin-bottom: .8rem;
    line-height: 1.5
}

.obiettivi-final-strong {
    font-family: $font-mono;
    font-size: 0.83rem;
    text-transform: uppercase;
    letter-spacing: .2em;
    color: rgba(255, 255, 255, .65)
}
*/
.cta-foot {
  color: #f5f0e8;
  gap: 4rem; }
  .cta-foot .cta-buttons {
    gap: .8rem;
    flex-shrink: 0; }
  .cta-foot p.lead {
    color: #fdfaf5;
    opacity: 0.7; }
  @media screen and (max-width: 768px) {
    .cta-foot {
      grid-template-columns: auto !important;
      gap: 2rem; }
      .cta-foot .btn {
        width: fit-content; }
      .cta-foot .btn-ghost-light {
        width: 312px; } }

.btn-light {
  display: inline-block;
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.83rem;
  text-transform: uppercase;
  letter-spacing: .18em;
  padding: .7rem 2rem;
  background: #f5f0e8;
  color: #141210;
  transition: all 0.2s; }

.btn-light:hover {
  background: #a07840;
  color: #f5f0e8; }

.btn-ghost-light {
  display: inline-block;
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.83rem;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: #f5f0e8;
  border: 1px solid rgba(245, 240, 232, 0.35);
  padding: .7rem 1.8rem;
  transition: background 0.2s, color 0.2s, border-color 0.2s; }

.btn-ghost-light:hover {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.4); }

footer.footer {
  padding-top: 42px;
  padding-bottom: 36px;
  background: #ede7d9;
  text-align: left; }
  footer.footer .footer-main {
    padding-left: var(--sp-x);
    padding-right: var(--sp-x);
    gap: 3rem;
    margin-bottom: 2.5rem; }
  footer.footer .footer-bottom {
    padding-top: 1.5rem;
    padding-left: var(--sp-x);
    padding-right: var(--sp-x);
    border-top: 1px solid rgba(20, 18, 16, 0.08);
    flex-wrap: wrap;
    gap: 1rem;
    color: #9b2a18; }
  footer.footer .site-logo {
    display: block;
    width: 250px; }
  footer.footer h5 {
    margin-bottom: 12px; }

.footer-links a {
  font-family: "IBM Plex Sans", sans-serif;
  font-size: 0.92rem;
  color: #141210;
  transition: color .2s;
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: 0.25rem 0; }

.footer-links a::before {
  content: '';
  width: 3px;
  height: 3px;
  border-radius: 100%;
  background-color: #7A6E60;
  flex-shrink: 0;
  transition: all ease 0.5s; }

.footer-links a:hover {
  color: #9b2a18; }

.footer-links a:hover::before {
  background: #9b2a18;
  transform: scale(2); }

.card {
  background: #fdfaf5;
  border: 1px solid rgba(20, 18, 16, 0.08);
  padding: clamp(1.5rem, 3vw, 2.75rem);
  box-shadow: 0 20px 60px rgba(20, 18, 16, 0.06); }

.casi-single {
  border-bottom: 0; }
  .casi-single .casi-hero {
    grid-template-columns: 1fr 0.8fr;
    gap: 4rem; }
  .casi-single .casi-hero-alt {
    gap: 4rem; }

.box-partenza {
  background: #fdfaf5;
  background: #ede7d9;
  padding: 1.2rem;
  border-left: 2px solid #9b2a18; }
  .box-partenza h5 {
    color: #9b2a18;
    margin-bottom: 12px; }
  .box-partenza b {
    font-weight: normal; }

.box-results {
  background: #ede7d9;
  padding: 1.2rem;
  border-left: 2px solid #9b2a18; }
  .box-results h5 {
    color: #9b2a18;
    margin-bottom: 12px; }
  .box-results b {
    font-weight: normal; }

.icon-giu {
  color: #9b2a18;
  font-size: 18px;
  transform: translateX(-8px); }

body.page-contatti .contact-form {
  padding: 1.2rem 2rem 1.8rem; }
  body.page-contatti .contact-form .head {
    border-bottom: 1px solid #ede7d9;
    padding-bottom: 12px;
    margin-bottom: 24px; }
  body.page-contatti .contact-form .foot {
    border-top: 1px solid #ede7d9;
    padding-top: 12px;
    margin-top: 12px; }
  body.page-contatti .contact-form .has-size {
    container-type: inline-size; }
@container (max-width: 330px) {
  body.page-contatti .contact-form .has-size > .f-grid {
    grid-template-columns: 1fr; } }
body.page-coming-soon .wrap {
  width: 80vw; }
body.page-coming-soon .site-logo {
  width: 280px;
  margin-bottom: 42px; }
  @media screen and (max-width: 660px) {
    body.page-coming-soon .site-logo {
      width: 220px; } }
body.page-coming-soon .btn {
  margin-top: 42px; }

body.page-access .main-grid {
  gap: 4rem;
  grid-template-columns: 1fr 1.5fr; }
  @media screen and (max-width: 660px) {
    body.page-access .main-grid {
      display: flex;
      flex-direction: column;
      gap: 2rem; } }
body.page-access .first {
  justify-content: space-between; }
body.page-access .site-logo {
  max-width: 320px; }
  @media screen and (max-width: 576px) {
    body.page-access .site-logo {
      max-width: 260px; } }
body.page-access .head {
  border-bottom: 1px solid rgba(20, 18, 16, 0.08);
  padding-bottom: 24px;
  margin-bottom: 24px; }
  @media screen and (max-width: 660px) {
    body.page-access .head {
      padding-bottom: 12px;
      margin-bottom: 12px; } }
body.page-access .foot {
  padding-top: 24px;
  margin-top: 24px;
  border-top: 1px solid rgba(20, 18, 16, 0.08); }
  @media screen and (max-width: 660px) {
    body.page-access .foot {
      padding-top: 12px;
      margin-top: 12px; } }
body.page-access .bar {
  width: 1.5rem; }
body.page-access form {
  padding: 24px 0; }
  @media screen and (max-width: 660px) {
    body.page-access form {
      padding: 0 0; } }
body.page-access input[type="text"],
body.page-access input[type="password"] {
  height: 58px; }
  @media screen and (max-width: 576px) {
    body.page-access input[type="text"],
    body.page-access input[type="password"] {
      height: 42px; } }
body.page-access .error {
  background-color: #141210;
  border-radius: 4px;
  color: #ede7d9;
  padding: 6px 12px;
  width: fit-content; }

section.hp-mission .f-row {
  padding-top: var(--sp-y);
  padding-bottom: var(--sp-y); }

section.hp-hero {
  padding-bottom: 42px; }
  section.hp-hero > .container {
    min-height: 55vh; }
  section.hp-hero .shape {
    position: absolute;
    right: 0;
    top: 0;
    width: 30vw;
    max-width: 400px; }
    @media screen and (max-width: 660px) {
      section.hp-hero .shape {
        display: none; } }

section.hp-manifesto {
  border-bottom: 1px solid rgba(216, 207, 192, 0.5); }
  section.hp-manifesto .main-grid {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: clamp(3rem, 6vw, 8rem);
    align-items: start; }
  @media screen and (max-width: 660px) {
    section.hp-manifesto .sticky-over {
      padding-top: 24px; } }

h1, h2, h3, h4 {
  font-family: "Playfair Display", serif;
  font-weight: 500; }
  h1 em, h2 em, h3 em, h4 em {
    color: #9b2a18; }

.title-hero {
  font-size: clamp(2.6rem, 5vw, 4.5rem);
  line-height: 1.05;
  letter-spacing: -.025em; }

.title-lg {
  font-size: clamp(2.05rem, 3.9vw, 3.45rem);
  line-height: 1.05;
  letter-spacing: -.025em; }

.title {
  font-size: clamp(1.5rem, 2.8vw, 2.4rem);
  line-height: 1.1;
  letter-spacing: -0.02em; }

h3 {
  font-size: 1.55rem;
  font-weight: 700;
  line-height: 1.25; }

h4 {
  font-size: 1.35rem;
  font-weight: 600;
  line-height: 1.15; }

small {
  font-family: "IBM Plex Mono", monospace;
  font-size: .62rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #a07840;
  white-space: nowrap;
  flex-shrink: 0; }

.lead p,
p.lead {
  font-size: 1.25rem;
  line-height: 1.40;
  color: #7A6E60; }

p {
  color: #7A6E60; }

.ff-mono {
  font-family: "IBM Plex Mono", monospace !important; }

/*
.light {
  color: rgba($key-light, 0.8);
  em {
    color: $key-light;
  }
}
*/
.entry p + p {
  padding-top: 6px; }

.bg-ck-accent {
  background-color: #9b2a18; }

.bg-ck-bone {
  background-color: #D8CFC0; }

.ck-accent {
  color: #9b2a18; }

.bg-ck-linen {
  background-color: #ede7d9; }

.bg-ck-linen-lt {
  background-color: #f5f0e8; }

.ck-light {
  color: #fdfaf5; }

.ck-gold {
  color: #a07840; }

.bg-dark p,
.bg-dark .p2 {
  color: rgba(253, 250, 245, 0.8); }
.bg-dark h5,
.bg-dark .cap {
  color: rgba(237, 231, 217, 0.7); }
.bg-dark .title {
  color: rgba(253, 250, 245, 0.8); }
  .bg-dark .title em {
    color: #fdfaf5; }

@media screen and (min-width: 768px) {
  .narrow {
    max-width: 50%; }

  .narrow-75 {
    max-width: 75%; } }
.hide {
  display: none; }

.block {
  display: block; }

.flex {
  display: flex; }

.w-100 {
  width: 100%; }

.w-fit {
  width: fit-content; }

.h-100 {
  height: 100%; }

.vh-100 {
  height: 100vh; }

.vh-full {
  min-height: 100vh; }

.dvh-full {
  min-height: 100dvh; }

.relative {
  position: relative; }

.fixed {
  position: fixed; }

.sticky {
  position: sticky;
  top: 0; }

.absolute {
  position: absolute; }

.h-full-partial {
  height: calc(100vh - 80px); }

@media screen and (max-width: 660px) {
  .xs-f-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: start !important; } }
.noscript {
  display: none; }

html.no-js .noscript {
  display: block; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0; }

.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
  white-space: normal;
  display: inline-block; }
  .sr-only-focusable:active.sr-link,
  .sr-only-focusable:focus.sr-link {
    padding: 6px 8px; }

:focus,
:focus-visible {
  outline: 2px solid #141210;
  outline-offset: 6px; }

.sr-link:focus,
.sr-link:focus-visible {
  outline-offset: 0px; }

:focus:not(:focus-visible) {
  outline: none; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important; } }
@media (forced-colors: active) {
  :focus-visible {
    outline: 2px solid CanvasText; } }
.sr-link:focus,
.sr-link:focus-visible {
  outline-offset: 0px;
  background-color: #852415;
  color: #fff; }

/*# sourceMappingURL=theme.css.map */
