.elementor-kit-7{--e-global-color-primary:#2b2a28;--e-global-color-secondary:#6b6862;--e-global-color-text:#3d3b38;--e-global-color-accent:#c4602b;--e-global-color-cream:#eeece7;--e-global-color-sand:#e3e0d9;--e-global-color-sanddark:#dcd8d0;--e-global-color-stone:#d6d2c9;--e-global-color-line:#d0ccc3;--e-global-color-body:#5c5a55;--e-global-color-count:#8a867e;--e-global-color-orangelight:#e07a42;--e-global-color-ondark:#cfccc5;--e-global-color-ondarkmuted:#a9a59d;--e-global-color-onlabel:#bdb9b1;--e-global-color-borderdark:#45433f;--e-global-color-heroink:#f4f2ee;--e-global-color-field:#e6e3dc;--e-global-color-white:#ffffff;--e-global-typography-primary-font-family:"Hanken Grotesk";--e-global-typography-primary-font-weight:400;--e-global-typography-primary-line-height:1.1em;--e-global-typography-primary-letter-spacing:-0.02em;--e-global-typography-secondary-font-family:"Hanken Grotesk";--e-global-typography-secondary-font-weight:500;--e-global-typography-secondary-line-height:1.3em;--e-global-typography-text-font-family:"Hanken Grotesk";--e-global-typography-text-font-size:1rem;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-family:"Hanken Grotesk";--e-global-typography-accent-font-size:1rem;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-line-height:1.2em;--e-global-typography-h1hero-font-family:"Hanken Grotesk";--e-global-typography-h1hero-font-size:clamp(3rem, 7.4vw, 7.25rem);--e-global-typography-h1hero-font-weight:400;--e-global-typography-h1hero-line-height:0.96em;--e-global-typography-h1hero-letter-spacing:-0.035em;--e-global-typography-h1-font-family:"Hanken Grotesk";--e-global-typography-h1-font-size:clamp(2.75rem, 6.2vw, 5.75rem);--e-global-typography-h1-font-weight:400;--e-global-typography-h1-line-height:1em;--e-global-typography-h1-letter-spacing:-0.03em;--e-global-typography-h1s-font-family:"Hanken Grotesk";--e-global-typography-h1s-font-size:clamp(2.5rem, 5.4vw, 5.25rem);--e-global-typography-h1s-font-weight:400;--e-global-typography-h1s-line-height:1em;--e-global-typography-h1s-letter-spacing:-0.03em;--e-global-typography-h2-font-family:"Hanken Grotesk";--e-global-typography-h2-font-size:clamp(2rem, 3.6vw, 3.25rem);--e-global-typography-h2-font-weight:400;--e-global-typography-h2-line-height:1.05em;--e-global-typography-h2-letter-spacing:-0.025em;--e-global-typography-h2l-font-family:"Hanken Grotesk";--e-global-typography-h2l-font-size:clamp(2.25rem, 4.4vw, 4rem);--e-global-typography-h2l-font-weight:400;--e-global-typography-h2l-line-height:1.05em;--e-global-typography-h2l-letter-spacing:-0.025em;--e-global-typography-h2s-font-family:"Hanken Grotesk";--e-global-typography-h2s-font-size:clamp(1.75rem, 2.6vw, 2.375rem);--e-global-typography-h2s-font-weight:400;--e-global-typography-h2s-line-height:1.2em;--e-global-typography-h2s-letter-spacing:-0.02em;--e-global-typography-statement-font-family:"Hanken Grotesk";--e-global-typography-statement-font-size:clamp(1.375rem, 2.3vw, 2.125rem);--e-global-typography-statement-font-weight:400;--e-global-typography-statement-line-height:1.4em;--e-global-typography-statement-letter-spacing:-0.012em;--e-global-typography-leadl-font-family:"Hanken Grotesk";--e-global-typography-leadl-font-size:clamp(1.25rem, 1.9vw, 1.625rem);--e-global-typography-leadl-font-weight:400;--e-global-typography-leadl-line-height:1.45em;--e-global-typography-leadl-letter-spacing:-0.01em;--e-global-typography-lead-font-family:"Hanken Grotesk";--e-global-typography-lead-font-size:clamp(1.0625rem, 1.4vw, 1.25rem);--e-global-typography-lead-font-weight:400;--e-global-typography-lead-line-height:1.6em;--e-global-typography-body18-font-family:"Hanken Grotesk";--e-global-typography-body18-font-size:1.125rem;--e-global-typography-body18-font-weight:400;--e-global-typography-body18-line-height:1.7em;--e-global-typography-body16-font-family:"Hanken Grotesk";--e-global-typography-body16-font-size:1rem;--e-global-typography-body16-font-weight:400;--e-global-typography-body16-line-height:1.6em;--e-global-typography-body19-font-family:"Hanken Grotesk";--e-global-typography-body19-font-size:1.1875rem;--e-global-typography-body19-font-weight:400;--e-global-typography-body19-line-height:1.6em;--e-global-typography-body17-font-family:"Hanken Grotesk";--e-global-typography-body17-font-size:1.0625rem;--e-global-typography-body17-font-weight:400;--e-global-typography-body17-line-height:1.65em;--e-global-typography-item28-font-family:"Hanken Grotesk";--e-global-typography-item28-font-size:1.75rem;--e-global-typography-item28-font-weight:400;--e-global-typography-item28-line-height:1.2em;--e-global-typography-item28-letter-spacing:-0.015em;--e-global-typography-h3-font-family:"Hanken Grotesk";--e-global-typography-h3-font-size:clamp(1.1875rem, 1.6vw, 1.375rem);--e-global-typography-h3-font-weight:400;--e-global-typography-h3-line-height:1.25em;--e-global-typography-h3-letter-spacing:-0.01em;--e-global-typography-eyebrow-font-family:"Hanken Grotesk";--e-global-typography-eyebrow-font-size:0.8125rem;--e-global-typography-eyebrow-font-weight:400;--e-global-typography-eyebrow-text-transform:uppercase;--e-global-typography-eyebrow-line-height:1.2em;--e-global-typography-eyebrow-letter-spacing:0.14em;--e-global-typography-small-font-family:"Hanken Grotesk";--e-global-typography-small-font-size:0.875rem;--e-global-typography-small-font-weight:400;--e-global-typography-small-line-height:1.5em;--e-global-typography-t15-font-family:"Hanken Grotesk";--e-global-typography-t15-font-size:0.9375rem;--e-global-typography-t15-font-weight:400;--e-global-typography-t15-line-height:1.5em;--e-global-typography-badge-font-family:"Hanken Grotesk";--e-global-typography-badge-font-size:0.75rem;--e-global-typography-badge-font-weight:400;--e-global-typography-badge-text-transform:uppercase;--e-global-typography-badge-line-height:1.2em;--e-global-typography-badge-letter-spacing:0.08em;--e-global-typography-city12-font-family:"Hanken Grotesk";--e-global-typography-city12-font-size:0.75rem;--e-global-typography-city12-font-weight:400;--e-global-typography-city12-text-transform:uppercase;--e-global-typography-city12-line-height:1.2em;--e-global-typography-city12-letter-spacing:0.14em;--e-global-typography-mission-font-family:"Hanken Grotesk";--e-global-typography-mission-font-size:clamp(1.75rem, 3.6vw, 3.375rem);--e-global-typography-mission-font-weight:400;--e-global-typography-mission-line-height:1.15em;--e-global-typography-mission-letter-spacing:-0.025em;--e-global-typography-numeral-font-family:"Hanken Grotesk";--e-global-typography-numeral-font-size:clamp(3.5rem, 5vw, 5rem);--e-global-typography-numeral-font-weight:300;--e-global-typography-numeral-line-height:1em;--e-global-typography-numeral-letter-spacing:-0.04em;--e-global-typography-numeralxl-font-family:"Hanken Grotesk";--e-global-typography-numeralxl-font-size:clamp(5rem, 10vw, 10rem);--e-global-typography-numeralxl-font-weight:300;--e-global-typography-numeralxl-line-height:0.85em;--e-global-typography-numeralxl-letter-spacing:-0.05em;background-color:var( --e-global-color-cream );color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );color:var( --e-global-color-cream );border-style:solid;border-width:0.0625rem 0.0625rem 0.0625rem 0.0625rem;border-color:var( --e-global-color-primary );border-radius:62.4375rem 62.4375rem 62.4375rem 62.4375rem;padding:1rem 1.75rem 1rem 1.75rem;}.elementor-kit-7 button:hover,.elementor-kit-7 button:focus,.elementor-kit-7 input[type="button"]:hover,.elementor-kit-7 input[type="button"]:focus,.elementor-kit-7 input[type="submit"]:hover,.elementor-kit-7 input[type="submit"]:focus,.elementor-kit-7 .elementor-button:hover,.elementor-kit-7 .elementor-button:focus{background-color:var( --e-global-color-accent );color:var( --e-global-color-white );}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 p{margin-block-end:0rem;}.elementor-kit-7 a{color:var( --e-global-color-primary );text-decoration:none;}.elementor-kit-7 a:hover{color:var( --e-global-color-accent );text-decoration:none;}.elementor-kit-7 h1{color:var( --e-global-color-primary );font-family:var( --e-global-typography-h1-font-family ), Sans-serif;font-size:var( --e-global-typography-h1-font-size );font-weight:var( --e-global-typography-h1-font-weight );line-height:var( --e-global-typography-h1-line-height );letter-spacing:var( --e-global-typography-h1-letter-spacing );}.elementor-kit-7 h2{color:var( --e-global-color-primary );font-family:var( --e-global-typography-h2-font-family ), Sans-serif;font-size:var( --e-global-typography-h2-font-size );font-weight:var( --e-global-typography-h2-font-weight );line-height:var( --e-global-typography-h2-line-height );letter-spacing:var( --e-global-typography-h2-letter-spacing );}.elementor-kit-7 h3{color:var( --e-global-color-primary );font-family:var( --e-global-typography-h3-font-family ), Sans-serif;font-size:var( --e-global-typography-h3-font-size );font-weight:var( --e-global-typography-h3-font-weight );line-height:var( --e-global-typography-h3-line-height );letter-spacing:var( --e-global-typography-h3-letter-spacing );}.elementor-kit-7 h4{color:var( --e-global-color-primary );font-family:var( --e-global-typography-item28-font-family ), Sans-serif;font-size:var( --e-global-typography-item28-font-size );font-weight:var( --e-global-typography-item28-font-weight );line-height:var( --e-global-typography-item28-line-height );letter-spacing:var( --e-global-typography-item28-letter-spacing );}.elementor-kit-7 h5{color:var( --e-global-color-primary );font-family:var( --e-global-typography-lead-font-family ), Sans-serif;font-size:var( --e-global-typography-lead-font-size );font-weight:var( --e-global-typography-lead-font-weight );line-height:var( --e-global-typography-lead-line-height );}.elementor-kit-7 h6{color:var( --e-global-color-primary );font-family:var( --e-global-typography-small-font-family ), Sans-serif;font-size:var( --e-global-typography-small-font-size );font-weight:var( --e-global-typography-small-font-weight );line-height:var( --e-global-typography-small-line-height );}.elementor-kit-7 img{border-radius:0.25rem 0.25rem 0.25rem 0.25rem;}.elementor-kit-7 input:not([type="button"]):not([type="submit"]),.elementor-kit-7 textarea,.elementor-kit-7 .elementor-field-textual{font-family:var( --e-global-typography-body17-font-family ), Sans-serif;font-size:var( --e-global-typography-body17-font-size );font-weight:var( --e-global-typography-body17-font-weight );line-height:var( --e-global-typography-body17-line-height );color:var( --e-global-color-primary );background-color:var( --e-global-color-field );border-style:solid;border-width:0.0625rem 0.0625rem 0.0625rem 0.0625rem;border-color:rgba(0,0,0,0);border-radius:0.875rem 0.875rem 0.875rem 0.875rem;padding:0.875rem 1.125rem 0.875rem 1.125rem;}.elementor-kit-7 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-7 textarea:focus,.elementor-kit-7 .elementor-field-textual:focus{background-color:var( --e-global-color-field );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:83rem;}.e-con{--container-max-width:83rem;}.elementor-widget:not(:last-child){--kit-widget-spacing:0rem;}.elementor-element{--widgets-spacing:0rem 0rem;--widgets-spacing-row:0rem;--widgets-spacing-column:0rem;}{}h1.entry-title{display:var(--page-title-display);}.elementor-lightbox{background-color:rgba(30,29,27,0.94);--lightbox-ui-color:var( --e-global-color-cream );--lightbox-ui-color-hover:var( --e-global-color-orangelight );--lightbox-text-color:var( --e-global-color-cream );}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-7{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-7 h1{font-size:var( --e-global-typography-h1-font-size );line-height:var( --e-global-typography-h1-line-height );letter-spacing:var( --e-global-typography-h1-letter-spacing );}.elementor-kit-7 h2{font-size:var( --e-global-typography-h2-font-size );line-height:var( --e-global-typography-h2-line-height );letter-spacing:var( --e-global-typography-h2-letter-spacing );}.elementor-kit-7 h3{font-size:var( --e-global-typography-h3-font-size );line-height:var( --e-global-typography-h3-line-height );letter-spacing:var( --e-global-typography-h3-letter-spacing );}.elementor-kit-7 h4{font-size:var( --e-global-typography-item28-font-size );line-height:var( --e-global-typography-item28-line-height );letter-spacing:var( --e-global-typography-item28-letter-spacing );}.elementor-kit-7 h5{font-size:var( --e-global-typography-lead-font-size );line-height:var( --e-global-typography-lead-line-height );}.elementor-kit-7 h6{font-size:var( --e-global-typography-small-font-size );line-height:var( --e-global-typography-small-line-height );}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-kit-7 input:not([type="button"]):not([type="submit"]),.elementor-kit-7 textarea,.elementor-kit-7 .elementor-field-textual{font-size:var( --e-global-typography-body17-font-size );line-height:var( --e-global-typography-body17-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-7{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-7 h1{font-size:var( --e-global-typography-h1-font-size );line-height:var( --e-global-typography-h1-line-height );letter-spacing:var( --e-global-typography-h1-letter-spacing );}.elementor-kit-7 h2{font-size:var( --e-global-typography-h2-font-size );line-height:var( --e-global-typography-h2-line-height );letter-spacing:var( --e-global-typography-h2-letter-spacing );}.elementor-kit-7 h3{font-size:var( --e-global-typography-h3-font-size );line-height:var( --e-global-typography-h3-line-height );letter-spacing:var( --e-global-typography-h3-letter-spacing );}.elementor-kit-7 h4{font-size:var( --e-global-typography-item28-font-size );line-height:var( --e-global-typography-item28-line-height );letter-spacing:var( --e-global-typography-item28-letter-spacing );}.elementor-kit-7 h5{font-size:var( --e-global-typography-lead-font-size );line-height:var( --e-global-typography-lead-line-height );}.elementor-kit-7 h6{font-size:var( --e-global-typography-small-font-size );line-height:var( --e-global-typography-small-line-height );}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-kit-7 input:not([type="button"]):not([type="submit"]),.elementor-kit-7 textarea,.elementor-kit-7 .elementor-field-textual{font-size:var( --e-global-typography-body17-font-size );line-height:var( --e-global-typography-body17-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ==========================================================================
   Perpetua Capital – design layer
   Colours & fonts live in Site Settings (globals). This file only holds what
   Elementor's controls can't express: button/hover effects, small utilities.
   Prefix: pc-   (no overrides of Elementor core classes except where noted)
   ========================================================================== */

:root {
  --pc-ease: cubic-bezier(.2, .7, .2, 1);
  --pc-ease-io: cubic-bezier(.65, 0, .25, 1);
  --pc-arrow: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 12' fill='none' stroke='black' stroke-width='1.6'><path d='M0 6h14.5M9.5 1l5 5-5 5'/></svg>");
}

/* ---- base ---------------------------------------------------------------- */
body { -webkit-font-smoothing: antialiased; }
.elementor-widget-text-editor p { margin: 0; }
.elementor-widget-text-editor { text-wrap: pretty; }
.elementor-widget-heading .elementor-heading-title { text-wrap: balance; }
.pc-dot { color: var(--e-global-color-accent); }
.pc-hero .pc-dot { color: var(--e-global-color-orangelight); }

/* ---- reveal animation (softer than Elementor's default 100% rise) --------- */
@keyframes pcRise { from { opacity: 0; transform: translate3d(0, 1.75rem, 0); } to { opacity: 1; transform: none; } }
@keyframes pcClip { from { clip-path: inset(0 0 100% 0); } to { clip-path: inset(0 0 0 0); } }
.elementor .animated.fadeInUp { animation-name: pcRise; animation-duration: 1.1s; animation-timing-function: var(--pc-ease); }
.elementor .pc-clip.animated { animation-name: pcClip; animation-duration: 1.4s; animation-timing-function: cubic-bezier(.7, 0, .2, 1); }
@media (prefers-reduced-motion: reduce) { .elementor .animated { animation: none !important; } .elementor-invisible { visibility: visible !important; } }

/* ---- header ---------------------------------------------------------------- */
.pc-header { -webkit-backdrop-filter: blur(0.625rem); backdrop-filter: blur(0.625rem); transition: transform .55s var(--pc-ease); }
.pc-header.pc-header--hidden { transform: translateY(-100%); }
.pc-nav .elementor-item.elementor-item-active { font-weight: 500; }
.pc-logo img { display: block; height: auto; }
.pc-nav .elementor-menu-toggle { padding: 0; }
.pc-iconbtn .elementor-icon-wrapper { display: flex; }

/* ---- eyebrow (orange bar + uppercase label) --------------------------------- */
.pc-eyebrow .elementor-heading-title { display: flex; align-items: center; gap: 0.75rem; }
.pc-eyebrow .elementor-heading-title::before { content: ""; display: block; flex: none; width: 1.75rem; height: 0.1875rem; background: var(--e-global-color-accent); }

/* ---- pill buttons with flooding dot ---------------------------------------- */
.elementor-widget.pc-btn .elementor-button {
  --pc-bg: var(--e-global-color-primary); --pc-bd: var(--e-global-color-primary); --pc-fg: var(--e-global-color-cream);
  --pc-fill: var(--e-global-color-accent); --pc-fgh: #fff; --pc-ar: #fff;
  position: relative; isolation: isolate; overflow: hidden; display: inline-flex; align-items: center;
  padding: 0.4375rem 0.4375rem 0.4375rem 1.625rem; border: 0.0625rem solid var(--pc-bd); border-radius: 62.4375rem;
  background: var(--pc-bg); color: var(--pc-fg); fill: currentColor;
  font-size: 1rem; font-weight: 500; line-height: 1; white-space: nowrap; text-decoration: none;
  transition: color .4s ease, background-color .4s ease, transform .22s ease;
}
.elementor-widget.pc-btn .elementor-button:hover,
.elementor-widget.pc-btn .elementor-button:focus-visible { background: var(--pc-bg); border-color: var(--pc-bd); color: var(--pc-fgh); }
.elementor-widget.pc-btn .elementor-button:active { transform: scale(.97); }
.elementor-widget.pc-btn .elementor-button::before {
  content: ""; position: absolute; z-index: -1; top: 0.4375rem; right: 0.4375rem; width: 2.5rem; height: 2.5rem; border-radius: 62.4375rem;
  background: var(--pc-fill); transform: scale(1); transition: transform .7s var(--pc-ease-io);
}
.elementor-widget.pc-btn .elementor-button:hover::before { transform: scale(9); }
.elementor-widget.pc-btn .elementor-button-content-wrapper { display: flex; align-items: center; gap: 1.125rem; position: relative; z-index: 1; }
.elementor-widget.pc-btn .elementor-button-text { color: inherit; }
.elementor-widget.pc-btn .elementor-button-icon {
  position: relative; display: block; flex: 0 0 auto; width: 2.5rem; height: 2.5rem; margin: 0; overflow: hidden; border-radius: 62.4375rem; color: var(--pc-ar); font-size: 0;
}
.elementor-widget.pc-btn .elementor-button-icon > * { display: none; }
.elementor-widget.pc-btn .elementor-button-icon::before,
.elementor-widget.pc-btn .elementor-button-icon::after {
  content: ""; position: absolute; inset: 0; margin: auto; width: 0.875rem; height: 0.6875rem; background: currentColor;
  -webkit-mask: var(--pc-arrow) center / contain no-repeat; mask: var(--pc-arrow) center / contain no-repeat;
  transition: transform .55s var(--pc-ease-io);
}
.elementor-widget.pc-btn .elementor-button-icon::after { transform: translateX(-2.5rem); }
.elementor-widget.pc-btn .elementor-button:hover .elementor-button-icon::before { transform: translateX(2.5rem); }
.elementor-widget.pc-btn .elementor-button:hover .elementor-button-icon::after { transform: translateX(0); }

.elementor-widget.pc-btn.pc-btn--accent .elementor-button        { --pc-bg: var(--e-global-color-accent); --pc-bd: var(--e-global-color-accent); --pc-fg: #fff; --pc-fill: var(--e-global-color-primary); --pc-fgh: #fff; --pc-ar: #fff; }
.elementor-widget.pc-btn.pc-btn--accentOnDark .elementor-button  { --pc-bg: var(--e-global-color-accent); --pc-bd: var(--e-global-color-accent); --pc-fg: #fff; --pc-fill: var(--e-global-color-cream); --pc-fgh: var(--e-global-color-primary); --pc-ar: var(--e-global-color-primary); }
.elementor-widget.pc-btn.pc-btn--outline .elementor-button       { --pc-bg: transparent; --pc-bd: var(--e-global-color-primary); --pc-fg: var(--e-global-color-primary); --pc-fill: var(--e-global-color-primary); --pc-fgh: var(--e-global-color-cream); --pc-ar: var(--e-global-color-cream); }
.elementor-widget.pc-btn.pc-btn--outlineLight .elementor-button  { --pc-bg: transparent; --pc-bd: rgba(238, 236, 231, .55); --pc-fg: var(--e-global-color-cream); --pc-fill: var(--e-global-color-cream); --pc-fgh: var(--e-global-color-primary); --pc-ar: var(--e-global-color-primary); }
.elementor-widget.pc-btn.pc-btn--light .elementor-button         { --pc-bg: var(--e-global-color-cream); --pc-bd: var(--e-global-color-cream); --pc-fg: var(--e-global-color-primary); --pc-fill: var(--e-global-color-accent); --pc-fgh: #fff; --pc-ar: #fff; }
/* text link with dot */
.elementor-widget.pc-btn.pc-btn--link .elementor-button, .elementor-widget.pc-btn.pc-btn--linkLight .elementor-button { --pc-bg: transparent; --pc-bd: transparent; --pc-fg: var(--e-global-color-primary); --pc-fgh: var(--e-global-color-primary); --pc-fill: var(--e-global-color-accent); --pc-ar: #fff; padding: 0; border: 0; }
.elementor-widget.pc-btn.pc-btn--linkLight .elementor-button { --pc-fg: var(--e-global-color-cream); --pc-fgh: var(--e-global-color-cream); }
.elementor-widget.pc-btn.pc-btn--link .elementor-button::before, .elementor-widget.pc-btn.pc-btn--linkLight .elementor-button::before { top: 0; right: 0; width: 2.375rem; height: 2.375rem; }
.elementor-widget.pc-btn.pc-btn--link .elementor-button:hover::before, .elementor-widget.pc-btn.pc-btn--linkLight .elementor-button:hover::before { transform: scale(1.12); }
.elementor-widget.pc-btn.pc-btn--link .elementor-button-icon, .elementor-widget.pc-btn.pc-btn--linkLight .elementor-button-icon { width: 2.375rem; height: 2.375rem; }

/* ---- portfolio cards (loop items) ----------------------------------------- */
.pc-card { display: flex; flex-direction: column; color: inherit; text-decoration: none; }
.pc-card .pc-card__media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 0.25rem; background: var(--e-global-color-stone); width: 100%; }
.pc-card .pc-card__media--portrait { aspect-ratio: 3 / 4; }
.pc-card__media > .elementor-widget-image { position: absolute; inset: 0; width: 100%; height: 100%; }
.pc-card__media .elementor-widget-image .elementor-widget-container { width: 100%; height: 100%; }
.pc-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1.6s var(--pc-ease); }
.pc-card--portrait .pc-card__media img { transition-duration: 1.2s; }
.pc-card:hover .pc-card__media img { transform: scale(1.05); }
.pc-card--portrait:hover .pc-card__media img { transform: scale(1.04); }
.pc-card .pc-slide { position: absolute; inset: 0; z-index: 1; opacity: 0; transform: scale(1.05); transition: opacity .7s ease, transform 1.6s var(--pc-ease); }
.pc-card .pc-slide.is-on { opacity: 1; }
.pc-card__badge { position: absolute; top: 0.875rem; left: 0.875rem; z-index: 3; width: auto; }
.pc-card__badge .elementor-heading-title { display: inline-block; padding: 0.375rem 0.75rem; border-radius: 62.4375rem; background: rgba(238, 236, 231, .92); }
.pc-card__arrowwrap { position: absolute; right: 0.875rem; bottom: 0.875rem; z-index: 3; width: 2.75rem; }
.pc-card__arrow { position: relative; display: block; width: 2.75rem; height: 2.75rem; border-radius: 62.4375rem; background: var(--e-global-color-accent); opacity: 0; transform: scale(.6); transition: opacity .4s ease, transform .5s var(--pc-ease); }
.pc-card__arrow::after { content: ""; position: absolute; inset: 0; margin: auto; width: 0.875rem; height: 0.6875rem; background: #fff; -webkit-mask: var(--pc-arrow) center / contain no-repeat; mask: var(--pc-arrow) center / contain no-repeat; }
.pc-card:hover .pc-card__arrow { opacity: 1; transform: scale(1); }
.pc-dots { position: absolute; left: 0.875rem; bottom: 1rem; z-index: 3; display: flex; gap: 0.3125rem; }
.pc-dots span { width: 0.375rem; height: 0.25rem; border-radius: 62.4375rem; background: var(--e-global-color-heroink); opacity: .6; transition: width .4s ease, opacity .4s ease; }
.pc-dots span.is-on { width: 1.125rem; opacity: 1; }
.pc-card__title .elementor-heading-title { transition: color .3s ease; }
.pc-card:hover .pc-card__title .elementor-heading-title { color: var(--e-global-color-accent) !important; }
.pc-card__sub .elementor-heading-title { text-wrap: pretty; }

/* stagger the home portraits (2nd and 4th) */
@media (min-width: 48rem) { .pc-loop--stagger .e-loop-item:nth-child(even) { margin-top: clamp(0rem, 6vw, 6rem); } }
.pc-loop--stagger .elementor-loop-container, .pc-loop--cards .elementor-loop-container { align-items: start; }

/* ---- featured strip: panels expand on hover --------------------------------- */
.pc-strip .elementor-loop-container { display: flex; gap: 0.625rem; height: clamp(22.5rem, 44vw, 38.75rem); }
.pc-strip .e-loop-item { display: flex; flex: 1 1 0; min-width: 0; transition: flex-grow .9s var(--pc-ease-io); }
.pc-strip .e-loop-item:hover { flex-grow: 2.6; }
.pc-strip__item { position: relative; flex: 1; width: 100%; height: 100%; overflow: hidden; border-radius: 0.25rem; background: var(--e-global-color-stone); justify-content: flex-end; }
.pc-strip__item > .elementor-widget-image { position: absolute; inset: 0; width: 100%; height: 100%; }
.pc-strip__item .elementor-widget-image .elementor-widget-container { width: 100%; height: 100%; }
.pc-strip__item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pc-strip__caption { position: relative; z-index: 1; width: 100%; padding: 1.375rem 1.375rem 1.25rem; background: linear-gradient(to top, rgba(30, 29, 27, .78), rgba(30, 29, 27, 0)); }
.pc-strip__title .elementor-heading-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 500; font-size: clamp(1.0625rem, 1.5vw, 1.375rem); line-height: 1.2; }
@media (max-width: 47.9375rem) {
  .pc-strip .elementor-loop-container { display: grid; grid-template-columns: 1fr 1fr; height: auto; }
  .pc-strip .e-loop-item { height: 13.75rem; }
}

/* ---- object page: gallery ------------------------------------------------------- */
.pc-gallery { position: relative; overflow: hidden; border-radius: 0.25rem; background: var(--e-global-color-stone); }
.pc-gallery .swiper-slide img { display: block; width: 100%; height: clamp(21.25rem, 52vw, 47.5rem); object-fit: cover; }
.elementor-widget-image-carousel.pc-gallery .elementor-swiper-button { top: auto !important; bottom: 1.25rem; width: 3rem; height: 3rem; margin: 0; transform: none !important; display: flex; align-items: center; justify-content: center; border-radius: 62.4375rem; background: rgba(238, 236, 231, .92); color: var(--e-global-color-primary); transition: background .3s ease, transform .3s ease; }
.elementor-widget-image-carousel.pc-gallery .elementor-swiper-button svg { width: 0.875rem; height: 0.875rem; fill: currentColor; }
.elementor-widget-image-carousel.pc-gallery .elementor-swiper-button:hover { background: #fff; transform: scale(1.06) !important; }
.elementor-widget-image-carousel.pc-gallery .elementor-swiper-button-next { right: 1.25rem !important; left: auto !important; }
.elementor-widget-image-carousel.pc-gallery .elementor-swiper-button-prev { left: auto !important; right: 4.75rem !important; }
.pc-gallery-counter { position: absolute; left: 1.25rem; bottom: 1.25rem; z-index: 2; padding: 0.4375rem 0.875rem; border-radius: 62.4375rem; background: rgba(238, 236, 231, .92); font-size: 0.8125rem; line-height: 1.2; font-variant-numeric: tabular-nums; }
.pc-thumbs .gallery { display: flex !important; gap: 0.625rem; overflow-x: auto; scroll-snap-type: x proximity; padding-bottom: 0.375rem; scrollbar-width: thin; }
.pc-thumbs .gallery-item { flex: 0 0 clamp(7.5rem, 12vw, 10.75rem); max-width: none !important; width: auto !important; margin: 0 !important; scroll-snap-align: start; }
.pc-thumbs .gallery-item img { aspect-ratio: 4 / 3; width: 100%; object-fit: cover; border-radius: 0.25rem; opacity: .8; transition: opacity .3s ease; }
.pc-thumbs .gallery-item:hover img { opacity: 1; }
.pc-fact .elementor-heading-title { text-wrap: pretty; }

/* ---- prev / next object --------------------------------------------------------- */
.elementor-widget-post-navigation.pc-postnav .elementor-post-navigation { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18.75rem), 1fr)); gap: 0.625rem; }
.elementor-widget-post-navigation.pc-postnav .elementor-post-navigation__separator-wrapper { display: none; }
.elementor-widget-post-navigation.pc-postnav .elementor-post-navigation__link { width: auto !important; flex: none; border-radius: 0.25rem; background: var(--e-global-color-sand); transition: background .4s ease; }
.elementor-widget-post-navigation.pc-postnav .elementor-post-navigation__link:hover { background: var(--e-global-color-sanddark); }
.elementor-widget-post-navigation.pc-postnav .elementor-post-navigation__next { text-align: right; }
.elementor-widget-post-navigation.pc-postnav .elementor-post-navigation__link a { display: block; padding: 1.75rem; }
.elementor-widget-post-navigation.pc-postnav .elementor-post-navigation__link a > span { display: flex; flex-direction: column; gap: 0.5rem; }
.elementor-widget-post-navigation.pc-postnav .post-navigation__prev--label, .elementor-widget-post-navigation.pc-postnav .post-navigation__next--label { font-size: 0.8125rem !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--e-global-color-secondary) !important; }
.elementor-widget-post-navigation.pc-postnav .post-navigation__prev--title, .elementor-widget-post-navigation.pc-postnav .post-navigation__next--title { font-size: 1.25rem !important; line-height: 1.25 !important; color: var(--e-global-color-primary) !important; }

