.elementor-kit-9{--e-global-color-primary:#F7F4EC;--e-global-color-secondary:#0E8E7E;--e-global-color-text:#14201C;--e-global-color-accent:#D95D39;--e-global-color-coral:#D95D39;--e-global-color-cream:#EFEAE0;--e-global-color-ink:#14201C;--e-global-color-mut:#6E746C;--e-global-color-line:#E3DDCC;--e-global-typography-primary-font-family:"Archivo";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Archivo";--e-global-typography-secondary-font-weight:500;--e-global-typography-text-font-family:"Archivo";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Caveat";--e-global-typography-accent-font-weight:600;background-color:#F7F4EC;color:#14201C;font-family:"Archivo", Sans-serif;font-size:17px;line-height:1.65em;}.elementor-kit-9 e-page-transition{background-color:#FFBC7D;}.elementor-kit-9 a{color:#0E8E7E;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1240px;}.e-con{--container-max-width:1240px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* PT RESET v4 */
.ptpage .elementor-widget{display:contents!important}
.ptpage .elementor-widget>.elementor-widget-container{display:contents!important}
.ptpage .e-con>.e-con-inner{display:contents}
.ptpage.e-con,.ptpage.e-con,.ptpage .e-con,.ptpage .e-con-inner{--display:block !important;--width:auto !important;--content-width:none !important;--container-max-width:none !important;--container-widget-width:auto !important;--min-height:0px !important;--height:auto !important;--position:static !important;--overflow:visible !important;--z-index:auto !important;--padding-top:0px !important;--padding-right:0px !important;--padding-bottom:0px !important;--padding-left:0px !important;--padding-block-start:0px !important;--padding-block-end:0px !important;--padding-inline-start:0px !important;--padding-inline-end:0px !important;--margin-top:0px !important;--margin-right:0px !important;--margin-bottom:0px !important;--margin-left:0px !important;--margin-block-start:0px !important;--margin-block-end:0px !important;--margin-inline-start:0px !important;--margin-inline-end:0px !important;--gap:0px !important;--row-gap:0px !important;--column-gap:0px !important;--flex-direction:row !important;--flex-wrap:nowrap !important;--align-items:normal !important;--align-content:normal !important;--justify-content:normal !important;--flex-grow:0 !important;--flex-shrink:1 !important;--flex-basis:auto !important;--text-align:inherit !important;--border-radius:0 !important;--border-style:none !important;--border-top-width:0px !important;--border-right-width:0px !important;--border-bottom-width:0px !important;--border-left-width:0px !important}
.ptpage.e-con,.ptpage.e-con,.ptpage .e-con:where(.e-flex,.e-grid,.e-con-full,.e-con-boxed,.elementor-element){display:var(--display)}
:where(.ptpage) :where(.e-con){min-width:0}

:root{--night: #F7F4EC; --amber: #0E8E7E; --amber-h: #12B39C; --ink: #14201C; --teal: #D95D39; --panel: #FFFFFF; --cream: #EFEAE0; --line: #E3DDCC; --mut: #6E746C; --dark-on-cream: #171C19; --pale: #F4F1EA; --wa: #25D366; --serif: 'Archivo Expanded','Archivo',sans-serif; --sans: 'Archivo',sans-serif; --ease: cubic-bezier(.16,1,.3,1); --maxw: 1240px;}
*{margin: 0px; padding: 0px; box-sizing: border-box;}
html{scroll-behavior: smooth; overflow-x: clip;}
body{font-family: var(--sans); background: var(--night); color: var(--ink); font-size: 17px; line-height: 1.65; -webkit-font-smoothing: antialiased; overflow-x: clip;}
.elementor.elementor img{display: block; max-width: 100%;}
.elementor.elementor a{color: inherit; text-decoration: none;}
.elementor.elementor ul{list-style: none;}
.elementor.elementor button{font-family: inherit; cursor: pointer; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; background: none; color: inherit;}
.elementor.elementor .wrap{max-width: var(--maxw); margin: 0px auto; padding: 0px 5vw;}
.elementor.elementor .kicker{font-size: 12.5px; font-weight: 600; letter-spacing: 0.28em; text-transform: uppercase; color: var(--amber);}
.elementor.elementor .kicker.t{color: var(--teal);}
.elementor.elementor .micro{font-size: 11.5px; font-weight: 500; letter-spacing: 0.22em; text-transform: uppercase; color: var(--mut);}
.elementor.elementor .sec{padding: 110px 0px;}
@media (max-width: 1024px){.elementor.elementor .sec{padding: 80px 0px;}}
@media (max-width: 767px){.elementor.elementor .sec{padding: 56px 0px;}}
.elementor.elementor h1,.elementor.elementor h2,.elementor.elementor h3{font-family: var(--serif); font-weight: 600;}
.elementor.elementor h1{font-size: clamp(32px, 5.4vw, 80px); line-height: 1.03; letter-spacing: 0.045em; text-transform: uppercase;}
.elementor.elementor h2{font-size: clamp(25px, 3vw, 40px); line-height: 1.12; letter-spacing: 0.035em; text-transform: uppercase;}
.elementor.elementor h3{font-size: clamp(19px, 1.9vw, 25px); line-height: 1.25; letter-spacing: 0.01em;}
.elementor.elementor h1 em,.elementor.elementor h2 em{font-style: normal; font-family: Caveat, cursive; text-transform: none; font-weight: 600; font-size: 1.22em; letter-spacing: 0px; color: var(--teal);}
.elementor.elementor .hero h1 em,.elementor.elementor .band h2 em{color: rgb(255, 176, 154);}
.elementor.elementor .out{color: transparent; -webkit-text-stroke: 2px var(--ink);}
.elementor.elementor .hand{font-family: Caveat, cursive; font-weight: 600; letter-spacing: 0px; text-transform: none;}
.elementor.elementor .lead{color: var(--mut); font-size: 18px; max-width: 640px;}
.elementor.elementor .btn{display: inline-block; background: rgb(13, 129, 114); color: rgb(255, 255, 255); padding: 17px 36px; font-size: 13px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; border-radius: 999px; transition: transform .25s var(--ease),background .25s,box-shadow .25s;}
.elementor.elementor .btn:hover{background: rgb(18, 179, 156); transform: translateY(-2px); box-shadow: rgba(13, 129, 114, 0.3) 0px 14px 30px;}
.elementor.elementor .btn:focus-visible{outline: 2px solid var(--teal); outline-offset: 3px;}
.elementor.elementor .btn.ghost{background: transparent; color: var(--ink); border: 1px solid rgba(23, 28, 25, 0.35);}
.elementor.elementor .btn.ghost:hover{border-color: var(--amber); color: var(--amber); background: transparent;}
.elementor.elementor .hero .btn.ghost,.elementor.elementor .band .btn.ghost{color: var(--pale); border-color: rgba(244, 241, 234, 0.55);}
.elementor.elementor .hero .btn.ghost:hover,.elementor.elementor .band .btn.ghost:hover{color: var(--amber-h); border-color: var(--amber-h);}
.elementor.elementor .btn.wa{background: var(--wa); color: rgb(11, 32, 21);}
.elementor.elementor .btn.wa:hover{background: rgb(63, 224, 126);}
.elementor.elementor .btn.ghost{border-radius: 999px;}
.elementor.elementor .arrow{color: var(--amber); font-weight: 600; font-size: 14px; letter-spacing: 0.08em;}
.elementor.elementor .arrow span{display: inline-block; transition: transform .25s var(--ease);}
.elementor.elementor .arrow:hover span{transform: translateX(5px);}
.elementor.elementor .grain{position: absolute; inset: 0px; opacity: 0.07; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");}
.elementor.elementor header{position: fixed; top: 0px; left: 0px; right: 0px; z-index: 100; transition: background 0.35s, border 0.35s;}
.elementor.elementor header.scrolled{background: rgba(247, 244, 236, 0.92); backdrop-filter: blur(12px); border-bottom: 1px solid var(--line);}
.elementor.elementor .nav{display: flex; align-items: center; justify-content: space-between; padding: 20px 4vw; gap: 12px;}
@media (max-width: 767px){.elementor.elementor .nav{padding: 14px 4vw;}.elementor.elementor .nav .btn{padding: 11px 18px; font-size: 11px;}}
.elementor.elementor .logo{font-weight: 700; letter-spacing: 0.24em; font-size: 15px;}
.elementor.elementor .logo b{color: var(--amber);}
.elementor.elementor .nav-links{display: none; gap: 32px; font-size: 13.5px; font-weight: 500; letter-spacing: 0.03em;}
.elementor.elementor .nav-links a{opacity: 0.85; transition: opacity 0.2s, color 0.2s; padding: 6px 0px;}
.elementor.elementor .nav-links a:hover,.elementor.elementor .nav-links a.on{opacity: 1; color: var(--amber);}
.elementor.elementor .nav-right{display: flex; align-items: center; gap: 18px;}
.elementor.elementor .lang{display: none; font-size: 12px; letter-spacing: 0.14em; color: var(--mut); white-space: nowrap;}
@media (min-width: 1100px){.elementor.elementor .lang{display: inline;}}
.elementor.elementor .lang b{color: var(--ink);}
.elementor.elementor .nav .btn{padding: 12px 24px; font-size: 12px;}
.elementor.elementor .burger{display: block; font-size: 24px; line-height: 1;}
@media (min-width: 1100px){.elementor.elementor .nav-links{display: flex;}.elementor.elementor .burger{display: none;}}
.elementor.elementor .mmenu{position: fixed; inset: 0px; background: var(--night); z-index: 200; display: none; flex-direction: column; padding: 24px 6vw; overflow: auto;}
.elementor.elementor .mmenu.open{display: flex;}
.elementor.elementor .mmenu a{font-family: var(--serif); font-size: 32px; padding: 14px 0px; border-bottom: 1px solid var(--line);}
.elementor.elementor .mmenu .close{align-self: flex-end; font-size: 30px; padding: 10px;}
@keyframes pagein { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
.elementor.elementor .hero{position: relative; min-height: 86vh; margin: 92px 3vw 0px; border-radius: 26px; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; color: var(--pale);}
.elementor.elementor .hero.short{min-height: 68vh;}
.elementor.elementor .hero .lead{color: rgba(244, 241, 234, 0.88);}
.elementor.elementor .hero .micro,.elementor.elementor .hero .stat span{color: rgba(244, 241, 234, 0.72);}
@media (max-width: 767px){.elementor.elementor .hero{margin: 76px 3vw 0px;}}
.elementor.elementor .hero .bg,.elementor.elementor .heroM .bg{position: absolute; inset: 0px; background-size: cover; background-position: center center; transform: scale(1.06); animation: settle 2.2s var(--ease) both,drift 30s 2.2s ease-in-out infinite alternate;}
@keyframes drift { 
  0% { transform: scale(1.06); }
  100% { transform: scale(1.13); }
}
.elementor.elementor .hero .bg::after,.elementor.elementor .heroM .bg::after{content: ""; position: absolute; inset: 0px; background: linear-gradient(rgba(11, 16, 14, 0.35), rgba(11, 16, 14, 0.12) 45%, rgba(11, 16, 14, 0.82) 100%);}
.elementor.elementor .hero h1{font-size: clamp(40px, 7vw, 110px);}
.elementor.elementor .heroM{position: relative; min-height: 54vh; margin: 76px 1.2vw 0px; border-radius: 26px; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; padding: 90px 5vw 46px; color: var(--pale);}
.elementor.elementor .heroM .crumbline{position: relative; z-index: 3; font-size: 12px; letter-spacing: 0.08em; color: rgba(244, 241, 234, 0.8); animation: rise .8s .5s var(--ease) both;}
.elementor.elementor .heroM .crumbline a:hover{color: var(--amber-h);}
.elementor.elementor .heroM h1{position: relative; z-index: 3; font-size: clamp(38px, 6.8vw, 104px); font-weight: 700; letter-spacing: 0.05em; line-height: 0.98; margin-top: 14px; animation: trackin 1.5s .2s var(--ease) both; text-shadow: rgba(11, 16, 14, 0.35) 0px 8px 40px;}
.elementor.elementor .heroM .subM{position: relative; z-index: 3; margin-top: 10px; font-size: clamp(15px, 1.3vw, 19px); color: rgba(244, 241, 234, 0.9); max-width: 640px; animation: rise 1s 1s var(--ease) both;}
.elementor.elementor .heroM .subM .hand{color: rgb(255, 176, 154); font-size: 1.4em;}
.elementor.elementor .heroM .chips{position: relative; z-index: 3; display: flex; gap: 26px; margin-top: 18px; flex-wrap: wrap; animation: 1s ease 1.2s 1 normal both running rise;}
.elementor.elementor .heroM .chips span{font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(244, 241, 234, 0.78); font-weight: 600;}
.elementor.elementor .hero .inner{position: relative; z-index: 3; padding: 0px 5vw 8vh; max-width: 1400px;}
.elementor.elementor .reveal-line{display: block; overflow: hidden;}
.elementor.elementor .reveal-line > span{display: block; transform: translateY(110%); animation: reveal 1.1s var(--ease) both;}
.elementor.elementor .reveal-line:nth-child(2) > span{animation-delay: 0.15s;}
.elementor.elementor .reveal-line:nth-child(3) > span{animation-delay: 0.3s;}
.elementor.elementor .rise{opacity: 0; transform: translateY(26px); animation: rise .9s var(--ease) both;}
.elementor.elementor .d1{animation-delay: 0.35s;}
.elementor.elementor .d2{animation-delay: 0.55s;}
.elementor.elementor .d3{animation-delay: 0.75s;}
.elementor.elementor .d4{animation-delay: 0.95s;}
@keyframes reveal { 
  100% { transform: translateY(0px); }
}
@keyframes rise { 
  100% { opacity: 1; transform: translateY(0px); }
}
@keyframes settle { 
  0% { opacity: 0.4; transform: scale(1.1); }
  100% { opacity: 1; transform: scale(1.06); }
}
.elementor.elementor .hero .gps{position: absolute; right: 4vw; bottom: 8vh; z-index: 3; text-align: right; display: none;}
@media (min-width: 900px){.elementor.elementor .hero .gps{display: block;}}
.elementor.elementor .stats{display: flex; gap: 48px; flex-wrap: wrap;}
.elementor.elementor .stat b{display: block; font-family: var(--serif); font-weight: 600; font-size: 38px; line-height: 1;}
.elementor.elementor .stat span{font-size: 11.5px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--mut);}
.elementor.elementor .finder{display: flex; flex-wrap: wrap; gap: 10px; background: rgba(255, 255, 255, 0.92); backdrop-filter: blur(14px); border: 1px solid rgba(255, 255, 255, 0.8); border-radius: 999px; padding: 10px 10px 10px 16px; box-shadow: rgba(17, 20, 17, 0.22) 0px 30px 70px; max-width: 820px; color: var(--ink);}
@media (max-width: 767px){.elementor.elementor .finder{border-radius: 24px;}}
.elementor.elementor .finder .f{flex: 1 1 0%; min-width: 180px; padding: 8px 18px; border-right: 1px solid rgba(23, 28, 25, 0.12);}
.elementor.elementor .finder .f:last-of-type{border-right: 0px;}
.elementor.elementor .finder label{display: block; font-size: 10.5px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--teal); font-weight: 600; margin-bottom: 2px;}
.elementor.elementor .finder select{width: 100%; background: transparent; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: var(--ink); font-family: var(--sans); font-size: 15px; font-weight: 500;}
.elementor.elementor .finder select option{background: rgb(255, 255, 255); color: var(--ink);}
.elementor.elementor .finder .btn{align-self: stretch; display: flex; align-items: center;}
.elementor.elementor .crumb{padding: 96px 0px 0px; font-size: 12.5px; letter-spacing: 0.06em; color: var(--mut);}
.elementor.elementor .crumb a:hover{color: var(--amber);}
.elementor.elementor .crumb .wrap{display: flex; gap: 10px; flex-wrap: wrap;}
.elementor.elementor .grid{display: grid; gap: 22px;}
.elementor.elementor .grid.c3{grid-template-columns: repeat(3, 1fr);}
.elementor.elementor .grid.c2{grid-template-columns: repeat(2, 1fr);}
.elementor.elementor .grid.c4{grid-template-columns: repeat(4, 1fr);}
@media (max-width: 1024px){.elementor.elementor .grid.c3,.elementor.elementor .grid.c4{grid-template-columns: repeat(2, 1fr);}}
@media (max-width: 767px){.elementor.elementor .grid.c3,.elementor.elementor .grid.c2,.elementor.elementor .grid.c4{grid-template-columns: 1fr;}}
.elementor.elementor .xcard{position: relative; display: block; border-radius: 20px; overflow: hidden; background: var(--panel); border: 1px solid var(--line);}
.elementor.elementor .xcard .im{position: relative; height: 300px; overflow: hidden;}
.elementor.elementor .xcard .im img{width: 100%; height: 100%; object-fit: cover; transition: filter .6s var(--ease),transform .6s var(--ease);}
.elementor.elementor .xcard:hover .im img{filter: brightness(1.06); transform: scale(1.045);}
.elementor.elementor .xcard{box-shadow: rgba(23, 28, 25, 0.06) 0px 6px 24px; transition: box-shadow .4s var(--ease),transform .4s var(--ease);}
.elementor.elementor .xcard:hover{box-shadow: rgba(23, 28, 25, 0.14) 0px 24px 50px; transform: translateY(-4px);}
.elementor.elementor .xcard .im::after{content: ""; position: absolute; inset: 0px; background: linear-gradient(transparent 45%, rgba(11, 16, 14, 0.72));}
.elementor.elementor .xcard .tag{position: absolute; top: 14px; left: 14px; z-index: 2; background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(6px); padding: 7px 14px; font-size: 10.5px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 600; color: var(--ink); border-radius: 999px;}
.elementor.elementor .xcard .price{position: absolute; bottom: 14px; right: 14px; z-index: 2; font-family: var(--serif); font-size: 23px; font-weight: 600; color: var(--pale);}
.elementor.elementor .xcard .price small{font-size: 12px; font-family: var(--sans); color: var(--mut); letter-spacing: 0.06em;}
.elementor.elementor .xcard .body{padding: 22px 22px 24px;}
.elementor.elementor .xcard h3{margin-bottom: 8px;}
.elementor.elementor .xcard .meta{display: flex; gap: 16px; font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--mut); margin-bottom: 10px;}
.elementor.elementor .xcard p{font-size: 14.5px; color: var(--mut); line-height: 1.55;}
.elementor.elementor .xcard .go{margin-top: 14px;}
.elementor.elementor .shead{display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 44px; flex-wrap: wrap;}
.elementor.elementor .shead h2{max-width: 640px; margin-top: 14px;}
.elementor.elementor .shead .lead{margin-top: 12px;}
.elementor.elementor .band{position: relative; min-height: 64vh; display: flex; align-items: flex-end; overflow: hidden; color: var(--pale); border-radius: 26px; margin: 0px 3vw;}
.elementor.elementor .band .bg{position: absolute; inset: 0px; background-size: cover; background-position: center center; will-change: transform;}
.elementor.elementor .band .bg::after{content: ""; position: absolute; inset: 0px; background: linear-gradient(rgba(11, 16, 14, 0.3), rgba(11, 16, 14, 0.85));}
.elementor.elementor .band .inner{position: relative; z-index: 2; padding: 64px 5vw; width: 100%;}
.elementor.elementor .band .kicker{color: rgba(244, 241, 234, 0.92);}
.elementor.elementor .band .bchips{display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px;}
.elementor.elementor .band .bchips span{border: 1px solid rgba(244, 241, 234, 0.38); border-radius: 999px; padding: 8px 15px; font-size: 13px; font-weight: 600; color: var(--pale); background: rgba(11, 16, 14, 0.28); backdrop-filter: blur(4px);}
.elementor.elementor .splitcirc{display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 64px; align-items: center;}
.elementor.elementor .splitcirc > div{min-width: 0px;}
.elementor.elementor .splitcirc .imgs{position: relative;}
.elementor.elementor .splitcirc .imgs .main{width: 100%; height: 460px; object-fit: cover; border-radius: 26px; display: block;}
.elementor.elementor .splitcirc .imgs .over{position: absolute; right: -18px; bottom: -34px; width: 40%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; border: 8px solid rgb(255, 255, 255); box-shadow: rgba(20, 32, 28, 0.2) 0px 20px 44px; transform: rotate(3deg);}
.elementor.elementor .circhips{display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px;}
.elementor.elementor .circhips span{border: 1px solid rgb(221, 214, 198); background: rgb(255, 255, 255); border-radius: 999px; padding: 9px 16px; font-size: 13.5px; font-weight: 600; color: var(--ink);}
.elementor.elementor .circhips span b{color: var(--amber); font-weight: 700;}
@media (max-width: 1024px){.elementor.elementor .splitcirc{gap: 40px;}.elementor.elementor .splitcirc .imgs .main{height: 380px;}}
@media (max-width: 900px){.elementor.elementor .splitcirc{grid-template-columns: 1fr; gap: 30px;}.elementor.elementor .splitcirc .imgs{margin-top: 16px; margin-bottom: 26px;}.elementor.elementor .splitcirc .imgs .main{height: 300px;}.elementor.elementor .splitcirc .imgs .over{right: 10px; bottom: -22px; width: 36%;}.elementor.elementor .splitcirc .kicker{letter-spacing: 0.18em;}}
.elementor.elementor .assure{display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; border-radius: 20px;}
.elementor.elementor .assure div{border-radius: 18px;}
@media (max-width: 1024px){.elementor.elementor .assure{grid-template-columns: repeat(2, 1fr);}}
@media (max-width: 600px){.elementor.elementor .assure{grid-template-columns: 1fr;}}
.elementor.elementor .assure div{background: var(--panel); padding: 30px 26px; color: var(--ink);}
.elementor.elementor .assure b{display: block; font-family: var(--serif); font-weight: 600; font-size: 17px; margin-bottom: 8px; letter-spacing: 0.02em; text-transform: uppercase;}
.elementor.elementor .assure p{font-size: 14px; color: var(--mut); line-height: 1.55;}
.elementor.elementor .assure .n{font-family: var(--serif); color: var(--amber); font-size: 15px; display: block; margin-bottom: 12px;}
.elementor.elementor .reviews{display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px;}
@media (max-width: 1024px){.elementor.elementor .reviews{grid-template-columns: 1fr;}}
.elementor.elementor .review{background: var(--panel); border: 1px solid var(--line); border-radius: 20px; padding: 30px;}
.elementor.elementor .review .stars{color: var(--amber); letter-spacing: 3px; margin-bottom: 14px;}
.elementor.elementor .review p{font-size: 15px; color: var(--ink); line-height: 1.6;}
.elementor.elementor .review footer{margin-top: 18px; font-size: 12.5px; color: var(--mut); letter-spacing: 0.08em; text-transform: uppercase;}
.elementor.elementor .faq{border-top: 1px solid var(--line);}
.elementor.elementor .faq details{border-bottom: 1px solid var(--line);}
.elementor.elementor .faq summary{display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 24px 4px; font-family: var(--serif); font-size: 17px; font-weight: 500; cursor: pointer; list-style: none;}
.elementor.elementor .faq summary::-webkit-details-marker{display: none;}
.elementor.elementor .faq summary::after{content: "+"; font-size: 26px; color: var(--amber); transition: transform .3s var(--ease);}
.elementor.elementor .faq details[open] summary::after{transform: rotate(45deg);}
.elementor.elementor .faq .a{padding: 0px 4px 26px; color: var(--mut); max-width: 760px;}
.elementor.elementor footer.site{background: rgb(18, 22, 19); color: rgb(233, 228, 216); padding: 80px 0px 36px;}
.elementor.elementor .fgrid{display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; margin-bottom: 56px;}
@media (max-width: 1024px){.elementor.elementor .fgrid{grid-template-columns: 1fr 1fr;}}
@media (max-width: 600px){.elementor.elementor .fgrid{grid-template-columns: 1fr;}}
.elementor.elementor .fgrid h4{font-size: 12px; letter-spacing: 0.24em; text-transform: uppercase; color: rgb(155, 163, 154); margin-bottom: 18px; font-weight: 600;}
.elementor.elementor .fgrid a{display: block; padding: 5px 0px; font-size: 14.5px; color: rgb(233, 228, 216); opacity: 0.85;}
.elementor.elementor .fgrid a:hover{opacity: 1; color: var(--amber-h);}
.elementor.elementor .fgrid p{font-size: 14.5px; color: rgb(155, 163, 154);}
.elementor.elementor .fbase{border-top: 1px solid rgb(42, 47, 43); padding-top: 28px; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 12.5px; color: rgb(155, 163, 154);}
.elementor.elementor .fbase a:hover{color: var(--amber-h);}
.elementor.elementor .wafab{position: fixed; right: 22px; bottom: 22px; z-index: 90; background: var(--wa); color: rgb(11, 16, 14); width: 56px; height: 56px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 26px; box-shadow: rgba(0, 0, 0, 0.45) 0px 12px 32px; transition: transform .25s var(--ease);}
.elementor.elementor .wafab:hover{transform: scale(1.08);}
.elementor.elementor .sr{opacity: 0; transform: translateY(30px); transition: opacity .8s var(--ease),transform .8s var(--ease);}
.elementor.elementor .sr.in{opacity: 1; transform: none;}
.elementor.elementor .fact-rail{display: flex; gap: 12px; border-radius: 20px; flex-wrap: wrap;}
.elementor.elementor .fact-rail div{flex: 1 1 0%; min-width: 150px; background: var(--panel); border: 1px solid var(--line); border-radius: 16px; padding: 20px 22px;}
.elementor.elementor .fact-rail b{display: block; font-family: var(--serif); font-weight: 600; font-size: 21px;}
.elementor.elementor .fact-rail span{font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--mut);}
.elementor.elementor .split{display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 56px; align-items: start;}
@media (max-width: 1024px){.elementor.elementor .split{grid-template-columns: 1fr;}}
.elementor.elementor .answerbox{background: var(--panel); border-top-color: ; border-top-style: ; border-top-width: ; border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-left: 4px solid var(--amber); border-radius: 18px; padding: 26px 30px; font-size: 17px; line-height: 1.7; box-shadow: rgba(23, 28, 25, 0.05) 0px 6px 24px;}
.elementor.elementor .itin{border-left: 1px solid var(--line); margin-left: 8px;}
.elementor.elementor .itin li{position: relative; padding: 0px 0px 30px 34px;}
.elementor.elementor .itin li::before{content: ""; position: absolute; left: -6px; top: 6px; width: 11px; height: 11px; border-radius: 50%; background: var(--night); border: 2px solid var(--amber);}
.elementor.elementor .itin b{font-family: var(--serif); font-weight: 600; font-size: 17px; display: block; margin-bottom: 4px;}
.elementor.elementor .itin p{color: var(--mut); font-size: 15px;}
.elementor.elementor .itin .hr{font-size: 11px; letter-spacing: 0.2em; color: var(--teal); text-transform: uppercase; font-weight: 600;}
.elementor.elementor .inclist{display: grid; grid-template-columns: 1fr 1fr; gap: 32px;}
@media (max-width: 600px){.elementor.elementor .inclist{grid-template-columns: 1fr;}}
.elementor.elementor .inclist li{padding: 9px 0px 9px 26px; position: relative; font-size: 15px; color: var(--ink); border-bottom: 1px solid var(--line);}
.elementor.elementor .inclist .inc li::before{content: "✓"; position: absolute; left: 0px; color: var(--amber);}
.elementor.elementor .inclist .exc li{color: var(--mut);}
.elementor.elementor .inclist .exc li::before{content: "✕"; font-size: 12px; position: absolute; left: 0px; color: var(--mut);}
.elementor.elementor .bookcard{position: sticky; top: 96px; background: var(--panel); border: 1px solid var(--line); border-radius: 24px; padding: 32px; box-shadow: rgba(23, 28, 25, 0.08) 0px 20px 50px;}
.elementor.elementor .bookcard .p{font-family: var(--serif); font-weight: 600; font-size: 36px;}
.elementor.elementor .bookcard .p small{font-size: 13px; font-family: var(--sans); color: var(--mut); letter-spacing: 0.06em;}
.elementor.elementor .bookcard .note{font-size: 13px; color: var(--mut); margin: 6px 0px 20px;}
.elementor.elementor .bookcard form{display: grid; gap: 12px;}
.elementor.elementor .bookcard label{font-size: 10.5px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--mut); font-weight: 600;}
.elementor.elementor .bookcard input,.elementor.elementor .bookcard select,.elementor.elementor .bookcard textarea{width: 100%; background: var(--night); border: 1px solid var(--line); border-radius: 12px; color: var(--ink); padding: 13px 16px; font-family: var(--sans); font-size: 15px;}
.elementor.elementor .bookcard input:focus,.elementor.elementor .bookcard select:focus,.elementor.elementor .bookcard textarea:focus{outline: none; border-color: var(--amber); box-shadow: rgba(232, 163, 61, 0.18) 0px 0px 0px 3px;}
.elementor.elementor .row2{display: grid; grid-template-columns: 1fr 1fr; gap: 12px;}
.elementor.elementor .gallery{display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: 220px; gap: 14px;}
.elementor.elementor .gallery img{width: 100%; height: 100%; object-fit: cover; border-radius: 16px; transition: filter .5s,transform .6s var(--ease);}
.elementor.elementor .gallery img:hover{transform: scale(1.02);}
.elementor.elementor .gallery img:hover{filter: brightness(1.08);}
.elementor.elementor .gallery .tall{grid-row: span 2;}
@media (max-width: 767px){.elementor.elementor .gallery{grid-template-columns: 1fr 1fr; grid-auto-rows: 160px;}}
.elementor.elementor .postcard{display: grid; grid-template-columns: 200px 1fr; gap: 24px; padding: 26px 0px; border-bottom: 1px solid var(--line); align-items: center;}
@media (max-width: 600px){.elementor.elementor .postcard{grid-template-columns: 1fr;}}
.elementor.elementor .postcard img{width: 100%; height: 130px; object-fit: cover; border-radius: 14px;}
.elementor.elementor .postcard h3{margin: 6px 0px 8px;}
.elementor.elementor .postcard p{font-size: 14.5px; color: var(--mut);}
.elementor.elementor .prose{max-width: 760px;}
.elementor.elementor .prose p{margin-bottom: 22px; color: rgb(66, 71, 63);}
.elementor.elementor .prose h2{margin: 44px 0px 18px; font-size: 32px;}
.elementor.elementor .prose h3{margin: 32px 0px 14px;}
.elementor.elementor .prose .enc{background: var(--panel); border-top-color: ; border-top-style: ; border-top-width: ; border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-left: 4px solid var(--teal); border-radius: 16px; padding: 24px 28px; margin: 30px 0px;}
.elementor.elementor .prose .enc b{font-family: var(--serif); font-size: 19px; font-weight: 400; display: block; margin-bottom: 6px;}
.elementor.elementor .light{background: var(--cream); color: var(--dark-on-cream);}
.elementor.elementor .light h1,.elementor.elementor .light h2,.elementor.elementor .light h3{color: var(--dark-on-cream);}
.elementor.elementor .light .lead,.elementor.elementor .light p{color: rgb(74, 79, 74);}
.elementor.elementor .light .micro{color: rgb(122, 127, 120);}
.elementor.elementor .trail{position: absolute; inset: 0px; z-index: 2; pointer-events: none;}
.elementor.elementor .trail path{fill: none; stroke: rgba(244, 241, 234, 0.85); stroke-width: 2; stroke-dasharray: 7, 9; stroke-linecap: round;}
.elementor.elementor .trail .draw{stroke-dashoffset: 1400; animation: trail 4s 1s var(--ease) forwards;}
@keyframes trail { 
  100% { stroke-dashoffset: 0; }
}
.elementor.elementor .wp{position: absolute; z-index: 3; display: flex; align-items: center; gap: 10px; opacity: 0; animation: rise .8s var(--ease) forwards;}
.elementor.elementor .wp .dot{width: 12px; height: 12px; border-radius: 50%; background: var(--amber-h); border: 2px solid rgba(244, 241, 234, 0.95); flex: 0 0 auto; animation: 2.6s ease-in-out 0s infinite normal none running pulse;}
@keyframes pulse { 
  0%, 100% { box-shadow: rgba(18, 179, 156, 0.25) 0px 0px 0px 5px; }
  50% { box-shadow: rgba(18, 179, 156, 0.06) 0px 0px 0px 12px; }
}
.elementor.elementor .wp .lbl{font-size: 10.5px; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 600; color: rgb(244, 241, 234); background: rgba(11, 16, 14, 0.6); backdrop-filter: blur(4px); padding: 6px 12px; border-radius: 10px; white-space: nowrap;}
.elementor.elementor .wp .lbl small{display: block; font-weight: 400; color: rgba(244, 241, 234, 0.65); letter-spacing: 0.1em; font-size: 9.5px;}
@media (max-width: 900px){.elementor.elementor .wp{display: none;}.elementor.elementor .trail{display: none;}}
.elementor.elementor .heroW{position: relative; min-height: 94vh; margin: 76px 1.2vw 0px; border-radius: 26px; overflow: hidden; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; color: var(--pale); padding: 90px 5vw 110px;}
.elementor.elementor .heroW .bg{position: absolute; inset: 0px; background-size: cover; background-position: center 65%; transform: scale(1.08); animation: settleW 2.6s var(--ease) both,drift 34s 2.6s ease-in-out infinite alternate;}
@keyframes settleW { 
  0% { opacity: 0; transform: scale(1.16); }
  100% { opacity: 1; transform: scale(1.08); }
}
.elementor.elementor .heroW .bg::after{content: ""; position: absolute; inset: 0px; background: radial-gradient(at center 40%, rgba(11, 16, 14, 0) 0%, rgba(11, 16, 14, 0.25) 60%, rgba(11, 16, 14, 0.72) 100%), linear-gradient(rgba(11, 16, 14, 0.3), rgba(11, 16, 14, 0.05) 40%, rgba(11, 16, 14, 0.72) 100%);}
.elementor.elementor .heroW .kick{position: relative; z-index: 3; font-size: 12.5px; font-weight: 600; letter-spacing: 0.34em; text-transform: uppercase; color: var(--pale); opacity: 0.9; animation: rise 1s .9s var(--ease) both;}
.elementor.elementor .heroW h1{position: relative; z-index: 3; font-size: clamp(60px, 13vw, 215px); font-weight: 700; line-height: 0.95; letter-spacing: 0.05em; margin-top: 14px; animation: trackin 1.8s .35s var(--ease) both; text-shadow: rgba(11, 16, 14, 0.35) 0px 10px 60px;}
.elementor.elementor .heroW h1 .outw{color: transparent; -webkit-text-stroke: 2.5px var(--pale);}
@keyframes trackin { 
  0% { opacity: 0; letter-spacing: 0.32em; filter: blur(6px); }
  100% { opacity: 1; letter-spacing: 0.05em; filter: blur(0px); }
}
.elementor.elementor .heroW .sub{position: relative; z-index: 3; margin-top: 22px; font-size: clamp(16px, 1.4vw, 20px); color: rgba(244, 241, 234, 0.92); max-width: 640px; line-height: 1.55; animation: rise 1s 1.15s var(--ease) both;}
.elementor.elementor .heroW .sub .hand{color: rgb(255, 176, 154); font-size: 1.35em;}
.elementor.elementor .heroW .finder{position: relative; z-index: 3; margin-top: 38px; animation: rise 1s 1.35s var(--ease) both; text-align: left;}
.elementor.elementor .heroW .quick{position: relative; z-index: 3; display: flex; gap: 34px; margin-top: 30px; animation: rise 1s 1.55s var(--ease) both; flex-wrap: wrap; justify-content: center;}
.elementor.elementor .heroW .quick span{font-size: 11.5px; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(244, 241, 234, 0.8);}
.elementor.elementor .heroW .quick b{color: var(--pale); font-weight: 700;}
.elementor.elementor .heroW .cornerW{position: absolute; z-index: 3; font-size: 11px; letter-spacing: 0.24em; text-transform: uppercase; font-weight: 600; color: rgba(244, 241, 234, 0.75); animation: rise 1.2s 1.7s var(--ease) both;}
.elementor.elementor .heroW .w1{left: 34px; top: 30px;}
.elementor.elementor .heroW .w2{right: 34px; top: 30px; text-align: right;}
.elementor.elementor .heroW .w3{left: 34px; bottom: 28px;}
.elementor.elementor .heroW .w4{right: 34px; bottom: 28px; text-align: right;}
@media (max-width: 900px){.elementor.elementor .heroW .cornerW{display: none;}.elementor.elementor .heroW{min-height: 88vh;}}
.elementor.elementor .heroW .scrollhint{position: absolute; right: 30px; bottom: 90px; z-index: 3; writing-mode: vertical-rl; font-size: 10.5px; letter-spacing: 0.3em; text-transform: uppercase; color: rgba(244, 241, 234, 0.65); animation: 1.2s ease 2s 1 normal both running rise;}
@media (max-width: 900px){.elementor.elementor .heroW .scrollhint{display: none;}}
.elementor.elementor .heroW .trail path{stroke: rgba(244, 241, 234, 0.5);}
.elementor.elementor .heroT{position: relative; min-height: 96vh; padding: 150px 5vw 60px; display: flex; align-items: center; overflow: hidden;}
.elementor.elementor .heroT .grid2{display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 30px; width: 100%; max-width: 1500px; margin: 0px auto; align-items: center;}
@media (max-width: 1024px){.elementor.elementor .heroT .grid2{grid-template-columns: 1fr;}}
.elementor.elementor .heroT h1{font-size: clamp(44px, 7.2vw, 116px); line-height: 0.98;}
.elementor.elementor .heroT h1 .hand{display: block; font-size: clamp(34px, 4.4vw, 68px); color: var(--teal); transform: rotate(-2deg); margin-top: 10px;}
.elementor.elementor .heroT .corner{position: absolute; font-size: 11px; letter-spacing: 0.24em; text-transform: uppercase; font-weight: 600; color: var(--mut); animation: rise 1s 1.1s var(--ease) both;}
.elementor.elementor .heroT .c1{left: 5vw; top: 112px;}
.elementor.elementor .heroT .c2{right: 5vw; top: 112px; text-align: right;}
.elementor.elementor .heroT .c3{left: 5vw; bottom: 36px;}
.elementor.elementor .heroT .c4{right: 5vw; bottom: 36px; text-align: right;}
@media (max-width: 1024px){.elementor.elementor .heroT .corner{display: none;}}
.elementor.elementor .polwrap{position: relative; min-height: 66vh;}
@media (max-width: 1024px){.elementor.elementor .polwrap{min-height: 56vh; margin-top: 20px;}}
@media (max-width: 767px){.elementor.elementor .polwrap{min-height: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding-top: 26px;}.elementor.elementor .polwrap .pol.pa,.elementor.elementor .polwrap .pol.pb,.elementor.elementor .polwrap .pol.pc{position: static; width: auto; height: auto; animation: pop .8s var(--ease) both;}.elementor.elementor .polwrap .pol img{height: 130px;}.elementor.elementor .polwrap .pol.pa{grid-column: 1 / 3; --r: 1.5deg;}.elementor.elementor .polwrap .pol.pa img{height: 180px;}.elementor.elementor .polwrap .pol.pb{--r: -2deg;}.elementor.elementor .polwrap .pol.pc{--r: 2deg;}.elementor.elementor .stamp.s-hero{top: 6px; right: 6px; width: 86px; height: 86px; font-size: 9px;}.elementor.elementor .handnote{display: block; text-align: center; margin-top: 4px; grid-column: 1 / 3; position: static !important;}}
.elementor.elementor .pol{position: absolute; background: rgb(255, 255, 255); padding: 11px 11px 38px; box-shadow: rgba(23, 28, 25, 0.16) 0px 24px 50px; border-radius: 8px; --r: 0deg; animation: pop .8s var(--ease) both,floaty 7s 1.6s ease-in-out infinite;}
.elementor.elementor .pol img{width: 100%; height: calc(100% - 30px); object-fit: cover; border-radius: 4px;}
.elementor.elementor .pol figcaption{font-family: Caveat, cursive; font-size: 19px; color: rgb(58, 64, 58); padding-top: 8px; text-align: center; line-height: 1;}
.elementor.elementor .pol.pa{width: 56%; height: 62%; right: 26%; top: 0px; --r: 3.5deg; animation-delay: 0.45s, 1.6s; z-index: 3;}
.elementor.elementor .pol.pb{width: 44%; height: 48%; right: 0px; top: 40%; --r: -5deg; animation-delay: 0.7s, 1.9s; z-index: 2;}
.elementor.elementor .pol.pc{width: 38%; height: 42%; left: 0px; bottom: 0px; --r: -7deg; animation-delay: 0.95s, 2.2s; z-index: 2;}
@keyframes pop { 
  0% { opacity: 0; transform: scale(.85) rotate(var(--r)); }
  100% { opacity: 1; transform: scale(1) rotate(var(--r)); }
}
@keyframes floaty { 
  0%, 100% { transform: rotate(var(--r)) translateY(0); }
  50% { transform: rotate(var(--r)) translateY(-9px); }
}
.elementor.elementor .stamp{position: absolute; width: 112px; height: 112px; border: 3px solid var(--teal); border-radius: 50%; display: flex; align-items: center; justify-content: center; text-align: center; font-size: 10.5px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--teal); transform: rotate(11deg); --r: 11deg; z-index: 5; animation: pop .7s 1.3s var(--ease) both; background: rgba(247, 244, 236, 0.7); backdrop-filter: blur(2px);}
.elementor.elementor .stamp.s-hero{right: 38%; top: 52%;}
.elementor.elementor .handnote{font-family: Caveat, cursive; font-size: 23px; color: var(--amber); transform: rotate(-3deg); display: inline-block; animation: 1s ease 1.4s 1 normal both running rise;}
.elementor.elementor .trailT{position: absolute; inset: 0px; z-index: 1; pointer-events: none;}
.elementor.elementor .trailT path{fill: none; stroke: rgba(20, 32, 28, 0.35); stroke-width: 2; stroke-dasharray: 7, 9; stroke-linecap: round; stroke-dashoffset: 1200; animation: trail 3.5s 1s var(--ease) forwards;}
.elementor.elementor .carnet-grid{display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center;}
@media (max-width: 1024px){.elementor.elementor .carnet-grid{grid-template-columns: 1fr; gap: 70px;}}
.elementor.elementor .gallery.live img:nth-child(2n+1){transform: rotate(-1.3deg);}
.elementor.elementor .gallery.live img:nth-child(2n){transform: rotate(1.2deg);}
.elementor.elementor .gallery.live img:hover{transform: rotate(0deg) scale(1.03);}
.elementor.elementor .fort{display: inline-flex; align-items: center; gap: 7px; background: rgba(255, 255, 255, 0.14); backdrop-filter: blur(8px); border: 1px solid rgba(255, 255, 255, 0.35); border-radius: 999px; padding: 9px 16px; font-size: 12px; font-weight: 600; letter-spacing: 0.06em; color: rgb(255, 255, 255);}
.elementor.elementor .stamp-book{position: absolute; top: -30px; right: -12px; width: 98px; height: 98px; font-size: 9.5px;}
@media (max-width: 767px){.elementor.elementor .stamp-book{right: 6px; top: -26px; width: 86px; height: 86px;}}
.elementor.elementor .sacchip{display: inline-flex; align-items: center; gap: 7px; background: rgb(255, 255, 255); border: 1.5px solid var(--line); border-radius: 999px; padding: 10px 17px; font-size: 13.5px; font-weight: 500; color: var(--ink);}
.elementor.elementor .lieu-grid{display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 36px; align-items: center;}
@media (max-width: 900px){.elementor.elementor .lieu-grid{grid-template-columns: 1fr;}}
.elementor.elementor .lieu-grid img{width: 100%; height: 320px; object-fit: cover; border-radius: 20px;}
.elementor.elementor .bento{display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 190px; gap: 16px;}
@media (max-width: 1024px){.elementor.elementor .bento{grid-template-columns: repeat(2, 1fr);}}
@media (max-width: 640px){.elementor.elementor .bento{grid-template-columns: 1fr; grid-auto-rows: 220px;}}
.elementor.elementor .btile{position: relative; border-radius: 22px; overflow: hidden; display: flex; align-items: flex-end; color: rgb(255, 255, 255);}
.elementor.elementor .btile img{position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease);}
.elementor.elementor .btile:hover img{transform: scale(1.06);}
.elementor.elementor .btile::after{content: ""; position: absolute; inset: 0px; background: linear-gradient(rgba(11, 16, 14, 0) 40%, rgba(11, 16, 14, 0.78));}
.elementor.elementor .btile .bt{position: relative; z-index: 2; padding: 22px 24px; width: 100%;}
.elementor.elementor .btile h3{color: rgb(255, 255, 255); font-size: clamp(19px, 1.8vw, 26px); text-transform: uppercase; letter-spacing: 0.03em;}
.elementor.elementor .btile .ct{display: inline-block; margin-bottom: 8px; background: rgba(255, 255, 255, 0.92); color: var(--ink); border-radius: 999px; padding: 5px 13px; font-size: 10.5px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700;}
.elementor.elementor .btile .arr{position: absolute; top: 18px; right: 18px; z-index: 2; width: 40px; height: 40px; border-radius: 50%; background: rgba(255, 255, 255, 0.16); backdrop-filter: blur(6px); border: 1px solid rgba(255, 255, 255, 0.35); display: flex; align-items: center; justify-content: center; font-size: 16px; transition: background .3s,transform .3s var(--ease);}
.elementor.elementor .btile:hover .arr{background: rgb(13, 129, 114); transform: rotate(45deg);}
@media (min-width: 1025px){.elementor.elementor .btile:nth-child(1){grid-area: span 2 / span 2;}.elementor.elementor .btile:nth-child(2){grid-column: span 2;}}
.elementor.elementor .steps{display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; counter-reset: st 0;}
@media (max-width: 900px){.elementor.elementor .steps{grid-template-columns: 1fr;}}
.elementor.elementor .step{position: relative; background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: 22px; padding: 36px 32px 32px; box-shadow: rgba(23, 28, 25, 0.05) 0px 6px 24px; transition: transform .4s var(--ease),box-shadow .4s var(--ease);}
.elementor.elementor .step:hover{transform: translateY(-5px); box-shadow: rgba(23, 28, 25, 0.12) 0px 24px 50px;}
.elementor.elementor .step .n{font-family: var(--serif); font-weight: 700; font-size: 70px; line-height: 1; color: transparent; -webkit-text-stroke: 1.6px var(--amber);}
.elementor.elementor .step h3{margin: 16px 0px 10px; font-size: 20px; text-transform: uppercase; letter-spacing: 0.03em;}
.elementor.elementor .step p{font-size: 15px; color: var(--mut); line-height: 1.6;}
.elementor.elementor .step .hand{display: inline-block; margin-top: 12px; color: var(--teal); font-size: 20px; transform: rotate(-2deg);}
.elementor.elementor .step::after{content: "→"; position: absolute; top: 44px; right: -22px; z-index: 3; font-size: 22px; color: var(--amber); display: none;}
@media (min-width: 900px){.elementor.elementor .step:not(:last-child)::after{display: block;}}
.elementor.elementor .livechip{display: inline-flex; align-items: center; gap: 9px; background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: 999px; padding: 10px 18px; font-size: 13px; font-weight: 600;}
.elementor.elementor .livechip::before{content: ""; width: 9px; height: 9px; border-radius: 50%; background: rgb(46, 139, 95); animation: 2.2s ease-in-out 0s infinite normal none running pulse;}
.elementor.elementor .dayline{position: relative; max-width: 920px; margin: 52px auto 0px;}
.elementor.elementor .dayline::before{content: ""; position: absolute; left: 36px; top: 10px; bottom: 10px; border-left: 2px dashed rgba(14, 142, 126, 0.5);}
@media (min-width: 900px){.elementor.elementor .dayline::before{left: 50%; margin-left: -1px;}}
.elementor.elementor .dstep{position: relative; display: grid; grid-template-columns: 72px 1fr; gap: 20px; align-items: center; padding: 22px 0px;}
.elementor.elementor .dstep .ph{width: 72px; height: 72px; border-radius: 50%; overflow: hidden; border: 4px solid rgb(255, 255, 255); box-shadow: rgba(23, 28, 25, 0.16) 0px 12px 28px; position: relative; z-index: 2; transition: transform .4s var(--ease);}
.elementor.elementor .dstep:hover .ph{transform: scale(1.12) rotate(-3deg);}
.elementor.elementor .dstep .ph img{width: 100%; height: 100%; object-fit: cover;}
.elementor.elementor .dstep .jt{font-family: var(--serif); font-weight: 700; font-size: 19px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--amber); line-height: 1.15;}
.elementor.elementor .dstep h3{font-size: 18px; text-transform: uppercase; letter-spacing: 0.03em; margin: 6px 0px;}
.elementor.elementor .dstep p{font-size: 15px; color: var(--mut); line-height: 1.6; max-width: 380px;}
.elementor.elementor .dstep .hand{display: inline-block; margin-top: 6px; color: var(--teal); font-size: 20px; transform: rotate(-2deg);}
@media (min-width: 900px){.elementor.elementor .dstep{grid-template-columns: 1fr 120px 1fr; padding: 26px 0px;}.elementor.elementor .dstep .ph{width: 96px; height: 96px; grid-column: 2; margin: 0px auto;}.elementor.elementor .dstep .tx{grid-column: 3; padding-left: 6px;}.elementor.elementor .dstep:nth-child(2n) .tx{grid-area: 1 / 1; text-align: right; padding: 0px 6px 0px 0px;}.elementor.elementor .dstep:nth-child(2n) .ph{grid-area: 1 / 2;}.elementor.elementor .dstep:nth-child(2n) p{margin-left: auto;}}
.elementor.elementor .vs{display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: stretch;}
@media (max-width: 900px){.elementor.elementor .vs{grid-template-columns: 1fr;}}
.elementor.elementor .vs .col{border-radius: 22px; padding: 38px 36px; position: relative;}
.elementor.elementor .vs .them{background: var(--cream); color: var(--mut); border: 1px solid var(--line);}
.elementor.elementor .vs .us{background: rgb(13, 129, 114); color: rgb(255, 255, 255); box-shadow: rgba(13, 129, 114, 0.28) 0px 30px 70px;}
.elementor.elementor .vs .col .lab{font-size: 11px; letter-spacing: 0.24em; text-transform: uppercase; font-weight: 700; margin-bottom: 6px;}
.elementor.elementor .vs .them .lab{color: var(--mut);}
.elementor.elementor .vs .us .lab{color: rgb(143, 232, 218);}
.elementor.elementor .vs .col h3{font-family: var(--serif); font-weight: 700; font-size: clamp(20px, 1.8vw, 26px); text-transform: uppercase; letter-spacing: 0.02em; margin-bottom: 18px;}
.elementor.elementor .vs .them h3{color: rgb(138, 144, 136);}
.elementor.elementor .vs ul li{padding: 13px 0px 13px 30px; position: relative; font-size: 15.5px; line-height: 1.5; border-bottom: 1px solid rgba(0, 0, 0, 0.06);}
.elementor.elementor .vs .us ul li{border-bottom: 1px solid rgba(255, 255, 255, 0.14);}
.elementor.elementor .vs .them li::before{content: "✕"; position: absolute; left: 0px; color: rgb(192, 169, 160); font-weight: 700;}
.elementor.elementor .vs .us li::before{content: "✓"; position: absolute; left: 0px; color: rgb(143, 232, 218); font-weight: 700;}
.elementor.elementor .vs .us .stamp{position: absolute; top: -26px; right: 22px; border-color: rgb(255, 176, 154); color: rgb(255, 176, 154); background: rgba(13, 129, 114, 0.85); width: 96px; height: 96px; font-size: 9.5px; --r: 9deg; transform: rotate(9deg);}
.elementor.elementor .kicker::before{content: "✦ "; color: var(--teal);}
.elementor.elementor .heroM .chips .kicker::before{content: "";}
.elementor.elementor .greca{height: 12px; margin: 0px auto; max-width: 1240px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath d='M0 11 V6 H5 V1 H12 V6 H17 V11 M18 11 V6 H23 V1 H30 V6 H35 V11' stroke='%230E8E7E' stroke-width='1.6' fill='none' opacity='.55'/%3E%3C/svg%3E"); background-repeat: repeat-x; background-position: center center;}
.elementor.elementor .greca.coral{background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath d='M0 11 V6 H5 V1 H12 V6 H17 V11 M18 11 V6 H23 V1 H30 V6 H35 V11' stroke='%23D95D39' stroke-width='1.6' fill='none' opacity='.5'/%3E%3C/svg%3E");}
.elementor.elementor .picado{height: 30px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='30'%3E%3Cpath d='M0 2 H96' stroke='%2314201C' stroke-width='1' opacity='.25'/%3E%3Cpath d='M4 3 L20 3 L12 26 Z' fill='%230E8E7E' opacity='.75'/%3E%3Cpath d='M28 3 L44 3 L36 26 Z' fill='%23D95D39' opacity='.75'/%3E%3Cpath d='M52 3 L68 3 L60 26 Z' fill='%23E8B84B' opacity='0'/%3E%3Cpath d='M52 3 L68 3 L60 26 Z' fill='%2312B39C' opacity='.6'/%3E%3Cpath d='M76 3 L92 3 L84 26 Z' fill='%23FFB09A' opacity='.85'/%3E%3Ccircle cx='12' cy='10' r='1.6' fill='%23F7F4EC'/%3E%3Ccircle cx='36' cy='10' r='1.6' fill='%23F7F4EC'/%3E%3Ccircle cx='60' cy='10' r='1.6' fill='%23F7F4EC'/%3E%3Ccircle cx='84' cy='10' r='1.6' fill='%23F7F4EC'/%3E%3C/svg%3E"); background-repeat: repeat-x; background-position: center top;}
.elementor.elementor footer.site{position: relative;}
.elementor.elementor footer.site::before{content: ""; display: block; position: absolute; top: 14px; left: 0px; right: 0px; height: 12px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath d='M0 11 V6 H5 V1 H12 V6 H17 V11 M18 11 V6 H23 V1 H30 V6 H35 V11' stroke='%2312B39C' stroke-width='1.4' fill='none' opacity='.4'/%3E%3C/svg%3E"); background-repeat: repeat-x; background-position: center center;}
.elementor.elementor .bfilters{display: flex; gap: 10px; flex-wrap: wrap; margin: 40px 0px 26px;}
.elementor.elementor .bfilters button{border: 1.5px solid var(--line); background: rgb(255, 255, 255); color: var(--ink); padding: 11px 22px; border-radius: 999px; font-size: 13px; font-weight: 600; letter-spacing: 0.04em; transition: all .25s var(--ease);}
.elementor.elementor .bfilters button:hover{border-color: var(--amber);}
.elementor.elementor .bfilters button.on{background: rgb(13, 129, 114); border-color: rgb(13, 129, 114); color: rgb(255, 255, 255);}
.elementor.elementor .bgrid{display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;}
@media (max-width: 1024px){.elementor.elementor .bgrid{grid-template-columns: repeat(2, 1fr);}}
@media (max-width: 700px){.elementor.elementor .bgrid{grid-template-columns: 1fr;}}
.elementor.elementor .bpost{display: flex; flex-direction: column; background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: 20px; overflow: hidden; box-shadow: rgba(23, 28, 25, 0.05) 0px 6px 24px; transition: box-shadow .4s var(--ease),transform .4s var(--ease);}
.elementor.elementor .bpost:hover{box-shadow: rgba(23, 28, 25, 0.13) 0px 22px 46px; transform: translateY(-4px);}
.elementor.elementor .bpost .th{height: 170px; position: relative; overflow: hidden;}
.elementor.elementor .bpost .th img{width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease);}
.elementor.elementor .bpost:hover .th img{transform: scale(1.05);}
.elementor.elementor .bpost .th.ph{background: var(--cream) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath d='M0 11 V6 H5 V1 H12 V6 H17 V11 M18 11 V6 H23 V1 H30 V6 H35 V11' stroke='%230E8E7E' stroke-width='1.4' fill='none' opacity='.25'/%3E%3C/svg%3E") repeat; display: flex; align-items: center; justify-content: center;}
.elementor.elementor .bpost .th.ph span{font-family: var(--serif); font-weight: 700; font-size: 15px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--amber); background: rgba(247, 244, 236, 0.9); padding: 10px 18px; border-radius: 999px;}
.elementor.elementor .bpost .cat{position: absolute; top: 12px; left: 12px; background: rgba(255, 255, 255, 0.92); backdrop-filter: blur(4px); border-radius: 999px; padding: 6px 13px; font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; color: var(--amber);}
.elementor.elementor .bpost .bd{padding: 20px 22px 22px; display: flex; flex-direction: column; gap: 8px; flex: 1 1 0%;}
.elementor.elementor .bpost h3{font-size: 18px; line-height: 1.3;}
.elementor.elementor .bpost .mn{font-size: 12px; color: var(--mut); letter-spacing: 0.08em; text-transform: uppercase;}
.elementor.elementor .bpost .rd{margin-top: auto; padding-top: 8px; color: var(--amber); font-weight: 700; font-size: 13px;}
.elementor.elementor .bpag{display: flex; gap: 8px; justify-content: center; margin-top: 44px;}
.elementor.elementor .bpag button{width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid var(--line); background: rgb(255, 255, 255); font-weight: 700; font-size: 14px; color: var(--ink); transition: 0.25s;}
.elementor.elementor .bpag button.on{background: rgb(13, 129, 114); border-color: rgb(13, 129, 114); color: rgb(255, 255, 255);}
.elementor.elementor .bpag button:hover:not(.on){border-color: var(--amber);}
.elementor.elementor .progress{position: fixed; top: 0px; left: 0px; height: 3px; background: linear-gradient(90deg, rgb(13, 129, 114), rgb(18, 179, 156)); z-index: 200; width: 0px; transition: width 0.1s linear;}
.elementor.elementor .prose{font-size: 18px;}
.elementor.elementor .prose > p:first-of-type{font-size: 20px; line-height: 1.7; color: var(--ink);}
.elementor.elementor .prose h2{position: relative; padding-bottom: 14px;}
.elementor.elementor .prose h2::after{content: ""; position: absolute; left: 0px; bottom: 0px; width: 72px; height: 8px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='8'%3E%3Cpath d='M0 7 V4 H3 V1 H8 V4 H11 V7 M12 7 V4 H15 V1 H20 V4 H23 V7' stroke='%23D95D39' stroke-width='1.2' fill='none'/%3E%3C/svg%3E"); background-repeat: repeat-x;}
.elementor.elementor .toc{background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: 18px; padding: 24px 28px; margin: 34px 0px;}
.elementor.elementor .toc p{font-size: 11.5px; letter-spacing: 0.22em; text-transform: uppercase; font-weight: 700; color: var(--teal); margin-bottom: 12px;}
.elementor.elementor .toc ol{list-style: none; counter-reset: toc 0; display: grid; gap: 8px;}
.elementor.elementor .toc ol li{counter-increment: toc 1; font-size: 15.5px;}
.elementor.elementor .toc ol a{color: var(--ink); display: flex; gap: 10px;}
.elementor.elementor .toc ol a::before{content: counter(toc, decimal-leading-zero); color: var(--amber); font-weight: 700; font-family: var(--serif); font-size: 13px;}
.elementor.elementor .toc ol a:hover{color: var(--amber);}
.elementor.elementor .authorbox{display: flex; gap: 16px; align-items: center; background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: 18px; padding: 20px 24px; margin: 44px 0px 0px;}
.elementor.elementor .authorbox .av{width: 52px; height: 52px; border-radius: 50%; background: rgb(13, 129, 114); color: rgb(255, 255, 255); display: flex; align-items: center; justify-content: center; font-weight: 700; font-family: var(--serif); flex: 0 0 auto;}
.elementor.elementor .authorbox p{font-size: 14.5px; color: var(--mut); margin: 0px;}
.elementor.elementor .authorbox b{display: block; color: var(--ink); font-size: 15.5px;}
.elementor.elementor .nextprev{display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 34px;}
@media (max-width: 700px){.elementor.elementor .nextprev{grid-template-columns: 1fr;}}
.elementor.elementor .nextprev a{background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: 16px; padding: 20px 24px; transition: all .3s var(--ease);}
.elementor.elementor .nextprev a:hover{border-color: var(--amber); transform: translateY(-3px);}
.elementor.elementor .nextprev .dirl{font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--teal); font-weight: 700;}
.elementor.elementor .nextprev h4{font-family: var(--serif); font-size: 16.5px; font-weight: 600; margin-top: 6px;}
.elementor.elementor .rail{position: fixed; left: 26px; top: 50%; transform: translateY(-50%); z-index: 80; display: none; flex-direction: column; gap: 18px;}
@media (min-width: 1200px){.elementor.elementor .rail{display: flex;}}
.elementor.elementor .rail a{font-family: var(--sans); font-size: 11px; letter-spacing: 0.2em; color: var(--mut); display: flex; align-items: center; gap: 10px; transition: color 0.3s;}
.elementor.elementor .rail a::after{content: ""; width: 0px; height: 1px; background: var(--amber); transition: width .4s var(--ease);}
.elementor.elementor .rail a.on{color: var(--ink);}
.elementor.elementor .rail a.on::after{width: 26px;}
@media (prefers-reduced-motion: reduce){*,.elementor.elementor ::before,.elementor.elementor ::after{animation: auto ease 0s 1 normal none running none !important; transition: none !important;}.elementor.elementor .sr{opacity: 1; transform: none;}.elementor.elementor .reveal-line > span{transform: none;}.elementor.elementor .rise{opacity: 1; transform: none;}.elementor.elementor .trail .draw{stroke-dashoffset: 0;}.elementor.elementor .wp{opacity: 1;}}
body.admin-bar .hd{top: 32px;}
.elementor.elementor .elementor-widget-container p:last-child{margin-bottom: 0px;}


/* ==== 3. LIAISON widgets natifs -> design maquette (après le CSS maquette) ==== */
.elementor .elementor-widget-button .elementor-button{display:inline-block !important;background-color:#0D8172 !important;color:#FFFFFF !important;padding:17px 36px !important;font-family:'Archivo',sans-serif;font-size:13px !important;font-weight:600 !important;letter-spacing:.12em !important;text-transform:uppercase !important;border-radius:999px !important;border:none !important;line-height:1.2 !important;text-decoration:none;transition:transform .25s cubic-bezier(.22,.61,.36,1),background .25s,box-shadow .25s}
.elementor .elementor-widget-button .elementor-button:hover{transform:translateY(-2px);background-color:#0E8E7E !important;box-shadow:0 14px 30px rgba(13,129,114,.28)}
.elementor .ghost .elementor-button{background-color:transparent !important;color:#14201C !important;border:1px solid #9aa39b !important}
.elementor .ghost .elementor-button:hover{border-color:#0E8E7E !important;color:#0E8E7E !important;background-color:transparent !important;box-shadow:none}
.elementor .btnwhite .elementor-button{background-color:#FFFFFF !important;color:#0D8172 !important}
.elementor .ghostwhite .elementor-button{background-color:transparent !important;color:#FFFFFF !important;border-color:rgba(255,255,255,.5) !important}
.elementor .wa .elementor-button{background-color:#25D366 !important;color:#fff !important}
.elementor .wa .elementor-button:hover{background-color:#3fe07e !important}
.elementor .elementor-button-content-wrapper{display:block}
.elementor .cbtns,.elementor .vsbtns,.elementor .ctabtns{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.elementor .circbtns{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:28px}
.elementor .ctabtns{justify-content:center}
.elementor .finder .elementor-widget-button{align-self:stretch;display:flex}
.elementor .finder .elementor-button{display:flex !important;align-items:center}
.elementor .finder select{width:100%;background:transparent;border:none;color:#14201C;font-family:'Archivo',sans-serif;font-size:15px;font-weight:500}
.elementor .finder label{display:block;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#D95D39;font-weight:600;margin-bottom:2px}

/* ==== 4. HERITAGE COULEUR widgets ==== */
.elementor .elementor-widget-heading .elementor-heading-title{color:inherit}
.elementor .elementor-widget-text-editor,.elementor .elementor-widget-text-editor>*{color:inherit}
.elementor .elementor-widget-icon-list .elementor-icon-list-text{color:inherit}

/* ==== 5. HEADER / FOOTER (gabarits) ==== */
.nheader .e-con-inner{flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:28px}
.nheader .e-con-inner>*{flex:0 0 auto}
.nheader .elementor-nav-menu--main .elementor-nav-menu{flex-wrap:nowrap;justify-content:center}
.nheader .elementor-nav-menu--main .elementor-nav-menu>li>a{white-space:nowrap}
.nfooter .e-grid{grid-template-rows:auto!important;grid-auto-rows:auto!important;align-content:start}

/* ==== 6. FICHES ==== */
.elementor .fprice{display:flex;gap:26px;align-items:center;margin-top:26px;flex-wrap:wrap}
.elementor .fortrow{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.elementor .hero .inner h1{margin-top:18px}
.elementor .secfiche{padding-top:64px}
.elementor .answerbox{max-width:980px;margin-bottom:44px}
.elementor .fact-rail{margin-bottom:64px}
.elementor .lieu-grid{margin-bottom:70px}
.elementor .lieu-grid h2{margin:14px 0 18px}
.elementor .lieup{color:#42473F;font-size:17px;line-height:1.75}
.elementor .blk{margin-top:64px}
.elementor .splitleft>.blk:first-child{margin-top:0}
.elementor .blk h2{margin:14px 0 30px}
.elementor .sacrow{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.elementor .splitleft{min-width:0}
.elementor .crossblk{margin-top:90px}
.elementor .bookcard .elementor-widget-button{margin-top:8px}
.elementor .bookcard .bkbtn .elementor-button{width:100%;justify-content:center}
.elementor .bkfine{font-size:12px;color:var(--mut);margin-top:8px}
.elementor .gallery{grid-auto-rows:230px}
.elementor .faq .elementor-accordion{border-top:1px solid var(--line)}
.elementor .faq .elementor-accordion-item{border:0;border-bottom:1px solid var(--line)}
.elementor .faq .elementor-tab-title{background:none;border:0;padding:24px 4px;font-family:var(--serif);font-size:17px;font-weight:500}
.elementor .faq .elementor-tab-title a{color:var(--ink)}
.elementor .faq .elementor-tab-content{border:0;background:none;padding:0 4px 26px;color:var(--mut);max-width:760px}

/* ==== 7. HUBS ==== */
.elementor .sechub{padding-top:50px}
.elementor .xfilter{margin-top:32px}
.elementor .xcount{margin-top:14px;font-size:14px;color:var(--amber);font-weight:600}
.elementor .hubdeps{margin-top:12px;font-size:14px;color:var(--mut)}
.elementor .hubdeps a{color:var(--amber);font-weight:600}
.elementor .xgrid,.elementor .depgrid{margin-top:48px}
.elementor .hubfaq{max-width:860px;margin-top:80px}
.elementor .ccount{margin:18px 0 14px}
.elementor .hero .inner .lead{margin-top:20px}
.elementor .heroM .crumbline a{text-decoration:none}
.elementor .answerbox p{margin:0}

/* ==== 8. PAGES ==== */
.elementor .circans{margin-top:56px;max-width:860px}
.elementor .factcol{flex-direction:column}
.elementor .pad30{padding:30px}
.elementor .tealm{color:var(--teal)}
.elementor .herotall{min-height:88vh}
.elementor .prose h2{margin-bottom:20px}
.elementor .prose p{margin-bottom:16px}
.elementor .prose a{color:var(--amber);text-decoration:underline}
.elementor .hero .inner .ctabtns{margin-top:30px}
.elementor .reviews+.ctabtns{margin-top:44px}

/* ==== 9. RESERVER / CONTACT / BLOG / LEGAL ==== */
.elementor .secres{padding-top:60px}
.elementor .reslead{min-width:0}
.elementor .resfacts{margin-top:36px}
.elementor .wablk{margin-top:36px}
.elementor .clines{margin-top:40px;display:grid;gap:22px;max-width:420px}
.elementor .cline{border-bottom:1px solid var(--line);padding-bottom:18px}
.elementor .cline.last{border-bottom:0}
.elementor .cline .micro{margin-bottom:6px}
.elementor .cline .big{font-size:19px}
.elementor .csmall{color:var(--mut);font-size:14px}
.elementor .pad26{padding:26px}
.elementor .pilgrid{margin-top:44px}
.elementor .seclegal{padding-top:40px}
.elementor .ptform .elementor-field-group>label{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--mut);font-weight:600}
.elementor .ptform input:not([type=submit]),.elementor .ptform select,.elementor .ptform textarea{width:100%;background:var(--night);border:1px solid var(--line);border-radius:12px;color:var(--ink);padding:13px 16px;font-family:var(--sans);font-size:15px}
.elementor .ptform .elementor-button{background-color:#0D8172!important;color:#fff!important;width:100%;justify-content:center;border-radius:999px!important;padding:17px 36px!important;font-size:13px!important;letter-spacing:.12em!important;text-transform:uppercase!important;font-weight:600!important}
.elementor .bookcard .micro{margin-bottom:16px}
.elementor .light{background:var(--cream)}

/* ==== 10. FIDELITE MAQUETTE ==== */
body.elementor-kit-9{line-height:1.65}
.elementor p{margin-block-end:0}
.elementor .finder select{padding:0;border-radius:0;height:auto;min-height:0}
.elementor .finder .f{padding:8px 18px}
.elementor .shead h2{margin-top:14px}
.elementor .band .inner h2{max-width:720px;margin:16px 0 40px}
body.page-id-23 .elementor .gallery{grid-auto-rows:250px}
body.page-id-23 .elementor .gallery>.elementor-widget:nth-child(1) img,body.page-id-23 .elementor .gallery>.elementor-widget:nth-child(5) img{grid-row:span 2}
body.page-id-23 .elementor .gallery>.elementor-widget:nth-child(odd) img{transform:rotate(-1.3deg)}
body.page-id-23 .elementor .gallery>.elementor-widget:nth-child(even) img{transform:rotate(1.2deg)}
.elementor .splitcirc .imgs .main{overflow:clip}

/* ==== 11. AJUSTEMENTS 2 ==== */
.elementor .finder label{line-height:1.65}
.elementor .finder select{padding:0;border:0;border-radius:0;height:auto;min-height:0;line-height:normal;background:transparent}
.elementor .nheader{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .35s,border .35s}
body.admin-bar .elementor .nheader{top:32px}
.elementor .nheader.scrolled{background:rgba(247,244,236,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}

/* ==== 12. AJUSTEMENTS 3 ==== */
.elementor .finder select{display:inline-block}
.elementor .postim{height:220px}

.elementor .xcard .im.postim{height:220px}

/* ==== 13. IMAGES A CLASSE MAQUETTE ==== */
.elementor .splitcirc .imgs .main img{width:100%;height:460px;object-fit:cover;border-radius:26px;display:block}
.elementor .splitcirc .imgs .over img{position:absolute;right:-18px;bottom:-34px;width:40%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;border:8px solid #fff;box-shadow:0 20px 44px rgba(20,32,28,.2);transform:rotate(3deg)}
@media(max-width:1024px){.elementor .splitcirc .imgs .main img{height:380px}}
@media(max-width:900px){.elementor .splitcirc .imgs .main img{height:300px}.elementor .splitcirc .imgs .over img{right:10px;bottom:-22px;width:36%}}

/* ==== 14. FICHES 2 ==== */
.elementor .sec.secfiche{padding-top:64px}
.elementor h1,.elementor h2,.elementor h3,.elementor h4{margin-block-end:0}
.elementor .blk .review{margin-top:20px}
.elementor .secfiche .gallery>.elementor-widget:nth-child(1) img{grid-row:span 2}

.elementor .secfiche .gallery{grid-auto-rows:230px}
.elementor .shead .sheadl{min-width:0}

.elementor .sec.sechub{padding-top:50px}

/* ==== 15. CARTES CLIQUABLES ==== */
.elementor .xcard,.elementor .bpost{position:relative}
.elementor .cardlink{position:absolute;inset:0;z-index:4;display:block;border-radius:inherit}
.elementor .xcard .arrow,.elementor .bpost .rd{position:relative;z-index:5}
.elementor .xcard:has(.cardlink:hover){box-shadow:0 22px 46px rgba(23,28,25,.13);transform:translateY(-4px)}
.elementor .bpost:has(.cardlink:hover){box-shadow:0 22px 46px rgba(23,28,25,.13);transform:translateY(-4px)}
.elementor .xcard:has(.cardlink:hover) .im img{transform:scale(1.05)}

/* ==== 16. FIDELITE 2 ==== */
.elementor .elementor-widget-button .elementor-button{line-height:1.65 !important}
.elementor .wa .elementor-button{color:#0B2015 !important}
.elementor .ghostwhite .elementor-button{color:#F4F1EA !important}
.elementor.elementor.elementor .xcard .go{color:var(--amber);font-weight:600;font-size:14px;letter-spacing:.08em}
.elementor.elementor.elementor .tealm{color:var(--teal)}
.elementor .hero .inner h1{margin-top:0}
.elementor:has(.secfiche) .hero .inner h1{margin-top:18px}
.elementor .pilgrid .micro{margin-bottom:10px}
.elementor .pilgrid .body>.elementor-widget:last-child p{margin-top:8px}
.elementor .body.pad30 h3{margin:10px 0}
.elementor .wrap>.blk:not(.hubfaq):has(.faq){margin-top:70px;max-width:860px}
.elementor .wrap>.blk:not(.hubfaq):has(.faq) h2{margin:0}
.elementor .wrap>.blk:not(.hubfaq):has(.faq) .faq{margin-top:24px}
.elementor .splitleft>.blk:first-child h2{margin-bottom:36px}
.elementor .splitleft .blk:has(.faq) h2{margin-bottom:24px}
.elementor .blk .shead h2{margin-bottom:0}
.elementor .bookcard .micro{margin-bottom:16px}
.elementor:has(.secfiche) .bookcard .micro{margin-bottom:10px}
.elementor .sec.seclegal{padding-top:40px}
.elementor .seclegal .prose p.kicker{font-size:20px;line-height:1.7;color:#0D7D6C !important}
.elementor .seclegal .prose h1{font-size:clamp(32px,4vw,48px);line-height:1.03;margin:16px 0 30px;color:#171C19}
.elementor .seclegal .prose h2{font-size:26px;line-height:1.12;color:#171C19}
.elementor.elementor.elementor .elementor-element-89b9e51 .big{font-size:17px}
.elementor.elementor.elementor .elementor-element-c12061f .big{font-size:16px}
.elementor.elementor.elementor .elementor-element-0aeff78 h2{margin:16px 0 20px}
.elementor.elementor.elementor .elementor-element-87ca255 h2{margin-top:14px}
.elementor.elementor.elementor .elementor-element-b9ae77b p{margin-top:16px}
.elementor.elementor.elementor .elementor-element-aa243ce p{margin-top:14px}
.elementor.elementor.elementor .elementor-element-56b839d p,.elementor.elementor.elementor .elementor-element-712ed61 p,.elementor.elementor.elementor .elementor-element-ebce629 p{margin-bottom:8px}
.elementor.elementor.elementor .elementor-element-7393df0 h2{margin-bottom:0}
.elementor.elementor.elementor .elementor-element-8df1251 p{margin:12px 0 20px}
.elementor .crumb{color:#7a7f78}

/* ==== 17. FIDELITE 3 ==== */
.elementor .heroM.heroS{min-height:46vh}
.elementor .sec.secres{padding-top:60px}
.elementor .hero.short.herotall{min-height:88vh}
.elementor.elementor.elementor .herotall .inner{max-width:860px}
.elementor .answerbox.circans{margin-bottom:0}
.elementor.elementor.elementor .crumb{color:#7a7f78}
.elementor.elementor.elementor .pad30{padding:30px}
.elementor.elementor.elementor .pad26{padding:26px}
.elementor.elementor.elementor .prose>.elementor-widget-text-editor:has(p) p{font-size:20px;line-height:1.7;color:var(--ink)}
.elementor.elementor.elementor .prose>.elementor-widget-text-editor:has(p)~.elementor-widget-text-editor p{font-size:18px;line-height:1.65;color:#42473F}

/* ==== 18. EN-TETE ET PIED DE PAGE ==== */
.elementor .nheader .navwrap{--content-width:100%}
.elementor .nheader .navwrap{max-width:none;padding:20px 4vw;width:100%}
.elementor .nheader .navright{width:auto;flex:0 0 auto;flex-direction:row;align-items:center;gap:18px}
.elementor .nfooter .fgrid{grid-template-columns:1.4fr 1fr 1fr 1fr !important;gap:40px;margin-bottom:56px}
@media(max-width:1024px){.elementor .nfooter .fgrid{grid-template-columns:1fr 1fr !important}}
@media(max-width:600px){.elementor .nfooter .fgrid{grid-template-columns:1fr !important}}
.elementor .nfooter .ftitle .elementor-heading-title{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:#9BA39A;margin-bottom:18px;font-weight:600;line-height:1.65}
.elementor .nfooter .flink .elementor-heading-title{margin:0;font-weight:400;font-size:14.5px;letter-spacing:normal;text-transform:none;line-height:1.65}
.elementor .nfooter .flink a{display:block;padding:5px 0;font-size:14.5px;font-weight:400;color:#E9E4D8;opacity:.85;letter-spacing:normal;text-transform:none;text-decoration:none}
.elementor .nfooter .flink a:hover{opacity:1;color:#FFB09A}
.elementor .nfooter .fdesc p{font-size:14.5px;color:#9BA39A;margin-top:18px;max-width:300px;opacity:1}
.elementor .nfooter .fmicro p{font-size:14.5px;letter-spacing:.22em;text-transform:uppercase;color:#9BA39A;margin-top:14px;font-weight:500}
.elementor .nfooter .fbase{border-top:1px solid #2a2f2b;padding-top:28px;font-size:12.5px;color:#9BA39A}
.elementor .nfooter .fbase p{font-size:12.5px;color:#9BA39A;margin:0}
.elementor .nfooter .fbase a{color:#9BA39A;text-decoration:none}
.elementor .nfooter .fbase a:hover{color:#FFB09A}
.elementor .nfooter .logo .elementor-heading-title,.elementor .nfooter .logo a{font-family:var(--serif);font-size:14.5px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:#E9E4D8;text-decoration:none}
.elementor .nfooter .fgrid p{font-size:14.5px;color:#9BA39A}
.elementor .nfooter .ftitle .elementor-heading-title{font-size:12px;color:#9BA39A}
.elementor .nfooter .ftitle .elementor-heading-title{white-space:nowrap;margin-right:-3px}

/* ==== 19. PIED DE PAGE : espacements maquette ==== */
.elementor .nfooter>.e-con-inner{padding-top:68px !important;padding-bottom:36px !important;gap:0 !important;row-gap:0 !important}
.elementor .nfooter .fgrid{padding:0 !important;margin-bottom:56px}
.elementor .nfooter .fgrid>.e-con{gap:0 !important;row-gap:0 !important}
.elementor .nfooter .fgrid>.e-con>.e-con-inner{gap:0 !important;row-gap:0 !important}
.elementor .nfooter .fbase{margin-top:0 !important}

/* ==== 20. EN-TETE MOBILE ET BOUTON WHATSAPP ==== */
@media(max-width:1099px){
.elementor .nheader .navwrap{flex-wrap:nowrap !important;gap:12px}
.elementor .nheader .navwrap>.elementor-widget-nav-menu{order:3;width:auto;flex:0 0 auto}
.elementor .nheader .navright{order:2;margin-left:auto;width:auto;flex-wrap:nowrap !important;flex-direction:row;align-items:center;gap:12px}
.elementor .nheader .navright>.elementor-widget-html{display:none}
.elementor .nheader .elementor-widget-button .elementor-button{padding:12px 24px !important;font-size:12px !important}
}
@media(max-width:1099px){
.elementor .nheader .navwrap{gap:10px}
.elementor .nheader .navwrap>.elementor-widget-nav-menu{width:44px !important;flex:0 0 44px !important;max-width:44px;min-width:0}
.elementor .nheader .elementor-nav-menu--toggle{width:auto;justify-content:flex-end}
.elementor .nheader .navwrap>.elementor-widget-heading .elementor-heading-title{font-size:15px !important;letter-spacing:.24em !important}
}
.elementor .wafab svg{width:26px;height:26px;fill:currentColor}
.elementor .nheader .elementor-menu-toggle{background:transparent !important;color:#171C19 !important;padding:0;font-size:24px}
.elementor .nheader .elementor-menu-toggle svg{fill:#171C19;width:26px;height:26px}

/* ==== 21. FORMULAIRES : fidelite maquette ==== */
.elementor .ptform .elementor-field-group>label{font-size:10.5px !important;line-height:1.15 !important;letter-spacing:.18em;text-transform:uppercase;font-weight:600;margin-bottom:16px}
.elementor .ptform input:not([type=submit]),.elementor .ptform select,.elementor .ptform textarea{line-height:normal !important;font-size:15px !important;padding:13px 16px !important}
.elementor .ptform .elementor-button{line-height:normal !important}
.elementor .ptform .elementor-form-fields-wrapper{margin-bottom:-12px}
.elementor .ptform .elementor-field-group{margin-bottom:12px}
@media(max-width:767px){.elementor .ptform .elementor-field-group.elementor-col-50{width:50%}}
.elementor .bkfine{font-size:12px;color:var(--mut);margin-top:8px}
.elementor .bkfine a{text-decoration:underline}

/* ==== 22. RESPONSIVE : menu mobile, FAQ, blocs ==== */
.elementor .faq .elementor-tab-title{display:flex;align-items:center;justify-content:space-between;gap:20px;line-height:1.65;min-height:91px}
.elementor .faq .elementor-accordion-icon{order:2;font-size:26px;line-height:1.65;color:var(--amber);flex:0 0 auto;width:auto;float:none}
.elementor .faq .elementor-accordion-icon svg{width:18px;height:18px;fill:currentColor}
.elementor .faq .elementor-accordion-title{flex:1 1 auto}
.elementor .fact-rail.factcol,.elementor .fact-rail.resfacts{margin-bottom:0}
.elementor .bookcard .bkbtn .elementor-button{display:block}
.elementor.elementor.elementor .xcard .go{line-height:1.65}
@media(max-width:1099px){
.elementor .nheader .elementor-nav-menu--toggle:has(.elementor-menu-toggle.elementor-active) .elementor-nav-menu--dropdown{position:fixed;inset:0;width:100vw;max-width:none;max-height:100vh;height:100vh;background:var(--night);z-index:200;padding:76px 6vw 32px;overflow:auto;margin:0;border:0;display:block}
.elementor .nheader .elementor-nav-menu--dropdown .elementor-nav-menu{display:flex;flex-direction:column}
.elementor .nheader .elementor-nav-menu--dropdown .elementor-nav-menu>li>a.elementor-item{font-family:var(--serif);font-size:32px;line-height:1.65;padding:14px 0;border-bottom:1px solid var(--line);background:transparent !important;color:var(--ink) !important;letter-spacing:0;text-transform:none;white-space:normal}
.elementor .nheader .elementor-menu-toggle.elementor-active{position:fixed;right:6vw;top:20px;z-index:201}
}

/* ==== 23. AJUSTEMENTS FINS ==== */
.elementor .xcard .kicker.t{margin-bottom:12px}
.elementor .bkfine{margin-top:0}
.elementor .bookcard .bkbtn .elementor-button{display:block !important}
.elementor.elementor.elementor .elementor-element-79c1129 a{margin-top:0;display:block}

/* ==== 24. MENU : entrees visibles seulement sur mobile ==== */
@media(min-width:1100px){.elementor .nheader .elementor-nav-menu li.mob-only{display:none}}
.elementor .nheader .elementor-nav-menu--dropdown li.mob-only>a.elementor-item{color:var(--ink)}
@media(max-width:1099px){.elementor .nheader .elementor-nav-menu--dropdown li.mob-only:last-child>a.elementor-item{color:var(--amber) !important}}

/* ==== 25. EN-TETE ET PIED DE PAGE, VALEURS MAQUETTE ==== */
.elementor .nheader .elementor-widget-button .elementor-button{padding:12px 24px !important;font-size:12px !important;letter-spacing:.12em !important;line-height:1.65 !important}
.elementor .nfooter .fgrid{gap:40px !important}
.elementor .nheader .navwrap{gap:12px}
.elementor .nheader .elementor-nav-menu--main .elementor-nav-menu>li+li{margin-left:32px}
.elementor .nheader .navwrap .elementor-widget-heading .elementor-heading-title a{line-height:1.65;display:inline-block}
.elementor .nheader .lang{line-height:1.65}
.elementor-location-header.scrolled .nheader{background:rgba(247,244,236,.92) !important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid #E3DDCC !important}
.elementor .nfooter .logo b{color:#0E8E7E}
@media(max-width:767px){.elementor .nheader .navwrap{padding:14px 4vw !important}}
.elementor .nheader .navwrap>.elementor-widget-nav-menu{height:44px;display:flex;align-items:center}
@media(max-width:1099px){.elementor .nheader .navwrap{gap:0}.elementor .nheader .elementor-menu-toggle{position:relative;top:12px}}
.elementor .nheader .elementor-menu-toggle svg{width:22px !important;height:24px !important}
.elementor .nheader .navwrap>.elementor-widget-nav-menu .elementor-widget-container{margin:auto 0}
.elementor .nheader .navwrap>.elementor-widget-nav-menu .elementor-nav-menu--main{margin:auto 0}
.elementor .nfooter .fmicro+.fmicro p{margin-top:8px}
.elementor-location-footer>.elementor-widget-html,.elementor-location-header>.elementor-widget-html{margin:0 !important}
@media(max-width:1099px){.elementor .nheader .navwrap>.elementor-widget-nav-menu{width:40px !important;flex:0 0 40px !important;max-width:40px}}
@media(min-width:1025px) and (max-width:1099px){.elementor .nheader .elementor-nav-menu--main{display:none !important}.elementor .nheader .elementor-nav-menu--toggle{display:flex !important}.elementor .nheader .elementor-menu-toggle{display:flex !important}.elementor .nheader .navwrap>.elementor-widget-nav-menu{width:40px !important;flex:0 0 40px !important;max-width:40px}}

/* ==== 26. SELECTEUR DE LANGUE ==== */
.elementor .nheader .lang a,.elementor .nfooter .fbase a{color:inherit;text-decoration:none}
.elementor .nheader .lang a:hover{color:var(--amber)}
.elementor .nheader .elementor-nav-menu--dropdown .mmlang{padding:22px 0 0;margin:0;font-size:11.5px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--mut);font-family:var(--sans);line-height:1.65}
.elementor .nheader .elementor-nav-menu--dropdown .mmlang b{color:var(--ink)}
.elementor .nheader .elementor-nav-menu--dropdown .mmlang a{color:inherit;text-decoration:none}
.elementor .nheader .elementor-nav-menu--dropdown .elementor-nav-menu>li>a.elementor-item{font-weight:400}

/* === Guide du Mexique : articles === */
.elementor.elementor .heroArt{min-height:46vh}
.elementor.elementor .heroArt h1{font-size:clamp(30px,4.2vw,54px);text-transform:none;letter-spacing:-.01em;line-height:1.08;max-width:20ch}
.elementor.elementor .heroArt .subM{max-width:62ch}
.elementor.elementor .secart{padding:70px 0 90px}
.elementor.elementor .secart .artgrid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px;align-items:start}
.elementor.elementor .secart .artmain{min-width:0}
.elementor.elementor .secart .artside{position:sticky;top:110px}
.elementor.elementor .sidecard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px}
.elementor.elementor .sidecard .kicker{color:var(--teal);font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;margin-bottom:10px}
.elementor.elementor .sidecard h3{font-size:21px;line-height:1.25;margin:0 0 10px}
.elementor.elementor .sidecard p{font-size:15px;margin-bottom:18px;color:var(--mut)}
.elementor.elementor .sidecard .btn{display:inline-block;background:var(--teal);color:#fff;border-radius:999px;padding:12px 22px;font-size:13.5px;font-weight:600;text-decoration:none}
.elementor.elementor .prose ul,.elementor.elementor .prose ol{margin:0 0 22px 22px}
.elementor.elementor .prose li{margin-bottom:8px;color:rgb(66,71,63)}
.elementor.elementor .prose figure{margin:30px 0}
.elementor.elementor .prose figure img{width:100%;height:auto;border-radius:18px;display:block}
.elementor.elementor .prose .pt-table{overflow-x:auto;margin:30px 0}
.elementor.elementor .prose table{width:100%;border-collapse:collapse;font-size:15.5px}
.elementor.elementor .prose thead th{background:var(--teal);color:#fff;text-align:left;padding:12px 14px;font-weight:600}
.elementor.elementor .prose td{padding:11px 14px;border-bottom:1px solid var(--line)}
.elementor.elementor .prose tbody tr:nth-child(even) td{background:rgba(255,255,255,.6)}
.elementor.elementor .prose .pt-cta{margin:26px 0}
.elementor.elementor .prose .pt-cta a{display:inline-block;background:var(--teal);color:#fff;border-radius:999px;padding:13px 26px;font-size:14px;font-weight:600;text-decoration:none}
@media(max-width:1024px){.elementor.elementor .secart .artgrid{grid-template-columns:1fr;gap:34px}.elementor.elementor .secart .artside{position:static}.elementor.elementor .heroArt h1{max-width:none}}



/* === Ajustements responsive (24/09/2026) === */
@media(max-width:1024px){
 .elementor.elementor.elementor .micro,
 .elementor.elementor.elementor .kicker,
 .elementor.elementor.elementor .sidecard .kicker,
 .elementor.elementor.elementor .heroM .chips span,
 .elementor.elementor.elementor .hero .chips span,
 .elementor.elementor.elementor .tag,
 .elementor.elementor.elementor .xcard .tag,
 .elementor.elementor.elementor .cat,
 .elementor.elementor.elementor .bpost .cat,
 .elementor.elementor.elementor .ct,
 .elementor.elementor.elementor .btile .ct,
 .elementor.elementor.elementor .itin .hr,
 .elementor.elementor.elementor .toc p,
 .elementor.elementor.elementor .stat span,
 .elementor.elementor.elementor .bookcard label,
 .elementor.elementor.elementor .finder label,
 .elementor.elementor.elementor .wp .lbl,
 .elementor.elementor.elementor .vs .col .lab,
 .elementor.elementor.elementor .fact-rail span,
 .elementor.elementor.elementor .heroW .quick span,
 .elementor.elementor.elementor .stamp,
 .elementor.elementor.elementor .rail a,
 .elementor.elementor.elementor .nextprev .dirl,
 .elementor.elementor.elementor .heroW .cornerW,
 .elementor.elementor.elementor .heroT .corner,
 .elementor.elementor.elementor .nav .btn,
 .elementor.elementor.elementor .bpag a,
 .elementor.elementor.elementor .bfilters button{font-size:12px}
 .elementor.elementor.elementor .nfooter a{display:inline-block;padding:7px 0;line-height:1.35}
}/* End custom CSS */