.elementor-kit-1705{--e-global-color-primary:#3A4A5A;--e-global-color-secondary:#444444;--e-global-color-text:#333333;--e-global-color-accent:#0073FF;--e-global-color-e4decbb:#FFFFFF;--e-global-color-49bfe38:#F7F7F7;--e-global-color-3010a88:#EEEEEE;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-size:clamp(2.2rem, 3.5vw, 2.6rem);--e-global-typography-primary-font-weight:500;--e-global-typography-primary-text-transform:none;--e-global-typography-primary-font-style:italic;--e-global-typography-primary-text-decoration:none;--e-global-typography-primary-line-height:1.1em;--e-global-typography-primary-letter-spacing:0.2px;--e-global-typography-primary-word-spacing:0em;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-text-transform:none;--e-global-typography-secondary-font-style:normal;--e-global-typography-secondary-text-decoration:none;--e-global-typography-secondary-line-height:1.5em;--e-global-typography-secondary-letter-spacing:0px;--e-global-typography-secondary-word-spacing:0em;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-size:clamp(16px, 16px, 16px);--e-global-typography-text-font-weight:400;--e-global-typography-text-text-transform:none;--e-global-typography-text-font-style:normal;--e-global-typography-text-text-decoration:none;--e-global-typography-text-line-height:1.6em;--e-global-typography-text-letter-spacing:0px;--e-global-typography-text-word-spacing:0em;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-size:18px;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-text-transform:none;--e-global-typography-accent-font-style:normal;--e-global-typography-accent-text-decoration:none;--e-global-typography-accent-line-height:1em;--e-global-typography-accent-letter-spacing:0px;--e-global-typography-accent-word-spacing:0em;color:var( --e-global-color-text );font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;line-height:1.6em;letter-spacing:0px;word-spacing:0em;}.elementor-kit-1705 button,.elementor-kit-1705 input[type="button"],.elementor-kit-1705 input[type="submit"],.elementor-kit-1705 .elementor-button{background-color:var( --e-global-color-secondary );font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:-0.5px;color:#FAFAFA;}.elementor-kit-1705 e-page-transition{background-color:#FFBC7D;}.elementor-kit-1705 p{margin-block-end:0px;}.elementor-kit-1705 a{color:var( --e-global-color-accent );font-size:17px;font-weight:600;text-transform:none;}.elementor-kit-1705 a:hover{color:var( --e-global-color-primary );}.elementor-kit-1705 h1{color:var( --e-global-color-primary );font-family:"Montserrat", Sans-serif;font-size:40px;font-weight:800;text-transform:none;font-style:italic;text-decoration:none;line-height:1.1em;letter-spacing:0.5px;}.elementor-kit-1705 h2{color:var( --e-global-color-secondary );font-family:"Montserrat", Sans-serif;font-size:30px;font-weight:600;text-transform:none;font-style:normal;text-decoration:none;line-height:1.7em;letter-spacing:-0.1px;word-spacing:0em;}.elementor-kit-1705 h3{color:var( --e-global-color-text );font-family:"Montserrat", Sans-serif;font-size:22px;font-weight:400;text-transform:none;font-style:italic;text-decoration:none;line-height:1.1em;letter-spacing:0.2px;word-spacing:0em;}.elementor-kit-1705 h4{color:#111827;font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:0px;word-spacing:0em;}.elementor-kit-1705 h5{color:#111827;font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );font-style:var( --e-global-typography-secondary-font-style );text-decoration:var( --e-global-typography-secondary-text-decoration );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-kit-1705 h6{color:#111827;font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );font-style:var( --e-global-typography-secondary-font-style );text-decoration:var( --e-global-typography-secondary-text-decoration );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1320px;}.e-con{--container-max-width:1320px;--container-default-padding-top:0rem;--container-default-padding-right:0rem;--container-default-padding-bottom:0rem;--container-default-padding-left:0rem;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.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:768px){.elementor-kit-1705{--e-global-typography-primary-font-size:32px;--e-global-typography-primary-line-height:0.1em;--e-global-typography-primary-letter-spacing:-1px;--e-global-typography-secondary-font-size:15px;--e-global-typography-text-font-size:15px;--e-global-typography-accent-font-size:16px;font-size:15px;}.elementor-kit-1705 a{font-size:1px;}.elementor-kit-1705 h1{font-size:36px;line-height:1.2em;}.elementor-kit-1705 h2{font-size:26px;}.elementor-kit-1705 h3{font-size:30px;line-height:0.1em;letter-spacing:-1px;}.elementor-kit-1705 h4{font-size:15px;}.elementor-kit-1705 h5{line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-kit-1705 h6{line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;--container-default-padding-top:0rem;--container-default-padding-right:0rem;--container-default-padding-bottom:0rem;--container-default-padding-left:0rem;}}@media(max-width:400px){.elementor-kit-1705{--e-global-typography-primary-font-size:28px;--e-global-typography-secondary-font-size:14px;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-size:14px;line-height:1.6em;}.elementor-kit-1705 a{font-size:15px;}.elementor-kit-1705 h1{font-size:28px;line-height:1.2em;}.elementor-kit-1705 h2{font-size:22px;line-height:1.2em;}.elementor-kit-1705 h3{font-size:18px;}.elementor-kit-1705 h4{font-size:14px;}.elementor-kit-1705 h5{line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-kit-1705 h6{line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:0rem;--container-default-padding-right:0rem;--container-default-padding-bottom:0rem;--container-default-padding-left:0rem;}}/* Start custom CSS */.elementor-widget,
.elementor-widget-heading h1,
.elementor-widget-heading h2,
.elementor-widget-heading h3,
.elementor-widget-heading h4,
.elementor-widget-heading h5,
.elementor-widget-heading h6,
.elementor-text-editor {
    writing-mode: horizontal-tb !important;
}
/* ===== Header layout: logo left, menu right (Containers) ===== */

/* 1) Align the main header row */
header .e-con {
  display: flex;
  align-items: center;          /* vertical centering */
  justify-content: space-between; /* pushes ends apart: logo ← → menu */
  gap: 24px;                    /* breathing room; adjust to taste */
}

/* 2) Make the logo bigger (Theme Site Logo widget) */
header .elementor-widget-theme-site-logo img {
  max-height: 120px;            /* ← change this value to resize logo */
  height: auto;                 /* keep aspect ratio */
  width: auto;                  /* avoid distortion */
  
  
  display: block;
}
body,
p {
  font-size: clamp(15px, 1.1vw + 0.5rem, 16px);
  line-height: 1.6;
}

/* If you used a regular Image widget for the logo instead: */
header .elementor-widget-image img {
  max-height: 120px;
  height: auto;
  width: auto;
  display: block;
}

/* 3) Keep the navigation aligned and spaced */
header .elementor-nav-menu--main {
  align-items: center;          /* vertical alignment for menu items */
}

/* 4) Responsive tweaks */
@media (max-width: 1024px) {
  header .e-con { gap: 16px; }
}
@media (max-width: 767px) {
  /* shrink logo a bit on mobile so header doesn’t feel crowded */
  header .elementor-widget-theme-site-logo img,
  header .elementor-widget-image img {
    max-height: 80px;
  }
  /* allow wrap if needed on small screens */
  header .e-con {
    flex-wrap: wrap;
    row-gap: 12px;
  }
}
.mint-text {
  color: #9ED9C8 !important;
}
/* Required for hover effects */
.bento-image {
  position: relative;
  overflow: hidden;
  background-position: center;
  background-repeat: no-repeat;

  /* THIS is the key fix */
  background-size: 115% !important;

  transition: background-size 0.4s ease;
}

/* Hover zoom */
.bento-image:hover {
  background-size: 135% !important;
}
.hero-illustration svg,
.hero-illustration img {
  width: 100%;
  height: auto;
  max-width: 100%;
  display: block;
}.hero-illustration svg,
.hero-illustration img {
  width: 100%;
  height: auto;
  max-width: 100%;
  display: block;
}
.hero-once {
  animation: heroOnce 0.8s ease-out 0s 1 both;
}

@keyframes heroOnce {
  0% {
    opacity: 0;
    transform: translateY(40px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Base bento image rules */
.bento-image {
  position: relative;
  overflow: hidden;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

/* Panorama behaviour */
.bento-panorama {
  background-position: center top;
  aspect-ratio: 16 / 6;
}

/* Castle behaviour (taller tiles) */
.bento-castle {
  background-position: top center;
  aspect-ratio: 3 / 4;
}

/* Tablet adjustments */
@media (max-width: 1024px) {
  .bento-panorama {
    aspect-ratio: 16 / 7;
  }

  .bento-castle {
    aspect-ratio: 4 / 5;
  }
}

/* Mobile adjustments */
@media (max-width: 767px) {
  .bento-image {
    aspect-ratio: 4 / 5;
  }
}
/* Base bento image */
.bento-image {
  position: relative;
  overflow: hidden;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

/* Panorama: wide but not tall */
.bento-panorama {
  aspect-ratio: 16 / 5;
  max-height: clamp(200px, 30vw, 320px);
  background-position: center top;
}

/* Castle: tall but controlled */
.bento-castle {
  aspect-ratio: 4 / 5;
  max-height: clamp(260px, 35vw, 420px);
  background-position: top center;
}

/* Tablet refinements */
@media (max-width: 1024px) {
  .bento-panorama {
    aspect-ratio: 16 / 6;
    max-height: clamp(180px, 28vw, 260px);
  }

  .bento-castle {
    aspect-ratio: 3 / 4;
    max-height: clamp(240px, 32vw, 360px);
  }
}

/* Mobile: compact and consistent */
@media (max-width: 767px) {
  .bento-image {
    aspect-ratio: 4 / 5;
    max-height: clamp(220px, 70vw, 320px);
  }
}

.castle {
  max-height: 300px;
}
.bento-grid {
  padding-inline: 16px;   /* left + right padding */
  box-sizing: border-box;
}
.castle {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
html, body {
  overflow-x: hidden;
}

.bento-grid {
  width: 100%;
  max-width: 100%;
  justify-items: stretch;
  align-items: stretch;
}
/* Panorama aspect ratio control */
.panorama {
  aspect-ratio: 21 / 9;              /* classic panorama */
  background-size: cover;
  background-position: center center;
}
.site-header {
  transition: background 0.3s ease, box-shadow 0.3s ease;
}
/* Base bento item */
.bento-item {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 16px;
}

/* PANORAMAS — force identical behaviour */
.pano {
  aspect-ratio: 3 / 1;
}

/* CASTLES — slightly vertical */
.castle {
  aspect-ratio: 4 / 5;
}

/* PANORAMA SPAN */
.pano-span {
  grid-column: 1 / span 2;
}
/* Base tile styling */
.bento-item {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 16px;
}

/* Panoramas — identical crop */
.pano {
  aspect-ratio: 3 / 1;
}

/* Castles — vertical balance */
.castle {
  aspect-ratio: 4 / 5;
}
.site-align {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 4rem;
  padding-right: 
  
 .hero-col-1 {
  transform: translate(24px, 
  .hero-shift-right {
  transform: translateX(24px);
}
.hero-shift-right {
  transform: translateX(24px);
}.hero-shift-right {
  transform: translateX(24px);
}
@media (max-width: 1024px) and (min-width: 768px) {
  .hero-shift-left {
    transform: translateX(-24px);
  }
}
@media (max-width: 1024px) and (min-width: 768px) {
  .hero-align {
    position: relative;
    left: -24px;
  }
}
.glass {
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 16px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}

@media (max-width: 1024px) {
  /* mobile + mobile landscape + tablet */
}
/* Slightly narrow the loop grid only */
.narrow-loop {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
}
.page-close-mark {
  padding: 32px 0 32px 48px;
}

@media (max-width: 768px) {
  .page-close-mark {
    padding-left: 0;
  }
}
/* Fade-in base state */
.reveal-on-scroll {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 700ms ease, transform 700ms ease;
  will-change: opacity, transform;
}

/* Revealed state */
.reveal-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Respect reduced motion preferences */
@media (prefers-reduced-motion: reduce) {
  .reveal-on-scroll {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
/* ===== CONTAINER (TITLE + BREADCRUMB INLINE) ===== */
.page-header-inline {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap; /* ✅ keeps it responsive */
}

/* ===== PAGE TITLE ===== */
.page-header-inline h1,
.page-header-inline .elementor-heading-title {
  margin: 0;
  font-size: 28px; /* adjust to your design */
  line-height: 1.2;
}

/* ===== BREADCRUMB RESET ===== */
.rank-math-breadcrumb {
  background: none !important;
  padding: 0 !important;
  margin: 0 !important;

  display: inline-flex;
  align-items: center;
  gap: 4px;

  font-size: 11px;
  line-height: 1.2;
  white-space: nowrap;
}

/* ===== LINKS ===== */
.rank-math-breadcrumb a {
  color: rgb(100, 100, 100);
  text-decoration: none;
}

.rank-math-breadcrumb a:hover {
  color: rgb(0, 0, 0);
  text-decoration: underline;
}

/* ===== CURRENT PAGE ===== */
.rank-math-breadcrumb span {
  color: rgb(140, 140, 140);
}

/* ===== SEPARATOR ===== */
.rank-math-breadcrumb .separator {
  margin: 0 3px;
  color: rgb(160, 160, 160);
}

/* ===== OPTIONAL DIVIDER (PRO LOOK) ===== */
.rank-math-breadcrumb {
  border-left: 1px solid rgb(220, 220, 220);
  padding-left: 10px !important;
  margin-left: 10px !important;
}

/* ===== REMOVE ELEMENTOR EXTRA SPACE ===== */
.elementor-widget-shortcode {
  margin: 0 !important;
  padding: 0 !important;
}

/* ===== MOBILE FIX ===== */
@media (max-width: 767px) {
  .page-header-inline {
    flex-direction: column;
    align-items: flex-start;
  }

  .rank-math-breadcrumb {
    margin-top: 4px !important;
    border-left: none;
    padding-left: 0 !important;
  }
}
:root{
  --accent: #3b82f6;
  --accent-hover: #2563eb;
}

/* Global Elementor button look */
.elementor .elementor-button{
  background: var(--accent);
  color: #fff;
  border-radius: 10px;
  padding: 10px 16px;
  transition: all .18s ease;
  box-shadow: 0 8px 18px rgba(59,130,246,.18);
}
.elementor .elementor-button:hover{
  background: var(--accent-hover);
  transform: translateY(-1px);
}

/* Card hover primes the button (needs card class on container) */
.card:hover .elementor-button{
  background: var(--accent-hover);
  box-shadow: 0 12px 24px rgba(59,130,246,.22);
}
html {
  scroll-behavior: smooth;
}

.scroll-arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 40px;
  width: 40px;
  height: 40px;
  margin-left: auto;
  margin-right: auto;
  color: #111;
  opacity: 0.6;
  transition: all 0.25s ease;
  cursor: pointer;
}

/* hover interaction */
.scroll-arrow:hover {
  opacity: 1;
  transform: translateY(4px);
}

/* subtle idle animation */
.scroll-arrow svg {
  animation: bounce 2s infinite;
}

/* animation keyframes */
@keyframes bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(6px); }
}
``/* End custom CSS */