/* ---- photos ------------------------------------------------------------------ */
.pc-ph { overflow: hidden; border-radius: 0.25rem; background: var(--e-global-color-stone); }
.pc-ph img { display: block; width: 100%; object-fit: cover; }
.pc-ar-45 img { aspect-ratio: 4 / 5; }
.pc-ar-11 img { aspect-ratio: 1 / 1; }
.pc-ar-43 img { aspect-ratio: 4 / 3; }
.pc-duo { position: relative; }
.pc-duo__small { position: absolute !important; left: 0; bottom: 0; width: 46% !important; border: 0.5rem solid var(--e-global-color-cream); border-radius: 0.25rem; }

/* ---- small decorations ----------------------------------------------------------- */
.pc-loc .elementor-heading-title { display: flex; align-items: center; gap: 0.625rem; }
.pc-loc .elementor-heading-title::before { content: ""; width: 0.375rem; height: 0.375rem; border-radius: 50%; background: var(--e-global-color-orangelight); }
.pc-dotmark { display: block; width: 0.625rem; height: 0.625rem; border-radius: 50%; background: var(--e-global-color-accent); }
.pc-cities { display: flex; flex-wrap: wrap; gap: 0.375rem 1.75rem; margin: 0; padding: 0; list-style: none; font-size: clamp(1.5rem, 2.8vw, 2.5rem); line-height: 1.25; letter-spacing: -.02em; }
.pc-cities li { display: flex; gap: 1.75rem; margin: 0; }
.pc-cities li:not(:last-child)::after { content: "·"; color: var(--e-global-color-accent); }

/* ---- hover cards ------------------------------------------------------------------ */
.pc-card-sand { transition: background .5s ease, transform .5s var(--pc-ease); }
.pc-card-sand:hover { background-color: var(--e-global-color-sanddark); transform: translateY(-0.25rem); }
.pc-card-lift { transition: transform .5s var(--pc-ease), box-shadow .5s ease; }
.pc-card-lift:hover { transform: translateY(-0.375rem); box-shadow: 0 1.125rem 2.25rem rgba(43, 42, 40, .08); }
.pc-pillar { position: relative; cursor: default; }
.pc-pillar::after { content: ""; position: absolute; left: 0; right: 0; top: -0.0625rem; height: 0.125rem; background: var(--e-global-color-accent); transform: scaleX(0); transform-origin: 0 50%; transition: transform .8s var(--pc-ease-io); }
.pc-pillar:hover::after { transform: scaleX(1); }
.pc-pillar .pc-pillar__n .elementor-heading-title { transition: color .5s ease; }
.pc-pillar:hover .pc-pillar__n .elementor-heading-title { color: var(--e-global-color-orangelight); }

/* ---- approach steps (nested tabs) ---------------------------------------------------- */
.elementor-widget-n-tabs.pc-steps .e-n-tabs-heading { counter-reset: pcstep; gap: 0; border: 0; }
.elementor-widget-n-tabs.pc-steps .e-n-tab-title {  background: none; box-shadow: none;  counter-increment: pcstep; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 0.375rem; padding: 1.25rem 1rem 1.25rem 0; border: 0; border-top: 0.125rem solid var(--e-global-color-line); border-radius: 0; background: none; opacity: .45; text-align: left; transition: opacity .4s ease, border-color .4s ease; }
.elementor-widget-n-tabs.pc-steps .e-n-tab-title::before { content: counter(pcstep, decimal-leading-zero); font-size: 0.8125rem; line-height: 1; color: var(--e-global-color-accent); font-variant-numeric: tabular-nums; }
.elementor-widget-n-tabs.pc-steps .e-n-tab-title:hover { opacity: 1; }
.elementor-widget-n-tabs.pc-steps .e-n-tab-title[aria-selected="true"] { opacity: 1; border-top-color: var(--e-global-color-accent); }
.elementor-widget-n-tabs.pc-steps .e-n-tab-title-text { font-size: 1rem; line-height: 1.3; color: var(--e-global-color-primary); }
.elementor-widget-n-tabs.pc-steps .e-n-tabs-content { margin-top: clamp(1.5rem, 3vw, 2.5rem); }

/* ---- portfolio filter (pills) ------------------------------------------------------------ */
.elementor-widget-taxonomy-filter.pc-filter .e-filter { gap: 0.5rem; }
.elementor-widget-taxonomy-filter.pc-filter .e-filter-item,
.elementor-widget-taxonomy-filter.pc-filter .e-filter-item:focus { padding: 0.625rem 1.125rem; border: 0.0625rem solid #c9c5bc; border-radius: 62.4375rem !important; background: transparent !important; color: var(--e-global-color-primary) !important; font-size: 0.875rem; font-weight: 400; line-height: 1.2; box-shadow: none; transition: background .3s ease, color .3s ease, border-color .3s ease; }
.elementor-widget-taxonomy-filter.pc-filter .e-filter-item:hover { border-color: var(--e-global-color-primary); background: transparent !important; color: var(--e-global-color-primary) !important; }
.elementor-widget-taxonomy-filter.pc-filter .e-filter-item[aria-pressed="true"] { background: var(--e-global-color-primary) !important; border-color: var(--e-global-color-primary); color: var(--e-global-color-cream) !important; }

/* ---- contact form ------------------------------------------------------------------------------- */
.pc-form .elementor-field-group { margin: 0; }
/* text fields: tinted rounded box with the label inside (as in the design) */
.pc-form .elementor-field-group:not(.elementor-field-type-radio):not(.elementor-field-type-submit) { display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0.25rem; padding: 0.75rem 1.125rem; border: 0.0625rem solid transparent; border-radius: 0.875rem; background: var(--e-global-color-field); transition: border-color .3s ease; }
.pc-form .elementor-field-group:not(.elementor-field-type-radio):not(.elementor-field-type-submit):focus-within { border-color: var(--e-global-color-accent); }
.pc-form .elementor-field-group .elementor-field-label { margin: 0; font-size: 0.8125rem; line-height: 1.2; color: var(--e-global-color-body); }
.pc-form .elementor-field-textual { min-height: 0; padding: 0.125rem 0; border: 0 !important; background: transparent !important; box-shadow: none !important; font-size: 1.0625rem; color: var(--e-global-color-primary); }
.pc-form .elementor-field-textual:focus { outline: 0; }
/* role .elementor-kit-7 = pills */
.pc-form .elementor-field-type-radio .elementor-field-label { margin-bottom: 0.5rem; }
.pc-form .elementor-field-type-radio .elementor-field-subgroup { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.pc-form .elementor-field-type-radio .elementor-field-option { position: relative; }
.pc-form .elementor-field-type-radio .elementor-field-option input { position: absolute; opacity: 0; pointer-events: none; }
.pc-form .elementor-field-type-radio .elementor-field-option label { display: inline-block; padding: 0.625rem 1.125rem; border: 0.0625rem solid #c9c5bc; border-radius: 62.4375rem; font-size: 0.875rem; line-height: 1.2; color: var(--e-global-color-primary); cursor: pointer; transition: background .3s ease, color .3s ease, border-color .3s ease; }
.pc-form .elementor-field-type-radio .elementor-field-option label:hover { border-color: var(--e-global-color-primary); }
.pc-form .elementor-field-type-radio .elementor-field-option input:checked + label { background: var(--e-global-color-primary); border-color: var(--e-global-color-primary); color: var(--e-global-color-cream); }
.pc-form .elementor-field-type-radio .elementor-field-option input:focus-visible + label { outline: 0.125rem solid var(--e-global-color-accent); outline-offset: 0.125rem; }
.pc-form .elementor-field-type-submit { margin-top: 0.375rem; }
.pc-form .elementor-message-success { color: var(--e-global-color-primary); font-size: 1.0625rem; }

/* hide the empty previous/next card on the first/last object */
.elementor-widget-post-navigation.pc-postnav .elementor-post-navigation__link:not(:has(a)) { display: none; }
.elementor-widget-n-tabs.pc-steps.e-n-tabs-mobile .e-n-tabs-heading .e-n-tab-title,
.elementor-widget-n-tabs.pc-steps.e-n-tabs-mobile .e-n-tabs-heading .e-n-tab-title:hover,
.elementor-widget-n-tabs.pc-steps.e-n-tabs-mobile .e-n-tabs-heading .e-n-tab-title:focus,
.elementor-widget-n-tabs.pc-steps.e-n-tabs-mobile .e-n-tabs-heading .e-n-tab-title[aria-selected="true"],
.elementor-widget-n-tabs.pc-steps .e-n-tabs-heading .e-n-tab-title[aria-selected="true"] { background: none !important; background-color: transparent !important; color: var(--e-global-color-primary) !important; box-shadow: none !important; }
.elementor-widget-n-tabs.pc-steps .e-n-tabs-heading .e-n-tab-title[aria-selected="true"] .e-n-tab-title-text { color: var(--e-global-color-primary) !important; }
.elementor-widget-n-tabs.pc-steps.e-n-tabs-mobile .e-n-tabs-heading .e-n-tab-title { width: 100%; }

/* form: layout of the tinted field boxes */
.pc-form .elementor-form-fields-wrapper { gap: 0.875rem; }
.pc-form .elementor-field-group.elementor-col-100 { width: 100%; flex: 0 0 100%; }
.pc-form .elementor-field-group.elementor-col-50 { width: calc(50% - 0.4375rem); flex: 0 0 calc(50% - 0.4375rem); }
.pc-form .elementor-field-group:not(.elementor-field-type-radio):not(.elementor-field-type-submit) { padding: 0.75rem 1.125rem !important; }
.pc-form .elementor-field-textual, .pc-form .elementor-field-textual.elementor-size-md { min-height: 0 !important; height: auto; padding: 0.125rem 0 !important; line-height: 1.5; }
.pc-form textarea.elementor-field-textual { min-height: 6.875rem !important; resize: vertical; }
@media (max-width: 47.9375rem) { .pc-form .elementor-field-group.elementor-col-50 { width: 100%; flex-basis: 100%; } }/* End custom CSS */