/* ==========================================================================
   Galaxy Infra Developers — Core Design System & Stylesheet
   Pixel-Accurate Reconstruction
   ========================================================================== */

/* Typography / Font-Face */
@font-face {
  font-family: 'Gued';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../assets/fonts/Gued-Regular.ttf') format('truetype');
}

@font-face {
  font-family: 'Gued';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../assets/fonts/Gued-Bold.ttf') format('truetype');
}

@font-face {
  font-family: 'Blue Voltage';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../assets/fonts/Blue-Voltage.otf') format('opentype');
}

@font-face {
  font-family: 'Mustinya';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../assets/fonts/Mustinya.ttf') format('truetype');
  unicode-range: U+0020-002B, U+002D-007E;
}

@font-face {
  font-family: 'Abho Luxury Demo';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../assets/fonts/AbhoLuxuryDemo.otf') format('opentype'),
       url('../assets/fonts/AbhoLuxuryDemo-Regular.otf') format('opentype');
}

@font-face {
  font-family: 'Abho Luxury';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../assets/fonts/AbhoLuxuryDemo.otf') format('opentype'),
       url('../assets/fonts/AbhoLuxuryDemo-Regular.otf') format('opentype');
}

@font-face {
  font-family: 'Djore DEMO';
  font-style: normal;
  font-weight: 300 400 700;
  font-display: swap;
  src: url('../assets/fonts/DjoreDEMO.otf') format('opentype'),
       url('../assets/fonts/Djore DEMO.otf') format('opentype');
}

@font-face {
  font-family: 'San Brainy';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../assets/fonts/SanBrainy.otf') format('opentype');
}

@font-face {
  font-family: 'Qunotz';
  font-style: normal;
  font-weight: 300 400 700;
  font-display: swap;
  src: url('../assets/fonts/Qunotz-Regular.otf') format('opentype');
}

@font-face {
  font-family: 'Sogo';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('../assets/fonts/Sogo-Light.woff2') format('woff2');
}

@font-face {
  font-family: 'Sogo';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../assets/fonts/Sogo-Regular.woff2') format('woff2');
}

/* CSS Reset */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{
  margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;box-sizing:border-box;
}
*, *:before, *:after { box-sizing: border-box; }
ol,ul{list-style:none}
blockquote,q{quotes:none}
blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}
:focus{outline:0}
ins{text-decoration:none}
del{text-decoration:line-through}
table{border-collapse:collapse;border-spacing:0}
input,select,img,iframe{vertical-align: middle;}
html{font-size:125%;}
h1,h2,h3,h4,h5,h6 {font-weight:inherit}
body {
  font-family: 'Qunotz', 'Sogo', serif;
  font-weight: 300;
  letter-spacing: 0.05rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  background-color: #F8F4EC;
  color: #0E1622;
}

:root {
  /* 4 Core Palette Colors: Midnight Ocean, Dusk Blue, Warm Taupe, Cream Ivory */
  --color-midnight-ocean: #0E1622;
  --color-midnight-ocean-deep: #0A101A;
  --color-dusk-blue: #506579;
  --color-dusk-blue-light: #63798E;
  --color-dusk-blue-wash: rgba(80, 101, 121, 0.15);
  --color-warm-taupe: #BCA893;
  --color-warm-taupe-rich: #A89178;
  --color-warm-taupe-light: #D6C8B8;
  --color-cream-ivory: #F8F4EC;
  --color-cream-ivory-surface: #FCFAF5;
  --color-cream-ivory-muted: #F2ECE0;

  --color-background: #F8F4EC;
  --color-ecru-white-50: #FCFAF5;
  --color-ecru-white-100: #FCFAF5;
  --color-coral-tree-50: #F8F4EC;
  --color-foreground: #0E1622;
  --color-text-primary: #0E1622;
  --color-accent-blue: #506579;
  --color-accent-gold: #BCA893;
  --color-accent-gold-light: #D6C8B8;
  --color-accent-gold-rich: #A89178;
  --color-button-bg: #FCFAF5;
  --color-button-border: #BCA893;
  --color-overlay-close: #506579;
  --gradient-pink: linear-gradient(to bottom, #F8F4EC 0%, rgba(188,168,147,0.38) 100%);
  --gradient-header: linear-gradient(to right, rgba(248,244,236,0.55) 0%, rgba(248,244,236,0.9) 45%, rgba(248,244,236,0.9) 55%, rgba(248,244,236,0.55) 100%);
  --font-serif: 'Mustinya', 'Abho Luxury Demo', 'Djore DEMO', 'San Brainy', 'Qunotz', 'Sogo', Georgia, 'Times New Roman', serif;
  --font-display: 'Mustinya', 'Abho Luxury Demo', 'Djore DEMO', 'San Brainy', 'Qunotz', 'Sogo', Georgia, 'Times New Roman', serif;
  --font-heading: 'Mustinya', 'Abho Luxury Demo', 'Djore DEMO', 'San Brainy', 'Qunotz', 'Sogo', serif;
}

html, body {
  overflow-x: hidden !important;
}

main {
  overflow-x: clip !important;
}

/*! locomotive-scroll v5  */
html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-duration:1ms;transition-property:overflow}
/*! glide.js */
.glide{position:relative;width:100%;box-sizing:border-box}.glide *{box-sizing:inherit}.glide__track{overflow:hidden}.glide__slides{position:relative;width:100%;list-style:none;backface-visibility:hidden;transform-style:preserve-3d;touch-action:pan-Y;overflow:hidden;margin:0;padding:0;white-space:nowrap;display:flex;flex-wrap:nowrap;will-change:transform}.glide__slides--dragging{user-select:none}.glide__slide{width:100%;height:100%;flex-shrink:0;white-space:normal;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.glide__slide a{user-select:none;-webkit-user-drag:none;-moz-user-select:none;-ms-user-select:none}.glide__arrows{-webkit-touch-callout:none;user-select:none}.glide__bullets{-webkit-touch-callout:none;user-select:none}.glide--rtl{direction:rtl}.wpa-test-msg{background:#d1ecf1!important;border:1px solid #bee5eb!important;border-radius:5px!important;color:#0c5460!important;font-size:14px!important;padding:.75rem 1.25rem!important;font-family:Arial!important;margin-top:5px!important}span.wpa-button{display:inline-block!important;padding-top:5px!important;color:#fff!important;background-color:#6c757d!important;border-color:#6c757d!important;padding:5px 10px!important;border-radius:5px!important;margin-top:5px!important;cursor:pointer!important}#altEmail_container,.altEmail_container{position:absolute!important;overflow:hidden!important;display:inline!important;height:1px!important;width:1px!important;z-index:-1000!important}a{text-decoration:none;color:#0E1622}footer a{color:#FCFAF5}body{color:#0E1622;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;cursor:default;font-weight:300;letter-spacing:.05rem}body.exit article{opacity:0!important}html.menu-active body.exit article{transition-duration:0ms}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px #fff inset!important}body *{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-touch-callout:none}.block{display:block}article{-webkit-transition:opacity 700ms cubic-bezier(.19,1,.22,1);transition:opacity 700ms cubic-bezier(.19,1,.22,1)}.relative{position:relative}.absolute{position:absolute}.mobileOnly{display:none}.full_width{width:100%;height:auto}.full_height{height:100%;width:auto}.no_opacity{opacity:0.001!important;pointer-events:none!important}.no_opacity.show,.show .no_opacity{opacity:1!important;pointer-events:all!important}.above{z-index:1}.top_low{-webkit-transform:translateY(20px);transform:translateY(20px);opacity:.01}.inline_block{display:inline-block;will-change:transform}.transition_all{transition-property:all!important}.top_hidden{-webkit-transform:translateY(101%);transform:translateY(101%)}.half_top_translated{-webkit-transform:translateY(2.5vw);transform:translateY(2.5vw)}.top_translated{-webkit-transform:translateY(5vw);transform:translateY(5vw)}.double_top_translated{-webkit-transform:translateY(10vw);transform:translateY(10vw)}.top_ultralow{-webkit-transform:translateY(10px);transform:translateY(10px);opacity:0}.top_single{-webkit-transform:translateY(50px);transform:translateY(50px);opacity:0}.top_double{-webkit-transform:translateY(100px);transform:translateY(100px);opacity:0}.top_double.show,.show .top_double,.top_single.show,.show .top_single,.top_low.show,.show .top_low,.top_ultralow.show,.show .top_ultralow,.left_single.show,.left_double.show,.show .left_single,.show .left_double,.scaled.show,.show .scaled{-webkit-transform:none;transform:none;opacity:1}.top_hidden.show,.top_translated.show,.double_top_translated.show,.show .top_hidden,.show .top_translated,.show .double_top_translated,.show .half_top_translated,.no_width.show,.show .no_width,.no_height.show,.show .no_height{-webkit-transform:none;transform:none;pointer-events:all}.centered{text-align:center}.justified{text-align:justify}.no_overflow{overflow:hidden}.flex{display:flex}.wrap{flex-wrap:wrap}.column{flex-direction:column}.spaceBetween{justify-content:space-between}.hStart{justify-content:flex-start}.hEnd{justify-content:flex-end}.hCenter{justify-content:center}.vStart{align-items:flex-start}.vCenter{align-items:center}.vEnd{align-items:flex-end}.selfEnd{align-self:flex-end}.selfStart{align-self:flex-start}.expand{flex:1}.mask_bottom{transform:translateY(50%)}.mask_bottom .t_container{transform:translateY(-50%)}.mask_bottom.full{transform:translateY(100.5%)}.mask_bottom.full .t_container{transform:translateY(-100.5%)}.mask_bottom.full .p_container{transform:translateY(35%)}[data-scroll-speed],span.block,.will_change{will-change:transform}.pointer{cursor:pointer}.has_transition_200,.show .fast_rewind.has_transition_200,.show.fast_rewind.has_transition_200{-webkit-transition:-webkit-transform 200ms cubic-bezier(.19,1,.22,1),opacity 200ms cubic-bezier(.19,1,.22,1);transition:transform 200ms cubic-bezier(.19,1,.22,1),opacity 200ms cubic-bezier(.19,1,.22,1)}.has_transition_400,.show .fast_rewind.has_transition_400,.show.fast_rewind.has_transition_400{-webkit-transition:-webkit-transform 400ms cubic-bezier(.19,1,.22,1),opacity 400ms cubic-bezier(.19,1,.22,1);transition:transform 400ms cubic-bezier(.19,1,.22,1),opacity 400ms cubic-bezier(.19,1,.22,1)}.has_transition_500,.show .fast_rewind.has_transition_500,.show.fast_rewind.has_transition_500{-webkit-transition:-webkit-transform 500ms cubic-bezier(.19,1,.22,1),opacity 500ms cubic-bezier(.19,1,.22,1);transition:transform 500ms cubic-bezier(.19,1,.22,1),opacity 500ms cubic-bezier(.19,1,.22,1)}.has_transition_600,.show .fast_rewind.has_transition_600,.show.fast_rewind.has_transition_600{-webkit-transition:-webkit-transform 600ms cubic-bezier(.19,1,.22,1),opacity 600ms cubic-bezier(.19,1,.22,1);transition:transform 600ms cubic-bezier(.19,1,.22,1),opacity 600ms cubic-bezier(.19,1,.22,1)}.has_transition_800,.show .fast_rewind.has_transition_800,.show.fast_rewind.has_transition_800{-webkit-transition:-webkit-transform 800ms cubic-bezier(.19,1,.22,1),opacity 800ms cubic-bezier(.19,1,.22,1);transition:transform 800ms cubic-bezier(.19,1,.22,1),opacity 800ms cubic-bezier(.19,1,.22,1)}.has_transition_1000,.show .fast_rewind.has_transition_1000,.show.fast_rewind.has_transition_1000{-webkit-transition:-webkit-transform 1000ms cubic-bezier(.19,1,.22,1),opacity 1000ms cubic-bezier(.19,1,.22,1);transition:transform 1000ms cubic-bezier(.19,1,.22,1),opacity 1000ms cubic-bezier(.19,1,.22,1)}.has_transition_1500,.show .fast_rewind.has_transition_1500,.show.fast_rewind.has_transition_1500{-webkit-transition:-webkit-transform 1500ms cubic-bezier(.19,1,.22,1),opacity 1000ms cubic-bezier(.19,1,.22,1);transition:transform 1500ms cubic-bezier(.19,1,.22,1),opacity 1000ms cubic-bezier(.19,1,.22,1)}.has_transition_1200,.show .fast_rewind.has_transition_1200,.show.fast_rewind.has_transition_1200{-webkit-transition:-webkit-transform 550ms cubic-bezier(.22,.72,.54,1.01),opacity 1200ms cubic-bezier(.19,1,.22,1);transition:transform 550ms cubic-bezier(.22,.72,.54,1.01),opacity 1200ms cubic-bezier(.19,1,.22,1)}.has_transition_750,.show .fast_rewind.has_transition_750,.show.fast_rewind.has_transition_750{-webkit-transition:-webkit-transform 750ms cubic-bezier(.22,.72,.54,1.01),opacity 750ms cubic-bezier(.19,1,.22,1);transition:transform 750ms cubic-bezier(.22,.72,.54,1.01),opacity 750ms cubic-bezier(.19,1,.22,1)}.has_transition_2000,.show .fast_rewind.has_transition_2000,.show.fast_rewind.has_transition_2000{-webkit-transition:-webkit-transform 1500ms cubic-bezier(0,0,.58,1);,opacity 1000ms cubic-bezier(.19,1,.22,1);transition:transform 1500ms cubic-bezier(0,0,.58,1);,opacity 1000ms cubic-bezier(.19,1,.22,1)}.has_transition_2500,.show .fast_rewind.has_transition_2500,.show.fast_rewind.has_transition_2500{-webkit-transition:-webkit-transform 2500ms cubic-bezier(0,0,.58,1);,opacity 1000ms cubic-bezier(.23,1,.32,1);transition:transform 2500ms cubic-bezier(0,0,.58,1);,opacity 1000ms cubic-bezier(.23,1,.32,1)}.has_transition_3000,.show .fast_rewind.has_transition_3000,.show.fast_rewind.has_transition_3000{-webkit-transition:-webkit-transform 3000ms cubic-bezier(.23,1,.32,1),opacity 3000ms cubic-bezier(.23,1,.32,1);transition:transform 3000ms cubic-bezier(.23,1,.32,1),opacity 3000ms cubic-bezier(.23,1,.32,1)}.has_transition_5000,.show .fast_rewind.has_transition_5000,.show.fast_rewind.has_transition_5000{-webkit-transition:-webkit-transform 5000ms cubic-bezier(.19,1,.22,1),opacity 5000ms cubic-bezier(.19,1,.22,1);transition:transform 5000ms cubic-bezier(.19,1,.22,1),opacity 5000ms cubic-bezier(.19,1,.22,1)}.has_transition_6000,.show .fast_rewind.has_transition_6000,.show.fast_rewind.has_transition_6000{-webkit-transition:-webkit-transform 6000ms cubic-bezier(.19,1,.22,1),opacity 3000ms cubic-bezier(.19,1,.22,1);transition:transform 6000ms cubic-bezier(.19,1,.22,1),opacity 3000ms cubic-bezier(.19,1,.22,1)}.has_transition_2500_inout,.show .fast_rewind.has_transition_2500_inout,.show.fast_rewind.has_transition_2500_inout{-webkit-transition:-webkit-transform 2500ms cubic-bezier(.575,.005,.285,1.005),opacity 2000ms cubic-bezier(.575,.005,.285,1.005);transition:transform 2500ms cubic-bezier(.575,.005,.285,1.005),opacity 2000ms cubic-bezier(.575,.005,.285,1.005)}.has_transition_2000_inout,.show .fast_rewind.has_transition_2000_inout,.show.fast_rewind.has_transition_2000_inout{-webkit-transition:-webkit-transform 2000ms cubic-bezier(.575,.005,.285,1.005),opacity 1500ms cubic-bezier(.575,.005,.285,1.005);transition:transform 2000ms cubic-bezier(.575,.005,.285,1.005),opacity 1500ms cubic-bezier(.575,.005,.285,1.005)}.has_transition_800_inout,.show .fast_rewind.has_transition_800_inout,.show.fast_rewind.has_transition_800_inout{-webkit-transition:-webkit-transform 800ms cubic-bezier(.575,.005,.285,1.005),opacity 800ms cubic-bezier(.575,.005,.285,1.005);transition:transform 800ms cubic-bezier(.575,.005,.285,1.005),opacity 800ms cubic-bezier(.575,.005,.285,1.005)}.has_transition_1000_inout,.show .fast_rewind.has_transition_1000_inout,.show.fast_rewind.has_transition_1000_inout{-webkit-transition:-webkit-transform 1000ms cubic-bezier(.575,.005,.285,1.005),opacity 1000ms cubic-bezier(.575,.005,.285,1.005);transition:transform 1000ms cubic-bezier(.575,.005,.285,1.005),opacity 1000ms cubic-bezier(.575,.005,.285,1.005)}.has_transition_1500_inout,.show .fast_rewind.has_transition_1500_inout,.show.fast_rewind.has_transition_1500_inout{-webkit-transition:-webkit-transform 1500ms cubic-bezier(.575,.005,.285,1.005),opacity 1500ms cubic-bezier(.575,.005,.285,1.005);transition:transform 1500ms cubic-bezier(.575,.005,.285,1.005),opacity 1500ms cubic-bezier(.575,.005,.285,1.005)}.has_transition_800_cubic,.show .fast_rewind.has_transition_800_cubic,.show.fast_rewind.has_transition_800_cubic{-webkit-transition:-webkit-transform 800ms cubic-bezier(.215,.61,.355,1),opacity 800ms cubic-bezier(.215,.61,.355,1);transition:transform 800ms cubic-bezier(.215,.61,.355,1),opacity 800ms cubic-bezier(.215,.61,.355,1)}.no_height{transform:scale(1,0);pointer-events:none}.fit{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.fit.taller{height:104%}.fit[data-scroll-speed]{height:110%;top:-5%}.fit.bottom{object-position:bottom!important}.fit.top{object-position:top!important}.fit.left{object-position:left!important}.fit.right{object-position:right!important}.uppercase{text-transform:uppercase}.mask_top{transform:translateY(-50%)}.mask_top .t_container{transform:translateY(50%)}.mask_top.full{transform:translateY(-100.5%)}.mask_top.full .t_container{transform:translateY(100.5%)}.mask_top.full .t_container img{transform:scale(1.05)}.mask_left{transform:translateX(-50%)}.mask_left .t_container{transform:translateX(100%)}.mask_left.full{transform:translateX(-100.5%)}.mask_left.full .t_container{transform:translateX(100.5%)}.mask_left.full .t_container img{transform:translateX(-10%)}.mask_right{transform:translateX(50%)}.mask_right .t_container{transform:translateX(-100%)}.mask_right.full{transform:translateX(100.5%)}.mask_right.full .t_container{transform:translateY(-100.5%) scale(.8)}.mask_right.full .t_container img{transform:translateX(25%)}.show>.mask_bottom,.show>.mask_left,.show>.mask_left .t_container,.show>.mask_left .t_container img,.show>.mask_right,.show>.mask_right .t_container,.show>.mask_right .t_container img,.show>.mask_top,.show>.mask_top .t_container,.show>.mask_top .t_container img,.show>.mask_bottom,.show>.mask_bottom .t_container,.show>.mask_bottom .t_container img,.show>.mask_bottom .p_container,.show .mask_bottom.full .t_container.scaled,.show .mask_bottom.full .t_container *{transform:none}.fast_rewind{transition-duration:600ms}.show .d50,.show.d50{transition-delay:50ms!important}.show .d100,.show.d100{transition-delay:100ms!important}.show .d150,.show.d150{transition-delay:150ms!important}.show .d200,.show.d200{transition-delay:200ms!important}.show .d250,.show.d250{transition-delay:250ms!important}.show .d300,.show.d300{transition-delay:300ms!important}.show .d350,.show.d350{transition-delay:350ms!important}.show .d400,.show.d400{transition-delay:400ms!important}.show .d450,.show.d450{transition-delay:450ms!important}.show .d500,.show.d500{transition-delay:500ms!important}.show .d550,.show.d550{transition-delay:550ms!important}.show .d600,.show.d600{transition-delay:600ms!important}.show .d650,.show.d650{transition-delay:650ms!important}.show .d700,.show.d700{transition-delay:700ms!important}.show .d750,.show.d750{transition-delay:750ms!important}.show .d800,.show.d800{transition-delay:800ms!important}.show .d850,.show.d850{transition-delay:850ms!important}.show .d900,.show.d900{transition-delay:900ms!important}.show .d950,.show.d950{transition-delay:950ms!important}.show .d1000,.show.d1000{transition-delay:1000ms!important}.show .d1050,.show.d1050{transition-delay:1050ms!important}.show .d1100,.show.d1100{transition-delay:1100ms!important}.show .d1150,.show.d1150{transition-delay:1150ms!important}.show .d1200,.show.d1200{transition-delay:1200ms!important}.show .d1250,.show.d1250{transition-delay:1250ms!important}.show .d1300,.show.d1300{transition-delay:1300ms!important}.show .d1350,.show.d1350{transition-delay:1350ms!important}.show .d1400,.show.d1400{transition-delay:1400ms!important}.show .d1450,.show.d1450{transition-delay:1450ms!important}.show .d1500,.show.d1500{transition-delay:1500ms!important}.show .d1550,.show.d1550{transition-delay:1550ms!important}.show .d1600,.show.d1600{transition-delay:1600ms!important}.show .d1650,.show.d1650{transition-delay:1650ms!important}.show .d1700,.show.d1700{transition-delay:1700ms!important}.show .d1750,.show.d1750{transition-delay:1750ms!important}.show .d1800,.show.d1800{transition-delay:1800ms!important}.show .d1850,.show.d1850{transition-delay:1800ms!important}.show .d1900,.show.d1900{transition-delay:1900ms!important}.show .d1950,.show.d1950{transition-delay:1900ms!important}.show .d2000,.show.d2000{transition-delay:2000ms!important}.show .d2100,.show.d2100{transition-delay:2100ms!important}.show .d2200,.show.d2200{transition-delay:2200ms!important}.no_transition{transition:none!important}.transform_lock{transform:none!important}.no_width{transform:scale(0,1);pointer-events:none}.underline{text-decoration:underline}.margin{margin-top:2.5vw}.n-margin{margin-top:-2.5vw}.doubleMargin{margin-top:5vw}.n-doubleMargin{margin-top:-5vw}.tripleMargin{margin-top:7.5vw}.n-tripleMargin{margin-top:-7.5vw}.quadMargin{margin-top:10vw}.halfMargin{margin-top:1.25vw}.smallMargin{margin-top:20px}.microMargin{margin-top:10px}.marginLeft{margin-left:5vw}.halfMarginLeft{margin-left:2.5vw}.lowercase{text-transform:lowercase}.ma{margin-left:auto;margin-right:auto}.bold{font-weight:500}.disabled{pointer-events:none;cursor:default;opacity:.5}.mainContainer.column{display:flex;flex-direction:column}.leftPadded{padding-left:5vw;box-sizing:border-box}.rightPadded{padding-right:5vw;box-sizing:border-box}.bottomPadded{padding-bottom:5vw;box-sizing:border-box}.topPadded{padding-top:5vw;box-sizing:border-box}.moreBottomPadded{padding-bottom:7.5vw;box-sizing:border-box}.moreTopPadded{padding-top:7.5vw;box-sizing:border-box}.moreLeftPadded{padding-left:7.5vw;box-sizing:border-box}.moreRightPadded{padding-right:7.5vw;box-sizing:border-box}.halfBottomPadded{padding-bottom:2.5vw;box-sizing:border-box}.halfTopPadded{padding-top:2.5vw;box-sizing:border-box}.halfRightPadded{padding-right:2.5vw;box-sizing:border-box}.halfLeftPadded{padding-left:2.5vw;box-sizing:border-box}.doubleLeftPadded{padding-left:10vw;box-sizing:border-box}.doubleRightPadded{padding-right:10vw;box-sizing:border-box}.doubleTopPadded{padding-top:10vw;box-sizing:border-box}.doubleBottomPadded{padding-bottom:10vw;box-sizing:border-box}.fullPage{min-height:100vh;min-height:100dvh}.fullPage.m2{min-height:125vh;min-height:125dvh}.fullPage.m3{min-height:150vh;min-height:150dvh}.midPage{min-height:62.5vh;min-height:62.5dvh}.splitTitle{opacity:0}.show .splitTitle{opacity:1}.w1{width:5vw}.w1q{width:6.25vw}.w1h{width:7.5vw}.w1t{width:8.75vw}.w2{width:10vw}.w2q{width:11.25vw}.w2h{width:12.5vw}.w2t{width:13.75vw}.w3{width:15vw}.w3q{width:16.25vw}.w3h{width:17.5vw}.w3t{width:18.75vw}.w4{width:20vw}.w4q{width:21.25vw}.w4h{width:22.5vw}.w4t{width:23.75vw}.w5{width:25vw}.w5q{width:26.25vw}.w5h{width:27.5vw}.w5t{width:28.75vw}.w6{width:30vw}.w6q{width:31.25vw}.w6h{width:32.5vw}.w6t{width:33.75vw}.w7{width:35vw}.w7q{width:36.25vw}.w7h{width:37.5vw}.w7t{width:38.75vw}.w8{width:40vw}.w8q{width:41.25vw}.w8h{width:42.5vw}.w8t{width:43.75vw}.w9{width:45vw}.w9q{width:46.25vw}.w9h{width:47.5vw}.w9t{width:48.75vw}.w10{width:50vw}.w10q{width:51.25vw}.w10h{width:52.5vw}.w10t{width:53.75vw}.w11{width:55vw}.w11q{width:56.25vw}.w11h{width:57.5vw}.w11t{width:58.75vw}.w12{width:60vw}.w12q{width:61.25vw}.w12h{width:62.5vw}.w12t{width:63.75vw}.w13{width:65vw}.w13q{width:66.25vw}.w13h{width:67.5vw}.w13t{width:68.75vw}.w14{width:70vw}.w14q{width:71.25vw}.w14h{width:72.5vw}.w14t{width:73.75vw}.w15{width:75vw}.w15q{width:76.25vw}.w15h{width:77.5vw}.w15t{width:78.75vw}.w16{width:80vw}.w16q{width:81.25vw}.w16h{width:82.5vw}.w16t{width:83.75vw}.w17{width:85vw}.w17q{width:86.25vw}.w17h{width:87.5vw}.w17t{width:88.75vw}.h1{height:5vw}.h1q{height:6.25vw}.h1h{height:7.5vw}.h1t{height:8.75vw}.h2{height:10vw}.h2q{height:11.25vw}.h2h{height:12.5vw}.h2t{height:13.75vw}.h3{height:15vw}.h3q{height:16.25vw}.h3h{height:17.5vw}.h3t{height:18.75vw}.h4{height:20vw}.h4q{height:21.25vw}.h4h{height:22.5vw}.h4t{height:23.75vw}.h5{height:25vw}.h5q{height:26.25vw}.h5h{height:27.5vw}.h5t{height:28.75vw}.h6{height:30vw}.h6q{height:31.25vw}.h6h{height:32.5vw}.h6t{height:33.75vw}.h7{height:35vw}.h7q{height:36.25vw}.h7h{height:37.5vw}.h7t{height:38.75vw}.h8{height:40vw}.h8q{height:41.25vw}.h8h{height:42.5vw}.h8t{height:43.75vw}.h9{height:45vw}.h9q{height:46.25vw}.h9h{height:47.5vw}.h9t{height:48.75vw}.h10{height:50vw}.h10q{height:51.25vw}.h10h{height:52.5vw}.h10t{height:53.75vw}.h11{height:55vw}.h11q{height:56.25vw}.h11h{height:57.5vw}.h11t{height:58.75vw}.veiled:after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:#000;opacity:.4;pointer-events:none}.midContainer{width:80vw;margin-left:auto;margin-right:auto}.mainContainer{width:95vw;margin-left:auto;margin-right:auto}.largeContainer{width:85vw;margin-left:auto;margin-right:auto}.fullContainer{width:100%}.scroll-inner{will-change:transform}.label{font-family:Montserrat;font-weight:450;font-size:15px;line-height:25px}.bigTypography{font-family:'Qunotz','Sogo',serif;font-weight:300;font-style:Light;font-size:2.6vw;line-height:3.8vw;letter-spacing:0%}.smallTypography{font-family:'Qunotz','Sogo',serif;font-weight:300;font-style:Light;font-size:1.36vw;line-height:2vw;letter-spacing:.1em}.smallTypography.fixed{font-size:28px}.paragrafo{font-family:Sogo;font-weight:400;font-size:.95vw;line-height:1.75vw}.copy{font-family:'Qunotz','Sogo',serif;font-weight:300;font-size:2.35vw;line-height:3.7vw}.titoloSchede{font-family:'Qunotz','Sogo',serif;font-weight:400;font-style:Regular;font-size:1.4vw;line-height:1.8vw;letter-spacing:.05em}.testoSchede{font-family:Montserrat;font-weight:350;font-style:Book;font-size:13px;line-height:18px;letter-spacing:.05em}.note{font-family:Montserrat;font-weight:300;font-size:.8vw;line-height:1.4vw;letter-spacing:.1em}.bWhite{background:#FFF}.cWhite{color:#FFF}.cEcruWhite100{color:#FCFAF5}.cEcruWhite950{color:#0E1622}.cOuterSpace400{color:#506579}.cBermudaGray500{color:#506579}.bEcruWhite500{background:#F8F4EC}.bEcruWhite400{background:#F2ECE0}.bEcruWhite50{background:#FCFAF5}.bEcruWhite200{background:#F5EFE4}.bEcruWhite300{background:#EFE8DA}.bBermudaGray400{background:#506579}.bOpal100{background:rgba(224,237,235,1)}.bOpal200{background:rgba(196,221,219,1)}.bOuterSpace100{background:rgba(217,221,223,1)}.bCoralTree50{background:#F8F4EC}header{position:fixed;width:100%;left:0;top:0;z-index:3;height:70px;display:flex;align-items:center;background:linear-gradient(to right,rgba(252,252,250,.5) 0%,rgba(252,252,250,.8) 45%,rgba(252,252,250,.8) 55%,rgba(252,252,250,.5) 100%);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);justify-content:space-between;padding:0 2.5vw;box-sizing:border-box;transform:translateY(-70px)}header.show{transform:none}#headerLeft{width:calc(47.5vw - 100px)}#headerRight{width:calc(47.5vw - 290px);margin-left:190px}#mainLogo{width:180px;position:absolute;left:calc(50% - 90px)}#mainLogo svg{fill:#506579}#bookNow{height:60px;width:190px;cursor:pointer}#bookNow .decor{position:absolute;top:2px;left:0;width:100%}.barButton:after{content:'';width:100%;height:1px;background:#0E1622;transform:scale(0,1);position:absolute;left:0;bottom:0;transform-origin:left;-webkit-transition:-webkit-transform 1000ms cubic-bezier(.19,1,.22,1),opacity 1000ms cubic-bezier(.19,1,.22,1);transition:transform 1000ms cubic-bezier(.19,1,.22,1),opacity 1000ms cubic-bezier(.19,1,.22,1)}.barButton:hover:after{transform:none}.barButton.force_hidden{-webkit-transform:translateY(20px);transform:translateY(20px);opacity:.01;transition-delay:0ms!important;pointer-events:none}#langs{display:flex}.lang-item{margin-left:18px;position:relative}.lang-item-first:after{content:'/';margin-left:6px;position:absolute}.lang-item:before{content:'';position:absolute;bottom:2px;width:100%;background:#0E1622;height:1px;transform:scale(0,1);transform-origin:left;-webkit-transition:-webkit-transform 800ms cubic-bezier(.19,1,.22,1),opacity 800ms cubic-bezier(.19,1,.22,1);transition:transform 800ms cubic-bezier(.19,1,.22,1),opacity 800ms cubic-bezier(.19,1,.22,1)}.lang-item.current-lang{font-weight:600}.lang-item.current-lang:before,.lang-item:hover:before{transform:none}#homeTop{height:100svh;perspective:1500px;background:#F8F4EC}#scrollDown{width:48px;height:48px;position:absolute;bottom:70px;left:calc(50% - 24px)}#scrollDown circle{stroke-dasharray:141px;stroke-dashoffset:141px;-webkit-transition:all 1500ms cubic-bezier(.19,1,.22,1);transition:all 1500ms cubic-bezier(.19,1,.22,1)}#scrollDown.show circle{stroke-dashoffset:0;-webkit-transition:all 1500ms 100ms cubic-bezier(.575,.005,.285,1.005);transition:all 1500ms 100ms cubic-bezier(.575,.005,.285,1.005)}#scrollDown .arrow{width:14px;height:10px;transform:rotateZ(90deg) translateY(.5px);position:absolute;left:calc(50% - 5px);top:calc(50% - 4px)}#scrollDown .note{position:absolute;bottom:-45px;white-space:nowrap;font-size:14px;font-weight:400}#homeLogoLayer{display:flex;align-items:center;justify-content:center;position:absolute;top:0;left:0;width:100%;height:100%}#homeLogoLayer svg{fill:#000}#homeVideo{transform:translateZ(-500px);position:absolute;width:100%;height:100%;opacity:0;-webkit-transition:transform 2000ms cubic-bezier(.645,.045,.355,1),opacity 4000ms cubic-bezier(.19,1,.22,1);transition:transform 2000ms cubic-bezier(.645,.045,.355,1),opacity 4000ms cubic-bezier(.19,1,.22,1);transform-origin:bottom}#homeVideo video,#homePoster{width:108%;height:108%;object-fit:cover;top:-4%;left:-4%;position:relative}#audioPlayer{width:48px;height:48px;background:rgba(248,247,240,.4);border-radius:50px;display:flex;align-items:center;justify-content:center;cursor:pointer;position:absolute;will-change:transform;left:-12px;top:-36px}.audioNope{display:none}#audioPlayer.playing .audioNope{display:block}#audioPlayer.playing .audioYes{display:none}#homeVideo.fade{opacity:1}#homeVideo.in{transform:none}#welcomeSvgMask path{fill:none;stroke:#FFF;stroke-dasharray:1480px;stroke-dashoffset:1480px;stroke-miterlimit:10;stroke-width:4.2px}#roomsSvgMask path{fill:none;stroke-dasharray:3239px;stroke-dashoffset:3239px;stroke:#FFF;stroke-miterlimit:10;stroke-width:4px}#diningSvgMask path{stroke-dasharray:1510px;stroke-dashoffset:1510px;fill:none;stroke:#FFF;stroke-miterlimit:10;stroke-width:4px}#spaSvgMask path{fill:none;stroke:#FFF;stroke-miterlimit:10;stroke-width:4px;stroke-dasharray:1807px;stroke-dashoffset:1807px}#experientialSvgMask path{fill:none;stroke:#FFF;stroke-miterlimit:10;stroke-width:4px;stroke-dasharray:4304px;stroke-dashoffset:4304px}.titleSvg{z-index:1}.titleSvg.show #welcomeSvgMask path{stroke-dashoffset:2960px}.titleSvg.show #roomsSvgMask path,.titleSvg.show #diningSvgMask path,.titleSvg.show #spaSvgMask path,.titleSvg.show #experientialSvgMask path{stroke-dashoffset:0}.brush{z-index:0}.brush.gold{width:110%;margin-left:-70px;position:relative}.brush.gold img{transform:rotateZ(-172.7deg);opacity:.4}.brush.peach{position:relative}.brush.peach img{opacity:.4}.masked{mask:url(#frameMask);mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask:url(#frameMask);-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat}.svg.pic{width:80%}.rounded{border-radius:5px}.svg.pic svg{fill:#BCA893;position:relative;z-index:1}.pinkGradient{background:linear-gradient(to bottom,#F8F4EC 0%,rgba(188,168,147,.38) 100%)}.blueGradient{background:linear-gradient(to bottom,rgba(248,244,236,.6) 0%,rgba(80,101,121,.45) 100%)}.titleComposit .textBlock{left:100%;top:23.5vw;height:21.8vw;display:flex;flex-direction:column;justify-content:center}.blurred{filter:blur(5px);transition:filter 0s;will-change:filter}#flowerBackground{position:absolute;z-index:1;transform:rotateY(180deg) rotateZ(-8deg);width:42.5vw;opacity:.4;top:-15vw;left:-8vw}#homeRooms .itemSlider{padding:0 1.25vw}.button .decor{position:absolute;width:100%;height:100%;left:0;top:1.5px}.itemSlider .button{height:3vw;margin-bottom:2.5vw;z-index:2;min-height:45px}.button .label{font-family:Montserrat;font-weight:500;font-size:14px;line-height:30px;text-align:center;vertical-align:middle;letter-spacing:.5px}.glide__arrows{position:absolute;bottom:2.7vw;width:calc(100% - 5vw);left:2.5vw;pointer-events:none;min-height:42px;display:flex;align-items:center}.glide__arrow{height:2.75vw;background:none;border:none;cursor:pointer}.show .glide__arrow{pointer-events:all}.glide__arrow--left svg{transform:rotateZ(180deg)}.pic.absolute{width:100%;height:100%}.itemLayer:before{content:'';position:absolute;bottom:0;left:0;width:100%;height:5vw;background:linear-gradient(0,rgba(0,0,0,1),rgba(0,0,0,0));z-index:1}#homeRooms .itemLayer:before{width:100%;height:150%;background:linear-gradient(0,rgba(0,0,0,1) 0,rgba(0,0,0,0) 100%);z-index:1;transform:translateY(50%);-webkit-transition:all 1500ms cubic-bezier(.19,1,.22,1),opacity 1000ms cubic-bezier(.19,1,.22,1);transition:all 1500ms cubic-bezier(.19,1,.22,1),opacity 1000ms cubic-bezier(.19,1,.22,1)}#homeRooms .itemLayer .textBlock{height:100%;position:absolute;display:flex;align-items:center;padding:0 5vw 2.5vw 5vw;width:100%;z-index:1;opacity:0;transform:translateY(20px);transition:opacity 600ms cubic-bezier(.19,1,.22,1),transform 600ms cubic-bezier(.19,1,.22,1);pointer-events:none}#homeRooms .itemLayer:hover .textBlock,#homeRooms .itemLayer.show .textBlock{opacity:1;transform:translateY(0)}#homeRooms .itemLayer.show:before{transform:none}#homeRooms .glide__bullets{right:1.25vw;padding:1.25vw 0;width:auto}#homeRooms .glide__bullet--active+.glide__bullet,#homeRooms .glide__bullet--active+.glide__bullet+.glide__bullet{background:#D6C8B8}.glide__bullets .label{margin-left:20px}.glide__bullets{position:absolute;padding:1.5vw 0;pointer-events:none;display:flex;align-items:center;justify-content:center;width:100%}.glide__bullet{width:12px;height:12px;border-radius:50px;border:none;margin:0 3px;pointer-events:all}.glide__bullet--active{background:#BCA893}#starsTitle+.pic{margin-top:-3.4vw}#starsTitle{z-index:2}#flowerPattern{position:absolute;top:0;z-index:-1;opacity:.8;height:150vw;-webkit-mask-image:linear-gradient(transparent 0%,black 15%,black 85%,transparent 100%);mask-image:linear-gradient(transparent 0%,black 15%,black 85%,transparent 100%)}#flowerPattern img{will-change:transform}#salviaPattern{position:absolute;top:100vh;z-index:-1;opacity:.8;height:53%;background:rgba(80,101,121,.18)}#salviaPattern img{will-change:transform}#roomsOverlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:3;pointer-events:none}#roomsOverlay.visible{pointer-events:all}.overlaySection{width:85vw;height:calc(100vh - 10vh);position:absolute;left:7.5vw;top:5vh;box-sizing:border-box;overflow:auto;transform:scale(.98);opacity:0;pointer-events:none}.overlaySection.show{transform:scale(1);opacity:1;pointer-events:all;visibility:visible}.overlayPanel{width:100%;padding:2.5vw 5vw;box-sizing:border-box;min-height:100%;display:flex;flex-direction:column;justify-content:center}.overlayContent{margin-top:2.75vw}.smallLogo{width:2.5vw}.overlayBackground{position:absolute;width:100%;height:100%;top:0;left:0}.overlayBackground.show{background:rgba(0,0,0,.4);backdrop-filter:blur(20px)}.overlayInfo{top:0;left:0;height:100%;width:100%;display:flex;flex-direction:column;justify-content:center;padding:0 2.5vw;box-sizing:border-box}.svgButton{width:15vw;height:2.6vw;min-height:60px;min-width:310px}.svgButton svg{position:absolute;top:3px;left:0;width:100%;display:block}.frame{position:absolute;top:-.85vw}@media all and (max-width:1680px){.frame{display:none}}.itemlist:before{background-image:}#roomsOverlay .itemLists{gap:1rem;display:grid;grid-template-columns:repeat(3,1fr)}#serviziPremium{padding-left:15px}#serviziPremium.itemLists{display:grid;gap:1rem;@media all and (min-width:1280px){gap:1rem 4rem;grid-auto-flow:column dense;grid-template:repeat(3,1fr) / repeat(3,1fr)}}.itemList span svg{position:absolute;left:-12px;top:2px}.beLink{min-width:297px;min-height:57px;width:14.5vw;height:2.8vw;display:none}.beLink svg{position:absolute;width:100%;height:100%;top:2.5px}.picSlider .glide__arrows{bottom:calc((5vw - 2.75vw) / 2);width:calc(100% - 2.5vw);left:1.25vw}.picSlider .glide__bullets{bottom:calc((5vw - 13px) / 2);padding:0}#form .smallTypography{position:absolute}.formContainer,.formPic{width:85vw;max-width:980px}.formContainer{padding:2.5vw;box-sizing:border-box}.formPic{margin-top:-10vw;position:relative;top:12.5vw;border-radius:5px}.formPic img{margin:1.25vw;width:calc(100% - 2.5vw);opacity:.8;border-radius:10px;height:calc(100% - 2.5vw)}.formSeparator{position:absolute;width:15%;top:145px;left:44%;opacity:.4;transform:rotateY(180deg)}.formSeparator:before{content:'';height:96px;display:block;width:1px;background:#506579;margin-left:63%;margin-bottom:15px}.formSeparator:after{content:'';height:96px;display:block;width:1px;background:#506579;margin-left:63%;margin-top:15px}.stamp{width:100px;position:absolute;right:2.5vw;top:2.5vw}#form .wpforms-container{margin-left:59%;margin-top:140px;margin-bottom:0}.wpforms-container .wpforms-datepicker-wrap .wpforms-field-medium+.wpforms-datepicker-clear{right:0!important}.wpforms-confirmation-container{margin-left:-144%;width:120%;margin-top:-3.5vw;font-family:Sogo;font-weight:400;font-size:.95vw;line-height:1.75vw;color:#0E1622}#newsletterForm .wpforms-confirmation-container{margin-left:auto;margin-top:3vw;margin-right:auto;color:#FFF;text-align:center;width:50%;min-height:7.5vw}.wpforms-field-container{display:flex;flex-wrap:wrap}.wpforms-container .wpforms-field:not(.wpforms-field-textarea){width:47%}.wpforms-container .wpforms-field.full{width:100%}.wpforms-field-gdpr-checkbox li{display:flex}.wpforms-container input[type=date],.wpforms-container input[type=datetime],.wpforms-container input[type=datetime-local],.wpforms-container input[type=email],.wpforms-container input[type=month],.wpforms-container input[type=number],.wpforms-container input[type=password],.wpforms-container input[type=range],.wpforms-container input[type=search],.wpforms-container input[type=tel],.wpforms-container input[type=text],.wpforms-container input[type=time],.wpforms-container input[type=url],.wpforms-container input[type=week],.wpforms-container select,.wpforms-container input[type=date],.wpforms-container input[type=datetime],.wpforms-container input[type=datetime-local],.wpforms-container input[type=email],.wpforms-container input[type=month],.wpforms-container input[type=number],.wpforms-container input[type=password],.wpforms-container input[type=range],.wpforms-container input[type=search],.wpforms-container input[type=tel],.wpforms-container input[type=text],.wpforms-container input[type=time],.wpforms-container input[type=url],.wpforms-container input[type=week],.wpforms-container select,.wpforms-container textarea,.wpforms-field-radio ul li label{background:none;border:none;border-bottom:1px solid rgba(80,101,121,.6);color:#0E1622;margin-top:5px;height:33px;font-weight:300!important;font-size:13px;line-height:32px;letter-spacing:.13em;font-family:Montserrat!important;max-width:none!important}.wpforms-field-textarea{width:35%;position:absolute!important;left:5.5%;top:204px;padding:0!important}.wpforms-container textarea{border:1px solid rgba(80,101,121,.6);padding:10px;height:287px!important;resize:none!important}.wpforms-container .wpforms-field-label,.wp-core-ui div.wpforms-container .wpforms-field-label{font-weight:400!important;font-size:14px;line-height:28px;letter-spacing:.13em;font-family:Montserrat!important}.wpforms-field-label-inline{margin-top:2px;font-weight:300!important;font-size:10px;line-height:18px;font-family:Montserrat!important;max-width:none!important}.wpforms-field-radio{margin-top:40px}.wpforms-container .wpforms-field-description{font-weight:300!important;font-size:12px!important;line-height:24px!important;letter-spacing:.13em;font-family:Montserrat!important}.wpforms-field-radio ul li label{border-bottom:none;top:-2px;position:relative}.wpforms-container .wpforms-field.full{width:100%}.wpforms-field-container,.wpforms-page{display:flex;flex-wrap:wrap;justify-content:space-between}.wpforms-container .wpforms-field input.wpforms-error,.wpforms-container .wpforms-field input.user-invalid,.wpforms-container .wpforms-field textarea.wpforms-error,.wpforms-container .wpforms-field textarea.user-invalid,.wpforms-container .wpforms-field select.wpforms-error,.wpforms-container .wpforms-field select.user-invalid{border:none!important;border-bottom:1px solid #D63637!important}.wpforms-container label.wpforms-error,.wpforms-container em.wpforms-error{display:block;color:#D63637;font-size:.9em;font-style:normal;cursor:default;min-width:120px}.wpforms-container label.wpforms-error,.wpforms-container em.wpforms-error{font-size:10px!important;margin-top:3px;font-family:'Montserrat'}.wpforms-submit{cursor:pointer;background:none;background-image:url(../assets/svg/send.svg);background-repeat:no-repeat;background-position:50% 60%;background-size:contain;border:none;width:150px;height:60px;padding:0;font-family:'Montserrat';font-weight:350;font-size:12px;letter-spacing:.03em;text-transform:uppercase;color:#0E1622}.wpforms-container .wpforms-submit-container{display:flex;justify-content:center}.wpforms-container .wpforms-field-label{font-weight:400}#newsletterContainer{position:relative;top:14px}#newsletterForm .wpforms-container input[type=email]{border-bottom:1px solid #FFF;color:#FFF;text-align:center}#newsletterForm .wpforms-submit-container{margin-top:15px}#newsletterForm .wpforms-submit{padding-right:20px}#newsletterForm .wpforms-container input[type=email]::placeholder{color:#FFF;text-align:center}#newsletterForm li{display:flex}#newsletterForm .wpforms-field-label-inline{font-weight:300!important;font-size:12px;line-height:24px;font-family:Montserrat!important;color:#FFF;position:relative;top:-2px}#newsletterForm .wpforms-field-gdpr-checkbox{width:100%}#newsletterForm .wpforms-container{max-width:500px;margin-left:auto;margin-right:auto;margin-bottom:0}#newsletterForm .wpforms-field-email label.wpforms-error,#newsletterForm .wpforms-field-email em.wpforms-error{text-align:center}.wpforms-field-gdpr-checkbox label.wpforms-error,.wpforms-field-gdpr-checkbox em.wpforms-error{margin-left:25px}.overlayClose{position:absolute;width:38px;height:38px;right:25px;top:25px;display:flex;justify-content:center;align-items:center;cursor:pointer;z-index:1}.overlayClose .circlePath{width:38px;height:38px;transform:none;opacity:1;position:absolute;top:0;left:0}.show .circlePath{transform:scale(1);opacity:1}.circlePath{width:38px;height:38px;transform:scale(.5);opacity:0}.overlayClose .circlePath circle{stroke-dasharray:125px;stroke-dashoffset:125px}.overlayClose .fillColor{stroke:#506579}.show .overlayClose .circlePath circle,.show.overlayClose .circlePath circle{stroke-dashoffset:0}.overlayCloseInner:before{content:'';width:12px;height:1px;background:#506579;position:absolute;transform:rotate(45deg);transform-origin:top left;left:0}.overlayCloseInner:after{content:'';width:12px;height:1px;background:#506579;position:absolute;transform:rotate(-45deg);transform-origin:top right;right:0}.overlayCloseInner{width:8px;height:8px;position:relative;transform:scale(0)}.show .overlayCloseInner{transform:scale(1)}footer{padding-top:13.75vw}footer .left,footer .right{width:23%}#newsletterSub{font-weight:300!important;font-size:13px;line-height:17px;font-family:Montserrat!important;max-width:none!important}#starry{position:absolute;top:50vh;height:100vh;width:100%}@media all and (max-width:1600px){.paragrafo{font-size:1.1vw;line-height:1.9vw}}@media all and (max-width:1440px){.label,.button .label{font-size:14px;line-height:25px}#roomsOverlay .itemLists{gap:.5rem 2rem;display:grid;grid-template-columns:repeat(2,1fr)}.testoSchede{font-size:13px;line-height:22px}}@media all and (max-width:768px){#bookNow{position:fixed;top:calc(100dvh - 80px);left:calc(50% - 95px)}#bookNow.hidden{transform:translateY(10px);opacity:0}#mainLogo{width:40px;position:absolute;left:calc(50% - 20px);top:10.2px}#scrollDown{bottom:85px}#scrollDown .note{font-size:13px}.half_top_translated{transform:translateY(101%)}header{align-items:flex-start;height:60px;padding:0 15px;overflow:hidden}header.opened{height:290px}#menuController{position:absolute;top:0;padding:23px 15px;left:0;pointer-events:all}#menuController .line{width:30px;height:1px;background:#0E1622;margin-top:5px;transform-origin:left}#menuController .line:first-child{margin-top:0}#headerLeft{width:100%;padding:0;pointer-events:none}#headerRight{width:auto;margin-left:0;padding:0;position:absolute;right:15px;top:17px}#headerLeft .barButtonContainer{margin-top:82px;width:100%;text-align:center;align-items:center}header.opened #headerLeft{pointer-events:all}.barButton{margin:5px 0}.w1,.w2,.w3,.w4,.w5,.w6,.w7,.w7h,.w8,.w8h,.w9,.w9h,.w10,.w10h,.w13h,.w11,.w11h,.w12,.w13,.w14,.w15,.w16{width:100%}.margin{margin-top:15px}.doubleMargin{margin-top:30px}.tripleMargin{margin-top:45px}.quadMargin{margin-top:60px}.midContainer,.largeContainer,.mainContainer{width:calc(100% - 30px);margin-left:auto;margin-right:auto}.flex{flex-direction:column}.flex .left,.flex .right{width:100%}.pic:not(.svg.pic,.itemSlider .pic){height:65vw}.bottomPadded{padding-bottom:15px}.topPadded{padding-top:15px}.moreTopPadded{padding-top:45px}.moreBottomPadded{padding-bottom:45px}.doubleTopPadded{padding-top:60px}.doubleBottomPadded{padding-bottom:60px}article{overflow:hidden}body{overflow:auto}.bigTypography{font-size:27px;line-height:47px}.paragrafo{font-size:16px;line-height:28px;text-align:justify}.brush.gold{margin-top:-30px;margin-left:-50px}.svg.pic{margin-top:-70px}.titleComposit{width:80%}.titleComposit .textBlock{left:0;top:0;position:relative;width:100%;transform:none!important;margin-top:40px;width:calc(100vw - 30px);height:auto}.titleComposit .textBlock .paragrafo:first-child{text-align:center}.textBlock .paragrafo+.paragrafo{margin-top:20px}.copy{font-size:25px;line-height:41px}.copy+.paragrafo{margin-top:45px}#homeRooms .midContainer.spaceBetween .right .paragrafo{margin-top:45px}#homeRooms .right .pic,.row.restaurant+.row{margin-top:45px}#welcome .titleSvg{width:85%}#rooms .titleSvg{width:125%}#form .titleSvg{padding:0 15px;box-sizing:border-box}#flowerBackground{left:-10px;top:-75px;opacity:.6}#homeRooms .itemSlider{padding:0 15px;height:90vw}.itemSlider .button{margin-bottom:15px;z-index:2}#dining .titleSvg,#spa .titleSvg{margin-top:0;width:80%}#dining .svg.pic,#spa .svg.pic{margin-top:0}#homeRooms .itemLayer{height:90vw}#homeRooms .itemLayer:before{height:72px}#roomsOverlay .itemLists{display:block}#homeRooms .fullContainer:last-child{margin-top:95px}.picSlider .itemLayer{height:60vw}.glide__arrows{flex-direction:row;padding:0 15px;bottom:17px}.glide__arrow{min-height:35px}#homeRooms .glide__bullets{right:15px;padding:7.5px 0}#homeRooms .glide__bullet--active+.glide__bullet,#homeRooms .glide__bullet--active+.glide__bullet+.glide__bullet{background:#FFF}#flowerPattern{height:200vh}#flowerPattern img{width:100%;height:100%;object-fit:cover}.row>div,.row .textBlock{width:100%}#homeDining{padding-bottom:60px}#homeDining .row:last-child .left{order:1;position:absolute;bottom:0;left:0}#homeDining .row:last-child .pic{width:calc(50% - 7.5px)}.row.restaurant .textBlock{margin:0;margin-top:45px}#homeDining .largeContainer,.row.stars,#homeDining .midContainer.stars .textBlock.w10{margin-top:60px}#starsTitle{width:calc(100% - 30px)}#starsTitle+.pic{width:100%;margin-top:-7.5%}.stars{margin-top:60px}.stars .svg.pic{margin-top:0}.row.restaurant+.row .pic{order:0;margin-left:0}.row.restaurant+.row .textBlock{order:1;margin-top:45px}.fullPage{min-height:50vh}#starry{top:120vw;height:75vh}#form{padding-top:15px}#form .smallTypography{position:relative;width:50%}#form .formContainer{width:calc(100% - 15px);padding:15px}.formPic{width:calc(100% - 15px)}.smallTypography.fixed,.smallTypography{font-size:22px;line-height:32px}#form .wpforms-container{width:calc(100% - 15px);margin:0;margin-top:70px}.wpforms-container .wpforms-field:not(.wpforms-field-textarea){width:100%}.wpforms-field-textarea{width:100%;position:relative!important;left:0;top:0;margin-top:30px}.wpforms-container textarea{height:160px!important}.wpforms-confirmation-container{width:65%;margin-top:-40px;font-size:16px;line-height:28px;margin-left:0}#footerContacts{margin-top:15px}footer{padding-bottom:110px!important}footer .fullContainer{padding:0 15px;box-sizing:border-box}footer .fullContainer:last-child{margin-top:60px}footer .left{order:2;padding:0}footer .center{order:0}footer .right{order:1;padding:0}#newsletterSub{line-height:25px;margin-top:15px}#newsletterForm .wpforms-confirmation-container{margin-top:40px;width:90%}#socialBox{width:100%;margin-top:60px}#footerInfo{width:100%;margin-top:30px;text-align:center}.footerButtons{text-align:center;margin-top:60px}#salviaPattern{top:65vw;height:82%}#salviaPattern img{width:100%;height:100%;object-fit:cover}.smallLogo{width:40px}.beLink{min-width:0;min-height:0;height:50px;width:250px;margin-top:25px}.beLink .label{font-size:13px}.overlayInfo .titoloSchede{text-align:left}.overlayContent{margin-top:30px}.overlayContent .left{margin-top:30px;order:1}.titoloSchede{font-size:20px;line-height:30px}.note{font-size:13px;line-height:20px}.overlayClose{top:15px;right:15px}.overlayPanel{padding:15px;padding-bottom:30px}.picSlider .glide__bullets{bottom:20px}#homeRooms .right .pic{height:80vw}.overlaySection{width:85vw;height:calc(100dvh - 10dvh)}.itemLayer:before{height:50px}.overlayPanel .paragrafo{display:block}#audioPlayer{top:5px;right:100px;background:none;left:auto}#audioPlayer svg path{fill:#0E1622}}
.blurred.show, .show .blurred, .show.blurred {
  filter: none !important;
  -webkit-filter: none !important;
  transition: filter 1000ms cubic-bezier(.19,1,.22,1) !important;
}

/* ==========================================================================
   Refinement Pass Additions
   ========================================================================== */

/* P0: Modal Scroll Lock */
body.modal-open {
  overflow: hidden !important;
  touch-action: none;
}

/* P0: Hero Mask Opening Reveal */
#homeCover {
  position: absolute;
  inset: 0;
  width: 100vw;
  height: 100svh;
  z-index: 9999;
  background: #F8F4EC;
  -webkit-mask-image: url("../assets/svg/mask.svg?v=galaxy20");
  mask-image: url("../assets/svg/mask.svg?v=galaxy20");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: cover;
  mask-size: cover;
  transition: transform 1800ms cubic-bezier(.55,.055,.675,.19), filter 1200ms 400ms cubic-bezier(.55,.055,.675,.19), opacity 800ms 1000ms ease;
  will-change: transform, opacity;
  pointer-events: none;
}
#homeCover.out {
  transform: scale(8) translateZ(1200px);
  filter: blur(8px);
  opacity: 0 !important;
}
@media (max-width: 768px) {
  #homeCover {
    -webkit-mask-image: url("../assets/svg/maskMobile.svg?v=galaxy20");
    mask-image: url("../assets/svg/maskMobile.svg?v=galaxy20");
  }
}

#homeCover canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  pointer-events: none;
}

/* Header Navigation Spacing Guard */
@media (min-width: 1025px) {
  #headerLeft {
    width: auto !important;
    max-width: calc(50vw - 110px) !important;
  }
  #headerLeft .barButtonContainer {
    display: flex !important;
    gap: clamp(10px, 1.3vw, 22px) !important;
    justify-content: flex-start !important;
  }
  #headerLeft .barButton {
    white-space: nowrap !important;
    font-size: clamp(11px, 0.9vw, 13px) !important;
    letter-spacing: 0.08em !important;
  }
}

#homeVideo {
  opacity: 1 !important;
  background: #1c1917 url('../assets/images/galaxy-infra/hero_poster.webp?v=galaxy17') center/cover no-repeat;
  position: absolute;
  width: 100%;
  height: 100%;
}

#homeVideo::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(24, 21, 18, 0.45);
  pointer-events: none;
  z-index: 1;
  transition: opacity 1200ms cubic-bezier(.19,1,.22,1);
}

#homeVideo.in::after {
  opacity: 0.12;
}

/* Guard: Header stays hidden until loading screen completes */
header:not(.show) {
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(-70px) !important;
}

/* P1: Unblur Transition */
.blurred {
  filter: blur(6px);
  -webkit-filter: blur(6px);
  transition: filter 1200ms cubic-bezier(.19,1,.22,1), -webkit-filter 1200ms cubic-bezier(.19,1,.22,1);
  will-change: filter;
}
.blurred.show, .show .blurred, .show.blurred {
  filter: none !important;
  -webkit-filter: none !important;
}

/* P1: Calligraphy SVG Stroke Timing */
#welcomeSvgMask path, #roomsSvgMask path, #diningSvgMask path, #spaSvgMask path, #experientialSvgMask path {
  transition: stroke-dashoffset 1800ms cubic-bezier(.22,.72,.54,1.01) !important;
}

/* P2: Services Grid Proportions & Text Wrapping */
#serviziPremium.itemLists {
  display: grid;
  gap: 1.25rem 3.5rem;
}
@media (min-width: 1280px) {
  #serviziPremium.itemLists {
    gap: 1rem 4rem;
    grid-auto-flow: column dense;
    grid-template: repeat(3, 1fr) / repeat(3, 1fr);
  }
}
@media (max-width: 1024px) {
  #serviziPremium.itemLists {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  #serviziPremium.itemLists {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
.itemList {
  letter-spacing: 0.04em;
  line-height: 1.45;
  word-break: normal;
  overflow-wrap: break-word;
}

header {
  transition: transform 600ms cubic-bezier(.19,1,.22,1), opacity 600ms cubic-bezier(.19,1,.22,1) !important;
}

/* P2: Footer Ultra-Wide Refinement */
@media (min-width: 1920px) {
  #starry {
    opacity: 0.85;
    max-width: 2560px;
    margin: 0 auto;
  }
}

/* P2: Form Input Polish */
.wpforms-container input[type=text],
.wpforms-container input[type=email],
.wpforms-container input[type=tel],
.wpforms-container input[type=date],
.wpforms-container textarea {
  border-bottom: 1px solid rgba(80, 101, 121, 0.75) !important;
  transition: border-color 300ms ease;
}
.wpforms-container input:focus,
.wpforms-container textarea:focus {
  border-bottom-color: #BCA893 !important;
  outline: 2px solid rgba(80, 101, 121, 0.35) !important;
  outline-offset: 2px !important;
}

/* ==========================================================================
   PHASE 3B / 3C: MOBILE INTERACTION & LAYOUT RECONSTRUCTION
   Target Viewports: 375px - 430px (Mobile), 768px - 1024px (Tablet), 844x390 (Landscape)
   Desktop (>= 1100px) remains 100% UNTOUCHED and LOCKED.
   ========================================================================== */

/* --- Base Touch & Body Utilities --- */
button, a, .barButton, .overlayClose, .glide__arrow, #bookNow, #menuController, .drawerBookCta, .beLink {
  touch-action: manipulation;
}

body.menu-open, html.menu-open {
  overflow: hidden !important;
  touch-action: none;
}

/* Glide Arrow Boundary & Disabled State */
.glide__arrow.hidden,
.glide__arrow--disabled {
  opacity: 0.25 !important;
  pointer-events: none !important;
  cursor: default !important;
}

.drawerBookCta {
  display: none;
}

/* Editorial Image Reveal System */
.img_reveal {
  overflow: hidden !important;
}
.img_reveal img,
.img_reveal video {
  transform: scale(1.04);
  opacity: 0.88;
  transition: transform 1100ms cubic-bezier(0.19, 1, 0.22, 1), opacity 800ms ease, filter 900ms ease;
  will-change: transform, opacity;
}
.img_reveal.show img,
.show .img_reveal img,
.show.img_reveal img,
.img_reveal.show video,
.show .img_reveal video,
.show.img_reveal video {
  transform: scale(1);
  opacity: 1 !important;
  filter: none !important;
}

/* Phase 6: Differentiated Image Reveal Vocabulary */
.img_reveal--feature {
  clip-path: inset(0 0 3.5% 0 round 4px);
  transition: clip-path 1200ms cubic-bezier(0.16, 1, 0.3, 1);
}
.img_reveal--feature.show,
.show .img_reveal--feature,
.show.img_reveal--feature {
  clip-path: inset(0 0 0 0 round 4px);
}
.img_reveal--feature img {
  transform: scale(1.05);
}
.img_reveal--feature.show img,
.show .img_reveal--feature img,
.show.img_reveal--feature img {
  transform: scale(1);
}

.img_reveal--editorial img {
  transform: translateY(14px) scale(1.03);
  opacity: 0.75;
}
.img_reveal--editorial.show img,
.show .img_reveal--editorial img,
.show.img_reveal--editorial img {
  transform: translateY(0) scale(1);
  opacity: 1 !important;
}

/* Phase 4: Restrained Editorial Spatial Depth */
.parallax-depth {
  position: absolute !important;
  width: 100% !important;
  height: 112% !important;
  top: -6% !important;
  left: 0 !important;
  object-fit: cover !important;
  will-change: transform;
}

@media (max-width: 1024px) {
  .parallax-depth {
    height: 108% !important;
    top: -4% !important;
  }
}

/* Desktop Navigation Baseline: Menu Controller (Hamburger) is mobile/touch only */
#menuController {
  display: none !important;
}

/* --- Mobile Breakpoint (<= 768px) --- */
@media (max-width: 768px) {
  /* 1. Mobile Header & Branding */
  header {
    height: 64px !important;
    padding: 0 16px !important;
    padding-top: env(safe-area-inset-top, 0px) !important;
    background: rgba(252, 252, 250, 0.92) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    box-sizing: border-box !important;
    z-index: 100 !important;
    overflow: hidden !important;
    transition: height 400ms cubic-bezier(0.19, 1, 0.22, 1), background 300ms ease !important;
  }

  header.opened {
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
    background: rgba(248, 247, 240, 0.98) !important;
    backdrop-filter: blur(30px) !important;
    -webkit-backdrop-filter: blur(30px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  #mainLogo {
    width: 130px !important;
    height: auto !important;
    position: absolute !important;
    left: calc(50% - 65px) !important;
    top: max(14px, calc(env(safe-area-inset-top, 0px) + 12px)) !important;
    display: block !important;
    pointer-events: all !important;
    z-index: 10 !important;
  }

  #mainLogo svg {
    width: 100% !important;
    height: auto !important;
    display: block !important;
  }

  /* Hamburger Controller & Morph to 'X' */
  #menuController {
    position: absolute !important;
    left: 12px !important;
    top: max(10px, env(safe-area-inset-top, 0px)) !important;
    padding: 10px !important;
    width: 44px !important;
    height: 44px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    cursor: pointer !important;
    z-index: 20 !important;
  }

  #menuController .line {
    width: 24px !important;
    height: 1.5px !important;
    background: rgba(14, 22, 34, 1) !important;
    margin: 3px 0 !important;
    transition: transform 350ms cubic-bezier(0.19, 1, 0.22, 1), opacity 250ms ease !important;
    transform-origin: center !important;
  }

  header.opened #menuController .line:nth-child(1) {
    transform: translateY(4.5px) rotate(45deg) !important;
  }
  header.opened #menuController .line:nth-child(2) {
    opacity: 0 !important;
    transform: scaleX(0) !important;
  }
  header.opened #menuController .line:nth-child(3) {
    transform: translateY(-4.5px) rotate(-45deg) !important;
  }

  /* Header Right (Contacts & Language) */
  #headerRight {
    position: absolute !important;
    right: 16px !important;
    top: max(14px, calc(env(safe-area-inset-top, 0px) + 12px)) !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    z-index: 15 !important;
  }

  #headerRight .barButtonContainer {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 !important;
    width: auto !important;
  }

  #headerRight .barButton {
    font-size: 11px !important;
    letter-spacing: 0.12em !important;
    line-height: 20px !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 0 6px !important;
    margin: 0 !important;
  }

  #langs {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
  }

  .lang-item {
    margin-left: 0 !important;
    font-size: 11px !important;
  }

  .lang-item a {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 0 4px !important;
  }

  /* Navigation Drawer Links */
  #headerLeft {
    width: 100% !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  #headerLeft .barButtonContainer {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transition: opacity 250ms ease, visibility 0s 250ms;
    margin-top: calc(100px + env(safe-area-inset-top)) !important;
    width: 100% !important;
    text-align: center !important;
    gap: 10px !important;
  }

  header.opened #headerLeft .barButtonContainer {
    opacity: 1 !important;
    pointer-events: all !important;
    visibility: visible !important;
    transition: opacity 300ms ease;
  }

  #headerLeft .barButton {
    font-size: 19px !important;
    line-height: 32px !important;
    letter-spacing: 0.12em !important;
    padding: 8px 20px !important;
    margin: 4px 0 !important;
    display: inline-block !important;
    color: rgba(14, 22, 34, 1) !important;
    transform: translateY(18px) !important;
    opacity: 0 !important;
    transition: transform 450ms cubic-bezier(0.19, 1, 0.22, 1), opacity 350ms ease !important;
  }

  #headerLeft .barButton.mobileOnly {
    display: inline-block !important;
  }

  header.opened #headerLeft .barButton {
    transform: translateY(0) !important;
    opacity: 1 !important;
  }

  header.opened #headerLeft .barButton:nth-child(1) {
    transition-delay: 80ms !important;
  }
  header.opened #headerLeft .barButton:nth-child(2) {
    transition-delay: 140ms !important;
  }
  header.opened #headerLeft .barButton:nth-child(3) {
    transition-delay: 200ms !important;
  }
  header.opened #headerLeft .barButton:nth-child(4) {
    transition-delay: 260ms !important;
  }
  header.opened #headerLeft .barButton:nth-child(5) {
    transition-delay: 320ms !important;
  }

  /* Drawer Quick Book Link */
  .drawerBookCta {
    display: inline-block !important;
    margin-top: 24px;
    padding: 12px 32px;
    background: var(--color-dusk-blue);
    color: var(--color-cream-ivory-light) !important;
    font-family: Montserrat, sans-serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    border-radius: 25px;
    box-shadow: 0 4px 15px rgba(80, 101, 121, 0.35);
    transform: translateY(18px) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: transform 450ms cubic-bezier(0.19, 1, 0.22, 1), opacity 350ms ease !important;
  }

  header.opened .drawerBookCta {
    transform: translateY(0) !important;
    opacity: 1 !important;
    pointer-events: all !important;
    transition-delay: 380ms !important;
  }

  /* 2. Hero Section & Floating Book Pill */
  #homeTop {
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
    position: relative !important;
    overflow: hidden !important;
  }

  #scrollDown {
    bottom: max(28px, calc(env(safe-area-inset-bottom, 0px) + 16px)) !important;
    left: calc(50% - 24px) !important;
    z-index: 5 !important;
  }

  #scrollDown .note {
    font-size: 12px !important;
    letter-spacing: 0.08em !important;
  }

  /* Floating Sticky Book Now Pill */
  #bookNow {
    position: fixed !important;
    top: auto !important;
    bottom: max(16px, env(safe-area-inset-bottom, 0px)) !important;
    left: 50% !important;
    transform: translateX(-50%) translateY(20px) !important;
    width: auto !important;
    min-width: 180px !important;
    height: 48px !important;
    background: rgba(252, 252, 250, 0.94) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border: 1px solid rgba(188, 168, 147, 0.45) !important;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.16) !important;
    border-radius: 30px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 24px !important;
    z-index: 85 !important;
    opacity: 0;
    pointer-events: none;
    transition: opacity 350ms ease, transform 350ms cubic-bezier(0.19, 1, 0.22, 1) !important;
  }

  #bookNow.docked {
    opacity: 1 !important;
    pointer-events: all !important;
    transform: translateX(-50%) translateY(0) !important;
  }

  #bookNow.footer-hidden {
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateX(-50%) translateY(20px) !important;
  }

  #bookNow .decor {
    display: none !important;
  }

  #bookNow .label {
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.12em !important;
    color: rgba(14, 22, 34, 1) !important;
    line-height: normal !important;
  }

  /* Hero Audio Player */
  #audioPlayer {
    top: max(14px, env(safe-area-inset-top, 0px)) !important;
    left: auto !important;
    right: 80px !important;
    width: 38px !important;
    height: 38px !important;
    background: rgba(248, 247, 240, 0.75) !important;
    border: 1px solid rgba(80, 101, 121, 0.35) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 15 !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
  }

  /* 3. Welcome Section & Typography Refinement */
  .paragrafo {
    font-size: 15px !important;
    line-height: 26px !important;
    text-align: left !important;
    letter-spacing: 0.02em !important;
  }

  .centered .paragrafo,
  .textBlock.ma .paragrafo.centered,
  .titleComposit .textBlock .paragrafo:first-child {
    text-align: center !important;
  }

  .brush.gold {
    width: 100% !important;
    margin-left: 0 !important;
    margin-top: -15px !important;
    overflow: visible !important;
  }

  /* Rhythm Spacing Compression */
  .quadMargin { margin-top: 36px !important; }
  .tripleMargin { margin-top: 28px !important; }
  .doubleMargin { margin-top: 20px !important; }
  .margin { margin-top: 12px !important; }
  .moreTopPadded { padding-top: 36px !important; }
  .moreBottomPadded { padding-bottom: 36px !important; }
  .doubleTopPadded { padding-top: 40px !important; }
  .doubleBottomPadded { padding-bottom: 40px !important; }

  /* 4. Rooms Section & Carousel */
  #homeRooms .itemSlider {
    padding: 0 16px !important;
    height: auto !important;
    min-height: 340px !important;
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 650ms ease, transform 650ms cubic-bezier(0.19, 1, 0.22, 1);
  }

  #homeRooms .itemSlider.show {
    opacity: 1 !important;
    transform: translateY(0) !important;
  }

  #homeRooms .itemLayer .pic img {
    transition: transform 600ms cubic-bezier(0.19, 1, 0.22, 1);
  }
  #homeRooms .itemLayer:active .pic img {
    transform: scale(1.02);
  }

  #homeRooms .itemLayer {
    height: 75vw !important;
    max-height: 380px !important;
    min-height: 280px !important;
    border-radius: 12px !important;
  }

  #homeRooms .itemLayer:before {
    transform: translateY(0) !important;
    height: 55% !important;
    opacity: 0.85 !important;
    background: linear-gradient(0deg, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.4) 65%, rgba(0,0,0,0) 100%) !important;
  }

  #homeRooms .itemLayer .textBlock {
    opacity: 1 !important;
    transform: translateY(0) !important;
    pointer-events: all !important;
    padding: 0 20px 20px !important;
  }

  #homeRooms .itemLayer .titoloSchede {
    color: #FCFCFA !important;
    font-size: 20px !important;
    line-height: 28px !important;
  }

  #homeRooms .itemLayer .testoSchede {
    color: rgba(252, 252, 250, 0.85) !important;
    font-size: 12px !important;
    line-height: 18px !important;
  }

  #homeRooms .glide__arrows {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    width: 100% !important;
    margin-top: 16px !important;
    padding: 0 20px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    pointer-events: all !important;
    box-sizing: border-box !important;
  }

  .glide__arrow {
    width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    background: rgba(252, 252, 250, 0.9) !important;
    border: 1px solid rgba(188, 168, 147, 0.3) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important;
    cursor: pointer !important;
  }

  .glide__arrow svg {
    width: 16px !important;
    height: 12px !important;
  }

  #homeRooms .glide__bullets {
    position: relative !important;
    right: auto !important;
    margin: 12px auto 0 !important;
    display: flex !important;
    justify-content: center !important;
    width: auto !important;
  }

  /* 5. Room Modals (P0 Fixes) */
  #roomsOverlay {
    z-index: 9000 !important;
  }

  .overlaySection {
    width: calc(100vw - 24px) !important;
    left: 12px !important;
    top: max(12px, env(safe-area-inset-top, 0px)) !important;
    height: calc(100vh - 24px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
    height: calc(100dvh - 24px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
    max-height: calc(100vh - 24px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
    max-height: calc(100dvh - 24px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
    border-radius: 16px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-y !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35) !important;
    pointer-events: none !important;
    visibility: hidden !important;
    transform: scale(0.96) translateY(14px) !important;
    opacity: 0 !important;
    transition: transform 400ms cubic-bezier(0.19, 1, 0.22, 1), opacity 350ms ease, visibility 0s 400ms !important;
  }

  .overlaySection.show {
    pointer-events: all !important;
    visibility: visible !important;
    transform: scale(1) translateY(0) !important;
    opacity: 1 !important;
    transition: transform 400ms cubic-bezier(0.19, 1, 0.22, 1), opacity 350ms ease, visibility 0s 0s !important;
  }

  #roomsOverlay .overlayBackground {
    transition: opacity 350ms ease, backdrop-filter 350ms ease !important;
  }

  .overlaySection .smallLogo,
  .overlaySection .overlayInfo .titoloSchede,
  .overlaySection .picSlider,
  .overlaySection .overlayInfo,
  .overlaySection .itemLists,
  .overlaySection .beLink {
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 400ms ease, transform 450ms cubic-bezier(0.19, 1, 0.22, 1);
  }

  .overlaySection.show .smallLogo {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 80ms;
  }
  .overlaySection.show .overlayInfo .titoloSchede {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 130ms;
  }
  .overlaySection.show .picSlider {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 180ms;
  }
  .overlaySection.show .overlayInfo {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 230ms;
  }
  .overlaySection.show .itemLists {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 280ms;
  }
  .overlaySection.show .beLink {
    opacity: 1 !important;
    transform: translateY(0) !important;
    transition-delay: 330ms !important;
  }

  .overlaySection:not(.show) * {
    pointer-events: none !important;
  }

  .overlayPanel {
    padding: 20px 16px 36px !important;
    min-height: auto !important;
    display: block !important;
  }

  .overlayClose {
    width: 48px !important;
    height: 48px !important;
    top: 10px !important;
    right: 10px !important;
    background: rgba(248, 247, 240, 0.95) !important;
    border-radius: 50% !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    z-index: 30 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
  }

  /* Booking CTA Inside Modals (Restored) */
  .overlaySection .beLink {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: 280px !important;
    height: 48px !important;
    margin: 28px auto 14px !important;
    cursor: pointer !important;
    background: var(--color-dusk-blue) !important;
    border-radius: 24px !important;
    box-shadow: 0 4px 16px rgba(80, 101, 121, 0.35) !important;
    position: relative !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .overlaySection.show .beLink {
    pointer-events: all !important;
  }

  .overlaySection .beLink svg {
    display: none !important;
  }

  .overlaySection .beLink .label {
    color: #FCFCFA !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
  }

  .overlayContent {
    margin-top: 16px !important;
  }

  .overlayContent .left {
    margin-top: 20px !important;
  }

  /* Modal Photo Slider */
  .picSlider .itemLayer {
    height: 65vw !important;
    max-height: 320px !important;
    min-height: 200px !important;
  }

  /* 6. Contact Form & Anti-Zoom Polish */
  #form .formContainer {
    width: calc(100% - 24px) !important;
    padding: 24px 16px !important;
    margin: 20px auto !important;
  }

  .wpforms-container input[type=text],
  .wpforms-container input[type=email],
  .wpforms-container input[type=tel],
  .wpforms-container input[type=date],
  .wpforms-container select,
  .wpforms-container textarea {
    font-size: 16px !important; /* Prevents automatic iOS viewport zoom */
    width: 100% !important;
    box-sizing: border-box !important;
    min-height: 44px !important;
    line-height: 24px !important;
    padding: 8px 0 !important;
  }

  .wpforms-container textarea {
    min-height: 120px !important;
    padding: 10px !important;
  }

  /* Hide anti-spam honeypot container cleanly */
  #wpforms-330-field_11-container {
    display: none !important;
    position: absolute !important;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }

  .wpforms-submit {
    min-height: 50px !important;
    width: 160px !important;
  }

  /* 7. Footer Refinement */
  footer {
    padding-bottom: calc(120px + env(safe-area-inset-bottom, 0px)) !important;
  }

  footer .fullContainer {
    padding: 0 16px !important;
  }

  #footerContacts {
    margin-top: 24px !important;
  }

  #newsletterForm .wpforms-container {
    width: 100% !important;
    max-width: 100% !important;
  }

  #newsletterForm input[type=email] {
    font-size: 16px !important;
    text-align: center !important;
  }
}

/* --- Mobile Landscape & Compact Height Devices --- */
@media (max-width: 1024px) and (orientation: landscape) and (max-height: 550px) {
  header {
    height: 52px !important;
    padding: 0 20px !important;
  }

  header.opened {
    height: 100vh !important;
    height: 100dvh !important;
    overflow-y: auto !important;
  }

  #mainLogo {
    width: 110px !important;
    left: calc(50% - 55px) !important;
    top: 10px !important;
    display: block !important;
  }

  #headerLeft {
    display: none !important;
  }

  header.opened #headerLeft {
    display: flex !important;
  }

  #menuController {
    display: flex !important;
  }

  #headerRight {
    display: flex !important;
    right: 20px !important;
    top: 12px !important;
  }

  #homeTop {
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 380px !important;
  }

  #scrollDown {
    bottom: 14px !important;
  }

  #scrollDown .note {
    display: none !important;
  }

  #bookNow {
    bottom: 12px !important;
    height: 42px !important;
    min-width: 160px !important;
  }
}

/* --- Tablet Devices (769px - 1024px) --- */
@media (min-width: 769px) and (max-width: 1024px) {
  #mainLogo {
    width: 140px !important;
    left: calc(50% - 70px) !important;
  }

  header {
    padding: 0 30px !important;
  }

  #headerLeft {
    width: calc(50% - 80px) !important;
  }

  #headerRight {
    width: auto !important;
    margin-left: 0 !important;
  }

  .barButton {
    font-size: 13px !important;
  }

  .overlaySection {
    width: 90vw !important;
    left: 5vw !important;
    height: 90vh !important;
    top: 5vh !important;
  }

  .overlaySection .beLink {
    display: flex !important;
    margin: 24px auto !important;
  }
}

/* --- Mobile Transition Duration Compression (<= 1099px) --- */
@media (max-width: 1099px) {
  .has_transition_1500 {
    transition-duration: 850ms !important;
  }
  .has_transition_2000 {
    transition-duration: 1000ms !important;
  }
  .has_transition_2500 {
    transition-duration: 1200ms !important;
  }
}

/* ==========================================================================
   PHASE 6: PREMIUM MOTION PASS (ART-DIRECTION & TACTILE DEPTH)
   ========================================================================== */

/* 1. Custom Cursor — Desktop Pointer Only */
#customCursor {
  display: none;
}
@media (hover: hover) and (pointer: fine) {
  #customCursor {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 6px;
    height: 6px;
    margin-left: -3px;
    margin-top: -3px;
    border-radius: 50%;
    background: rgba(188, 168, 147, 0.9);
    pointer-events: none;
    z-index: 99999;
    opacity: 0;
    transform: translate3d(-100px, -100px, 0);
    transition: width 240ms cubic-bezier(0.16, 1, 0.3, 1),
                height 240ms cubic-bezier(0.16, 1, 0.3, 1),
                margin 240ms cubic-bezier(0.16, 1, 0.3, 1),
                background 240ms ease,
                border 240ms ease,
                opacity 200ms ease;
    will-change: transform;
  }
  #customCursor.visible {
    opacity: 1;
  }
  #customCursor.hover {
    width: 24px;
    height: 24px;
    margin-left: -12px;
    margin-top: -12px;
    background: rgba(188, 168, 147, 0.15);
    border: 1px solid rgba(188, 168, 147, 0.6);
  }
  #customCursor.hidden {
    opacity: 0;
  }
}

/* 2. Room Card Tactile Depth — Desktop Only */
@media (hover: hover) and (pointer: fine) {
  #homeRooms .itemSlider .glide__slide {
    perspective: 1000px;
  }
  #homeRooms .itemLayer {
    transform-style: preserve-3d;
    transition: transform 350ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 350ms ease;
    will-change: transform;
  }
  #homeRooms .itemLayer .pic img {
    transition: transform 500ms cubic-bezier(0.16, 1, 0.3, 1);
    will-change: transform;
  }
  #homeRooms .itemLayer:hover .pic img {
    transform: scale(1.03);
  }
  #homeRooms .itemLayer .button {
    transition: transform 300ms cubic-bezier(0.16, 1, 0.3, 1);
  }
  #homeRooms .itemLayer:hover .button {
    transform: translateY(-2px);
  }
}

/* 3. Navigation Active Section Line */
.barButton.active::after {
  transform: scale(1, 1) !important;
}

/* 4. Tactile Button & Link Interactions */
#bookNow {
  transition: transform 250ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 250ms ease;
  will-change: transform;
}
#bookNow:hover {
  transform: translateY(-1px);
}
#bookNow:active {
  transform: scale(0.97);
}
.button:active,
.svgButton:active,
.beLink:active {
  transform: scale(0.98);
}

/* 5. Booking Form Input Focus Accents */
.wpforms-container input:focus,
.wpforms-container select:focus,
.wpforms-container textarea:focus {
  outline: none !important;
  border-bottom-color: #BCA893 !important;
  box-shadow: 0 1px 0 0 #BCA893 !important;
  transition: border-color 200ms ease, box-shadow 200ms ease;
}
.wpforms-container textarea:focus {
  border-color: #BCA893 !important;
  box-shadow: 0 0 0 1px #BCA893 inset !important;
}

/* --- Reduced Motion Accessibility (WCAG 2.1 AAA) --- */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    transition-delay: 0ms !important;
    scroll-behavior: auto !important;
  }

  .top_low,
  .top_ultralow,
  .top_single,
  .top_double,
  .half_top_translated,
  .top_translated,
  .double_top_translated,
  .top_hidden,
  .no_opacity,
  .img_reveal img,
  .parallax-depth,
  .barButton,
  #headerLeft .barButton,
  .drawerBookCta,
  #homeRooms .itemSlider,
  .overlaySection,
  #homeRooms .itemLayer {
    transform: none !important;
    opacity: 1 !important;
    filter: none !important;
    visibility: visible !important;
  }

  .blurred {
    filter: none !important;
  }

  #customCursor {
    display: none !important;
  }

  #homeCover {
    display: none !important;
  }

  #homeVideo {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* ==========================================================================
   PHASE 7: FUNCTIONAL INTEGRATION & QA POLISH
   ========================================================================== */
.beLink {
  display: flex !important;
  cursor: pointer;
}

#wpforms-330 .wpforms-confirmation-container {
  margin: 25px 0;
  width: 100%;
  padding: 24px;
  background: rgba(254, 254, 253, 0.95);
  border-left: 3px solid #506579;
  border-radius: 4px;
  box-sizing: border-box;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  line-height: 24px;
  color: #0E1622;
}

#wpforms-334 .wpforms-confirmation-container {
  margin: 20px auto;
  width: 100%;
  max-width: 480px;
  padding: 18px;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 4px;
  box-sizing: border-box;
  color: #FCFAF5;
  text-align: center;
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  line-height: 22px;
}

:focus-visible {
  outline: 2px solid #506579;
  outline-offset: 2px;
}

button:focus:not(:focus-visible),
a:focus:not(:focus-visible),
div:focus:not(:focus-visible) {
  outline: none;
}

/* ==========================================================================
   PHASE 8: VISUAL POLISH & ART DIRECTION
   ========================================================================== */

/* 1. Architectural Framing & Botanical Restraint (Purge Arched Baroque Mask & Brush Daubs) */
.brush.gold,
.brush.peach {
  display: none !important;
}

.svg.pic svg.block,
.svg.pic svg {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.masked {
  mask: none !important;
  -webkit-mask: none !important;
  border-radius: 8px !important;
  border: 1px solid rgba(154, 130, 92, 0.22) !important;
  overflow: hidden !important;
}

.svg.pic {
  border-radius: 8px !important;
  overflow: hidden !important;
}

/* 2. Fluid Editorial Typography System (clamp() continuity across viewports) */
.bigTypography {
  font-family: 'Qunotz', 'Sogo', serif !important;
  font-weight: 300 !important;
  font-size: clamp(24px, 2.2vw + 6px, 38px) !important;
  line-height: 1.45 !important;
  letter-spacing: 0.01em !important;
}

.copy {
  font-family: 'Mustinya', 'Djore DEMO', 'Qunotz', 'Sogo', serif !important;
  font-weight: 400 !important;
  font-size: clamp(20px, 1.6vw + 6px, 32px) !important;
  line-height: 1.5 !important;
  letter-spacing: 0.01em !important;
}

.paragrafo {
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-weight: 400 !important;
  font-size: clamp(15px, 0.9vw + 4px, 17px) !important;
  line-height: 1.82 !important;
  color: #334455 !important;
  letter-spacing: 0.012em !important;
  max-width: 68ch;
}

@media all and (max-width: 768px) {
  .paragrafo {
    font-size: 15.5px !important;
    line-height: 1.78 !important;
    text-align: left !important;
    max-width: none;
  }
}

/* 3. Hero Atmosphere & Seamless Section Transitions */
#homeTop::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 70px;
  background: linear-gradient(to bottom, rgba(248, 244, 236, 0) 0%, rgba(248, 244, 236, 0.75) 60%, #F8F4EC 100%);
  pointer-events: none;
  z-index: 2;
}

/* 4. Mobile Navigation Header & Drawer Uncluttering */
@media all and (max-width: 768px) {
  header.opened #headerRight {
    display: none !important;
  }
}

/* 5. Booking Form Alignment & Refined Error Design */
.wpforms-container label.wpforms-error,
.wpforms-container em.wpforms-error {
  font-family: Montserrat, sans-serif !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
  letter-spacing: 0.04em !important;
  color: #B83A3A !important;
  margin-top: 4px !important;
  display: block !important;
}

.wpforms-container .wpforms-field input.wpforms-error,
.wpforms-container .wpforms-field input.user-invalid,
.wpforms-container .wpforms-field textarea.wpforms-error,
.wpforms-container .wpforms-field textarea.user-invalid,
.wpforms-container .wpforms-field select.wpforms-error,
.wpforms-container .wpforms-field select.user-invalid {
  border-bottom: 1.5px solid #B83A3A !important;
}

.wpforms-container input[type=text],
.wpforms-container input[type=email],
.wpforms-container input[type=tel],
.wpforms-container select {
  height: 38px !important;
  line-height: 36px !important;
}

/* 6. Landscape Short Viewport Visual Polish (844x390) */
@media all and (max-height: 480px) and (orientation: landscape) {
  #scrollDown {
    display: none !important;
  }
  .overlaySection {
    height: 92vh !important;
    top: 4vh !important;
  }
  .overlayPanel {
    padding: 15px 30px !important;
  }
}

/* 7. Cross-Browser Backdrop Filter Progressive Enhancement & Fallbacks */
.overlayBackground.show,
#roomsOverlay .overlayBackground.show {
  background: rgba(0, 0, 0, 0.72) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
}

@supports not ((backdrop-filter: blur(10px)) or (-webkit-backdrop-filter: blur(10px))) {
  header {
    background: rgba(252, 252, 250, 0.98) !important;
  }
  header.opened {
    background: rgba(248, 247, 240, 1) !important;
  }
  .overlayBackground.show,
  #roomsOverlay .overlayBackground.show {
    background: rgba(0, 0, 0, 0.88) !important;
  }
  #mobileBookNow {
    background: rgba(252, 252, 250, 0.98) !important;
  }
  #audioPlayer {
    background: rgba(248, 247, 240, 0.92) !important;
  }
  .overlayClose {
    background: rgba(248, 247, 240, 0.98) !important;
  }
}



/* ==========================================================================
   PHASE 10: ACCESSIBILITY & INCLUSIVE UX
   ========================================================================== */

/* 1. Skip to Main Content Link */
.skip-link {
  position: absolute;
  top: -120px;
  left: 1.5rem;
  background: #0E1622;
  color: #FCFAF5;
  padding: 0.75rem 1.5rem;
  border-radius: 4px;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  z-index: 999999;
  transition: top 200ms ease;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(188, 168, 147, 0.7);
}

.skip-link:focus,
.skip-link:focus-visible {
  top: 1.25rem !important;
  outline: 2px solid #BCA893 !important;
  outline-offset: 3px !important;
}

/* 2. Universal High-Contrast Focus Visible Ring */
:focus-visible {
  outline: 2px solid #0E1622 !important;
  outline-offset: 2px !important;
}

/* Dark surfaces: Overlay, Modals, Footer, Hero */
#roomsOverlay :focus-visible,
#homeTop :focus-visible,
footer :focus-visible {
  outline: 2px solid #BCA893 !important;
  outline-offset: 2px !important;
}

.itemSlider .itemLayer[tabindex="0"]:focus-visible {
  outline: 2px solid #0E1622 !important;
  outline-offset: 4px !important;
  border-radius: 4px;
}

header .barButton[tabindex="0"]:focus-visible {
  outline: 2px solid #0E1622 !important;
  outline-offset: 3px !important;
}

/* ==========================================================================
   Galaxy Infra — Interactive UI Component Architecture
   ========================================================================== */

/* 1. Interactive Key Statistics Bar */
.statsGrid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5vw;
  margin: 3vw 0 1vw 0;
  width: 100%;
}
.statCard {
  background: rgba(252, 250, 245, 0.9);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(188, 168, 147, 0.35);
  border-radius: 8px;
  padding: 2.2vw 1.5vw;
  text-align: center;
  transition: transform 350ms cubic-bezier(.19,1,.22,1), box-shadow 350ms cubic-bezier(.19,1,.22,1), border-color 350ms ease;
  position: relative;
  overflow: hidden;
  cursor: default;
}
.statCard:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, transparent, #BCA893, transparent);
  opacity: 0;
  transition: opacity 300ms ease;
}
.statCard:hover {
  transform: translateY(-6px);
  box-shadow: 0 15px 35px rgba(14, 22, 34, 0.12);
  border-color: #BCA893;
}
.statCard:hover:before {
  opacity: 1;
}
.statNumber {
  font-family: 'Qunotz', 'Sogo', 'Montserrat', serif;
  font-size: 3vw;
  line-height: 1.1;
  color: #0E1622;
  font-weight: 400;
  letter-spacing: 0.05em;
  margin-bottom: 0.5vw;
  display: block;
}
.statNumber .statVal {
  color: #A89178;
  font-weight: 500;
}
.statLabel {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.85vw;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #0E1622;
  margin-bottom: 0.3vw;
}
.statSub {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.75vw;
  color: rgba(14, 22, 34, 0.7);
  letter-spacing: 0.04em;
  line-height: 1.4;
}

/* 2. Interactive Development Filter Tabs */
.portfolioFilters {
  display: flex;
  gap: 0.8vw;
  padding: 0.5vw 0 2vw 0;
  justify-content: center;
  align-items: center;
  width: 100%;
}
.filterTab {
  background: rgba(254, 254, 253, 0.9);
  border: 1px solid rgba(188, 168, 147, 0.4);
  border-radius: 50px;
  padding: 0.6vw 1.3vw;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.75vw;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #0E1622;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.6vw;
  transition: all 300ms cubic-bezier(.19,1,.22,1);
  box-shadow: 0 2px 8px rgba(14, 22, 34, 0.04);
}
.filterTab:hover {
  border-color: #0E1622;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(14, 22, 34, 0.09);
}
.filterTab.active {
  background: #0E1622;
  color: #FCFAF5;
  border-color: #0E1622;
  box-shadow: 0 8px 20px rgba(14, 22, 34, 0.18);
  transform: translateY(-2px);
}
.filterTab .filterCount {
  font-size: 0.65vw;
  padding: 2px 7px;
  border-radius: 20px;
  background: rgba(188, 168, 147, 0.2);
  color: #0E1622;
  transition: all 300ms ease;
}
.filterTab.active .filterCount {
  background: #BCA893;
  color: #FCFAF5;
}

/* Category Badge on Slider Cards */
.cardCategoryTag {
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 2;
  background: rgba(17, 19, 21, 0.75);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(188, 168, 147, 0.45);
  color: #FCFAF5;
  padding: 4px 12px;
  border-radius: 4px;
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  pointer-events: none;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  transition: background 300ms ease, border-color 300ms ease;
}
.itemLayer:hover .cardCategoryTag {
  background: rgba(14, 22, 34, 0.9);
  border-color: #BCA893;
}

.cardExploreHint {
  position: absolute;
  bottom: 85px;
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  z-index: 2;
  background: rgba(254, 254, 253, 0.95);
  color: #0E1622;
  border: 1px solid #BCA893;
  border-radius: 50px;
  padding: 6px 18px;
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0;
  pointer-events: none;
  transition: all 350ms cubic-bezier(.19,1,.22,1);
  white-space: nowrap;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}
.itemLayer:hover .cardExploreHint {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* 3. Interactive Home Loan & EMI Calculator */
#investmentCalculator {
  z-index: 2;
  margin-top: 3vw;
  margin-bottom: 3vw;
}
.calcCard {
  background: #FCFAF5;
  border: 1px solid rgba(188, 168, 147, 0.35);
  border-radius: 12px;
  box-shadow: 0 16px 50px rgba(14, 22, 34, 0.08);
  padding: 2.5vw 3vw;
  position: relative;
}
.calcHeader {
  padding-bottom: 2vw;
  border-bottom: 1px solid rgba(14, 22, 34, 0.12);
  margin-bottom: 2vw;
}
.calcBadge {
  display: inline-block;
  background: rgba(188, 168, 147, 0.15);
  color: #0E1622;
  border: 1px solid rgba(188, 168, 147, 0.4);
  border-radius: 4px;
  padding: 3px 10px;
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.15em;
  margin-bottom: 0.6vw;
}
.calcBankPartners {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5vw;
}
.bankPill {
  background: rgba(241, 237, 224, 0.8);
  border: 1px solid rgba(14, 22, 34, 0.15);
  border-radius: 4px;
  padding: 4px 10px;
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 500;
  color: #0E1622;
}
.controlGroup {
  margin-bottom: 1.5vw;
}
.controlHeader {
  margin-bottom: 0.5vw;
}
.controlHeader label {
  font-weight: 600;
  color: #0E1622;
  font-size: 14px;
}
.controlDisplay {
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #A89178;
}
.luxuryRange {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 6px;
  border-radius: 5px;
  background: #E5DFD1;
  outline: none;
  cursor: pointer;
  margin: 8px 0;
  transition: background 200ms ease;
}
.luxuryRange::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #0E1622;
  border: 2px solid #BCA893;
  box-shadow: 0 2px 8px rgba(14, 22, 34, 0.3);
  cursor: pointer;
  transition: transform 150ms ease, background 150ms ease;
}
.luxuryRange::-webkit-slider-thumb:hover {
  transform: scale(1.15);
  background: #BCA893;
  border-color: #0E1622;
}
.rangeLabels {
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  color: rgba(14, 22, 34, 0.55);
}

.calcResults {
  background: linear-gradient(135deg, rgba(241, 237, 224, 0.5) 0%, rgba(252, 252, 250, 0.9) 100%);
  border: 1px solid rgba(188, 168, 147, 0.4);
  border-radius: 10px;
  padding: 2vw;
  box-sizing: border-box;
}
.resultSub {
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  color: rgba(14, 22, 34, 0.7);
  display: block;
}
.emiValue {
  font-family: 'Qunotz', 'Sogo', 'Montserrat', serif;
  font-size: 3.2vw;
  line-height: 1.1;
  font-weight: 400;
  color: #0E1622;
  margin: 0.6vw 0 1vw 0;
}
.emiUnit {
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: rgba(14, 22, 34, 0.6);
}
.loanBreakdownBar {
  display: flex;
  height: 10px;
  border-radius: 6px;
  overflow: hidden;
  background: #E5DFD1;
  margin: 1vw 0 0.8vw 0;
}
.principalBar {
  background: #0E1622;
  transition: width 300ms ease;
}
.interestBar {
  background: #BCA893;
  transition: width 300ms ease;
}
.barLegend {
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  color: #0E1622;
  margin-bottom: 1.5vw;
}
.dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-right: 4px;
}
.principalDot { background: #0E1622; }
.interestDot { background: #BCA893; }

.calcSummaryBox {
  border-top: 1px dashed rgba(14, 22, 34, 0.2);
  padding: 1vw 0;
  margin-bottom: 1.2vw;
}
.summaryRow {
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  color: #0E1622;
  margin: 0.4vw 0;
}
.calcApplyBtn {
  width: 100%;
  background: #0E1622;
  color: #FCFAF5;
  border: 1px solid #BCA893;
  border-radius: 6px;
  padding: 12px 24px;
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 300ms ease;
  box-shadow: 0 6px 18px rgba(14, 22, 34, 0.15);
}
.calcApplyBtn:hover {
  background: #BCA893;
  color: #0E1622;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(14, 22, 34, 0.22);
}


/* 5. Interactive Preferences on VIP Site Visit Form */
.formPrefChips {
  margin: 1.5vw 0 1vw 0;
  gap: 8px;
}
.prefChip {
  background: rgba(254, 254, 253, 0.95);
  border: 1px solid rgba(80, 101, 121, 0.5);
  border-radius: 30px;
  padding: 6px 14px;
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  color: #0E1622;
  cursor: pointer;
  transition: all 200ms ease;
}
.prefChip:hover {
  border-color: #BCA893;
  background: #FFF;
  transform: translateY(-1px);
}
.prefChip.active {
  background: #0E1622;
  color: #FCFAF5;
  border-color: #0E1622;
  box-shadow: 0 4px 10px rgba(14, 22, 34, 0.15);
}

/* 6. Floating VIP Quick Action Bar */
.floatingQuickBar {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 99;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 8px 12px 8px 16px;
  background: rgba(14, 22, 34, 0.92);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(188, 168, 147, 0.4);
  border-radius: 50px;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.25);
  opacity: 0;
  transform: translateY(20px);
  pointer-events: none;
  transition: all 400ms cubic-bezier(.19,1,.22,1);
}
.floatingQuickBar.visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: all;
}
.quickBarBrand {
  display: flex;
  align-items: center;
  gap: 10px;
}
.quickBarLogo {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--color-warm-taupe);
  color: #0E1622;
  font-family: 'Qunotz', 'Sogo', serif;
  font-weight: 600;
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.quickBarText {
  display: flex;
  flex-direction: column;
}
.quickTitle {
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 600;
  color: #FCFAF5;
  letter-spacing: 0.04em;
  line-height: 1.3;
}
.quickSub {
  font-family: 'Montserrat', sans-serif;
  font-size: 9px;
  font-weight: 400;
  color: rgba(252, 250, 245, 0.6);
  letter-spacing: 0.05em;
}
.quickBarActions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.quickCallBtn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border-radius: 30px;
  background: rgba(252, 250, 245, 0.12);
  border: 1px solid rgba(188, 168, 147, 0.4);
  color: #FCFAF5;
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 500;
  text-decoration: none;
  transition: all 250ms ease;
}
.quickCallBtn:hover {
  background: var(--color-warm-taupe);
  color: #0E1622;
}
.quickVisitBtn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: #FCFAF5;
  color: #0E1622;
  border: 1px solid #BCA893;
  border-radius: 30px;
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  text-decoration: none;
  transition: all 250ms ease;
}
.quickVisitBtn:hover {
  background: var(--color-warm-taupe);
  color: #FCFAF5;
  transform: translateY(-1px);
}


/* Responsive adjustments for new interactive components */
@media (max-width: 1024px) {
  .statsGrid {
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
  }
  .statNumber {
    font-size: 32px;
  }
  .statLabel {
    font-size: 13px;
  }
  .statSub {
    font-size: 11px;
  }
  .portfolioFilters {
    overflow-x: auto;
    justify-content: flex-start;
    padding-bottom: 15px;
    -webkit-overflow-scrolling: touch;
  }
  .filterTab {
    font-size: 11px;
    padding: 8px 16px;
    white-space: nowrap;
    flex-shrink: 0;
  }
  .filterTab .filterCount {
    font-size: 10px;
  }
  .calcBody {
    flex-direction: column;
  }
  .calcControls,
  .calcResults {
    width: 100% !important;
  }
  .calcResults {
    margin-top: 25px;
  }
  .emiValue {
    font-size: 36px;
  }
  .corridorNav {
    grid-template-columns: repeat(2, 1fr);
  }
  .corridorGrid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .statsGrid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .calcCard {
    padding: 20px 15px;
  }
  .calcHeader {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .corridorNav {
    grid-template-columns: 1fr;
  }
  .floatingQuickBar {
    bottom: 16px;
    right: 16px;
  }
  .quickVisitBtn span {
    display: none;
  }
  .quickVisitBtn {
    padding: 12px;
    border-radius: 50%;
  }
}

/* ==========================================================================
   §A — SECTION TYPOGRAPHY SYSTEM
   ========================================================================== */
.sectionOverline {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--color-warm-taupe);
  margin-bottom: 18px;
}
.sectionOverline {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-warm-taupe-rich);
  margin-bottom: 16px;
}
.sectionOverlineLight {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #D6C8B8;
  margin-bottom: 16px;
}
.sectionHeading {
  font-family: 'Mustinya', 'Abho Luxury Demo', 'Djore DEMO', 'San Brainy', 'Qunotz', 'Sogo', serif;
  font-weight: 400;
  font-size: clamp(32px, 3.4vw, 52px);
  line-height: 1.22;
  color: var(--color-midnight-ocean);
  letter-spacing: 0.015em;
  text-align: center;
}
.sectionHeadingLeft {
  font-family: 'Mustinya', 'Abho Luxury Demo', 'Djore DEMO', 'San Brainy', 'Qunotz', 'Sogo', serif;
  font-weight: 400;
  font-size: clamp(30px, 3vw, 46px);
  line-height: 1.25;
  color: var(--color-midnight-ocean);
  letter-spacing: 0.015em;
}
.sectionHeadingLight {
  font-family: 'Mustinya', 'Abho Luxury Demo', 'Djore DEMO', 'San Brainy', 'Qunotz', 'Sogo', serif;
  font-weight: 400;
  font-size: clamp(32px, 3.4vw, 52px);
  line-height: 1.22;
  color: #FCFAF5;
  letter-spacing: 0.015em;
  text-align: center;
}

/* Mustinya Unified Heading System */
h1, h2, h3,
.devIntroHeading,
.splitLifestyleHeading,
.loanBannerHeading,
.categoryCardTitle,
.spotlightCardTitle,
.corridorHeading,
.conciergeHeading,
.titoloSchede,
.hubHeroTitle,
.hubProjectTitle,
.hubCtaTitle,
.propHeroTitle,
.propSectionHeading,
.propCardTitle,
#modalTitle-sunny-villa,
#modalTitle-ananta-grand,
#modalTitle-bang-on-highway,
#modalTitle-gurufateh-elite,
#modalTitle-sbp-residences {
  font-family: 'Mustinya', 'Abho Luxury Demo', 'Djore DEMO', 'San Brainy', 'Qunotz', 'Sogo', serif !important;
}

/* Loading Screen Text & Header SVG Typography */
#mainLogo text,
#logoType text,
#logoLocation text,
#homeLogoLayer text,
#homeCover text,
.loadingText {
  font-family: 'Gued', 'Montserrat', sans-serif !important;
}

.sectionSubheading {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(15px, 1.1vw, 17px);
  font-weight: 400;
  line-height: 1.8;
  color: #405367;
  text-align: center;
  max-width: 720px;
  margin: 0 auto;
}
.sectionSubheadingLight {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(15px, 1.1vw, 17px);
  font-weight: 400;
  line-height: 1.8;
  color: rgba(252,250,245,0.92);
  text-align: center;
  max-width: 720px;
  margin: 0 auto;
}
.sectionHeaderCentered {
  padding: 5vw 0 3.5vw;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
.sectionHeaderLeft {
  padding: 5vw 0 2.5vw;
}

/* ==========================================================================
   §B — DEVELOPER INTRO STRIP (§1)
   ========================================================================== */
.devIntroStrip {
  background: var(--color-cream-ivory);
  padding: 7.5vw 0 5vw;
}
.devIntroInner {
  display: flex;
  gap: 7vw;
  align-items: flex-start;
}
.devIntroLeft {
  flex: 0 0 42%;
  max-width: 42%;
  position: sticky;
  top: 90px;
}
.devIntroRight { flex: 1; }
.devIntroHeading {
  font-family: 'Mustinya', 'Djore DEMO', serif;
  font-weight: 400;
  font-size: clamp(24px, 2.2vw, 38px);
  line-height: 1.28;
  color: var(--color-midnight-ocean);
  margin-bottom: 22px;
}
.devIntroBody {
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.85;
  color: #374A5D;
  margin-bottom: 32px;
  text-align: left;
}
.devIntroCta {
  display: inline-block;
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-midnight-ocean);
  border-bottom: 1px solid var(--color-warm-taupe);
  padding-bottom: 4px;
  transition: color 0.4s ease, border-color 0.4s ease;
}
.devIntroCta:hover { color: var(--color-dusk-blue); border-color: var(--color-dusk-blue); }
.devStatRow { display: flex; gap: 24px; margin-bottom: 24px; }
.devStat {
  flex: 1;
  background: var(--color-cream-ivory-surface);
  border: 1px solid var(--color-warm-taupe-light);
  border-radius: 4px;
  padding: 24px 20px;
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.devStat:hover { transform: translateY(-3px); box-shadow: 0 8px 30px rgba(14,22,34,0.08); }
.devStatValue {
  font-family: 'Qunotz', 'Sogo', serif;
  font-size: clamp(36px,3.5vw,56px);
  font-weight: 300;
  color: var(--color-midnight-ocean);
  line-height: 1;
  margin-bottom: 8px;
}
.devStatLabel {
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-warm-taupe-rich);
  margin-bottom: 6px;
}
.devStatSub {
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 300;
  color: var(--color-dusk-blue);
  line-height: 1.5;
}
.devIntroImageWrap {
  margin-top: 24px;
  border-radius: 5px;
  overflow: hidden;
  height: 25vw;
  max-height: 320px;
  position: relative;
}
.devIntroImg { width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; display: block; }

/* ==========================================================================
   §C — FEATURE VIDEO STRIP (§2)
   ========================================================================== */
.featureVideoStrip {
  position: relative;
  height: 90vh;
  min-height: 480px;
  max-height: 860px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.featureVideoEl {
  position: absolute; top: 0; left: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: 50% 50%;
  z-index: 0;
}
.featureVideoOverlay {
  position: absolute; top: 0; left: 0;
  width: 100%; height: 100%;
  background: linear-gradient(to bottom,rgba(14,22,34,0.3) 0%,rgba(14,22,34,0.55) 60%,rgba(14,22,34,0.75) 100%);
  z-index: 1;
}
.featureVideoContent { position: relative; z-index: 2; text-align: center; padding: 0 20px; max-width: 800px; }
.featureVideoHeading {
  font-family: 'Qunotz', 'Sogo', serif;
  font-weight: 300;
  font-size: clamp(30px,4vw,68px);
  line-height: 1.18;
  color: #FCFAF5;
  margin-bottom: 20px;
  letter-spacing: -0.01em;
}
.featureVideoSub {
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  font-weight: 300;
  color: rgba(252,250,245,0.85);
  margin-bottom: 36px;
  line-height: 1.7;
}
.featureVideoCta {
  display: inline-block;
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-midnight-ocean);
  background: #FCFAF5;
  padding: 16px 36px;
  border-radius: 2px;
  transition: background 0.4s ease, color 0.4s ease;
}
.featureVideoCta:hover { background: var(--color-warm-taupe); color: #FCFAF5; }

/* ==========================================================================
   §D — BENTO GRID (§3)
   ========================================================================== */
.devGridSection {
  background: var(--color-cream-ivory-muted);
  padding: 0 0 7.5vw;
}
.portfolioFilters { gap: 10px; margin-bottom: 40px; }
.filterTab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-dusk-blue);
  background: transparent;
  border: 1px solid var(--color-warm-taupe-light);
  border-radius: 2px;
  padding: 10px 20px;
  cursor: pointer;
  transition: all 0.35s ease;
}
.filterTab.active, .filterTab:hover {
  background: var(--color-midnight-ocean);
  color: #FCFAF5;
  border-color: var(--color-midnight-ocean);
}
.filterBadge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  font-size: 9px;
  font-weight: 700;
  background: rgba(255,255,255,0.15);
  color: inherit;
}
.filterTab:not(.active) .filterBadge {
  background: var(--color-warm-taupe-light);
  color: var(--color-midnight-ocean);
}
.bentoDev {
  display: grid;
  grid-template-columns: repeat(12,1fr);
  gap: 16px;
}
.bentoCard {
  position: relative;
  overflow: hidden;
  border-radius: 5px;
  cursor: pointer;
  background: var(--color-midnight-ocean);
  grid-column: span 4;
  min-height: 340px;
}
.bentoCard--large {
  grid-column: span 8;
  grid-row: span 2;
  min-height: 640px;
}
.bentoCardImg {
  position: absolute; top: 0; left: 0;
  width: 100%; height: 100%;
}
.bentoCardImg img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  display: block;
  transition: transform 0.8s cubic-bezier(0.19,1,0.22,1);
}
.bentoCard:hover .bentoCardImg img { transform: scale(1.04); }
.bentoCardOverlay {
  position: absolute; top: 0; left: 0;
  width: 100%; height: 100%;
  background: linear-gradient(to top,rgba(14,22,34,0.9) 0%,rgba(14,22,34,0.25) 55%,transparent 100%);
  z-index: 1;
  transition: background 0.5s ease;
}
.bentoCard:hover .bentoCardOverlay {
  background: linear-gradient(to top,rgba(14,22,34,0.95) 0%,rgba(14,22,34,0.4) 60%,rgba(14,22,34,0.1) 100%);
}
.bentoCardContent {
  position: absolute; bottom: 0; left: 0;
  width: 100%;
  padding: 28px 28px 32px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.bentoCardTag {
  font-family: 'Montserrat', sans-serif;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-warm-taupe);
}
.bentoCardTitle {
  font-family: 'Qunotz', 'Sogo', serif;
  font-weight: 300;
  font-size: clamp(18px,1.8vw,28px);
  line-height: 1.2;
  color: #FCFAF5;
}
.bentoCardDesc {
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 300;
  line-height: 1.65;
  color: rgba(252,250,245,0.75);
  max-width: 400px;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.bentoCard:hover .bentoCardDesc { opacity: 1; transform: none; }
.bentoCardExplore {
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.15em;
  color: var(--color-warm-taupe);
  margin-top: 4px;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.4s ease 0.05s, transform 0.4s ease 0.05s;
}
.bentoCard:hover .bentoCardExplore { opacity: 1; transform: none; }

/* ==========================================================================
   §E — SPLIT LIFESTYLE (§4)
   ========================================================================== */
.splitLifestyle {
  display: flex;
  align-items: stretch;
  min-height: 85vh;
  background: var(--color-cream-ivory-surface);
}
.splitLifestyleLeft {
  flex: 0 0 46%;
  padding: 7vw 5vw 7vw 10vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.splitLifestyleRight {
  flex: 1;
  position: relative;
  overflow: hidden;
}
.splitLifestyleHeading {
  font-family: 'Mustinya', 'Djore DEMO', serif;
  font-weight: 400;
  font-size: clamp(24px, 2.3vw, 40px);
  line-height: 1.25;
  color: var(--color-midnight-ocean);
  margin-bottom: 20px;
}
.splitLifestyleBody {
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.82;
  color: #374A5D;
  margin-bottom: 32px;
  text-align: left;
}
.splitPillarList { list-style: none; margin-bottom: 36px; display: flex; flex-direction: column; gap: 24px; }
.splitPillar { display: flex; gap: 16px; align-items: flex-start; }
.splitPillarIcon {
  flex-shrink: 0;
  width: 40px; height: 40px;
  border-radius: 50%;
  background: var(--color-cream-ivory-muted);
  border: 1px solid var(--color-warm-taupe-light);
  display: flex; align-items: center; justify-content: center;
  color: var(--color-warm-taupe-rich);
  margin-top: 2px;
}
.splitPillar div strong {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: var(--color-midnight-ocean);
  margin-bottom: 4px;
}
.splitPillar div p {
  font-family: 'Montserrat', sans-serif;
  font-size: 13.5px;
  font-weight: 400;
  color: #43586C;
  line-height: 1.65;
}
.splitLifestyleCta {
  display: inline-block;
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-midnight-ocean);
  border-bottom: 1px solid var(--color-warm-taupe);
  padding-bottom: 4px;
  transition: all 0.4s ease;
  align-self: flex-start;
}
.splitLifestyleCta:hover { color: var(--color-dusk-blue); border-color: var(--color-dusk-blue); }
.splitLifestyleImgStack {
  position: absolute; top: 0; left: 0;
  width: 100%; height: 100%;
  display: grid;
  grid-template-rows: 65% 35%;
}
.splitLifestyleImgMain, .splitLifestyleImgAccent { overflow: hidden; position: relative; }
.splitLifestyleImgMain img, .splitLifestyleImgAccent img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.8s cubic-bezier(0.19,1,0.22,1);
}
.splitLifestyleImgMain:hover img, .splitLifestyleImgAccent:hover img { transform: scale(1.03); }

.splitLifestyleVideoWrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: var(--color-midnight-ocean, #0e1622);
}
.splitLifestyleVideo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.8s cubic-bezier(0.19,1,0.22,1);
}
.splitLifestyleVideoWrap:hover .splitLifestyleVideo {
  transform: scale(1.02);
}
.splitLifestyleVideoBadge {
  position: absolute;
  bottom: 24px;
  left: 24px;
  right: 24px;
  background: rgba(14, 22, 34, 0.82);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(188, 168, 147, 0.35);
  border-radius: 4px;
  padding: 12px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #FCFAF5;
  z-index: 2;
  box-shadow: 0 8px 32px rgba(0,0,0,0.2);
}
.splitLifestyleVideoBadgeTitle {
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: #FCFAF5;
  text-transform: uppercase;
}
.splitLifestyleVideoBadgeSub {
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 300;
  color: rgba(252, 250, 245, 0.75);
  margin-top: 2px;
}
.splitLifestyleVideoBadgeTag {
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #BCA893;
  background: rgba(188, 168, 147, 0.18);
  padding: 4px 10px;
  border-radius: 3px;
  border: 1px solid rgba(188, 168, 147, 0.35);
  white-space: nowrap;
}

/* ==========================================================================
   §F — PROPERTY SPOTLIGHT (§5)
   ========================================================================== */
.spotlightSection {
  background: var(--color-cream-ivory);
  padding: 0 0 5vw;
  overflow: hidden;
}
.spotlightTrack {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-behavior: smooth;
  padding: 0 calc((100vw - 80vw) / 2) 20px;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.spotlightTrack::-webkit-scrollbar { display: none; }
.spotlightCard {
  flex-shrink: 0;
  width: 340px;
  border-radius: 5px;
  overflow: hidden;
  background: var(--color-cream-ivory-surface);
  border: 1px solid var(--color-warm-taupe-light);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.spotlightCard:hover { transform: translateY(-6px); box-shadow: 0 16px 50px rgba(14,22,34,0.1); }
.spotlightCardImg { height: 220px; overflow: hidden; }
.spotlightCardImg img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 0.7s cubic-bezier(0.19,1,0.22,1);
}
.spotlightCard:hover .spotlightCardImg img { transform: scale(1.04); }
.spotlightCardInfo { padding: 22px 24px 26px; }
.spotlightCardTag {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-warm-taupe-rich);
  margin-bottom: 10px;
}
.spotlightCardTitle {
  font-family: 'Qunotz', 'Sogo', serif;
  font-weight: 400;
  font-size: 20px;
  color: var(--color-midnight-ocean);
  margin-bottom: 6px;
  line-height: 1.25;
}
.spotlightCardLocation {
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 300;
  color: var(--color-dusk-blue);
  margin-bottom: 16px;
  line-height: 1.5;
}
.spotlightCardTags { display: flex; flex-wrap: wrap; gap: 6px; }
.spotlightCardTags span {
  font-family: 'Montserrat', sans-serif;
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: var(--color-dusk-blue);
  background: var(--color-cream-ivory-muted);
  border: 1px solid var(--color-warm-taupe-light);
  padding: 4px 10px;
  border-radius: 2px;
}
.spotlightNav { display: flex; gap: 12px; margin-top: 32px; justify-content: flex-end; }
.spotlightNavBtn {
  width: 48px; height: 48px;
  border-radius: 50%;
  border: 1px solid var(--color-warm-taupe);
  background: transparent;
  font-size: 18px;
  cursor: pointer;
  color: var(--color-midnight-ocean);
  display: flex; align-items: center; justify-content: center;
  transition: all 0.35s ease;
}
.spotlightNavBtn:hover { background: var(--color-midnight-ocean); color: #FCFAF5; border-color: var(--color-midnight-ocean); }

/* ==========================================================================
   §G — GROWTH CORRIDORS (§6)
   ========================================================================== */
.corridorSection {
  position: relative;
  min-height: 80vh;
  overflow: hidden;
  background: var(--color-midnight-ocean-deep);
}
.corridorBgImg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.corridorBgImg img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; opacity: 0.18; }
.corridorBgOverlay {
  position: absolute; top: 0; left: 0;
  width: 100%; height: 100%;
  background: linear-gradient(to bottom,rgba(10,16,26,0.85) 0%,rgba(10,16,26,0.7) 100%);
}
.corridorContent { position: relative; z-index: 1; padding-bottom: 7.5vw; }
.corridorNav {
  gap: 0;
  margin-bottom: 0;
  border-bottom: 1px solid rgba(188,168,147,0.2);
}
.corridorTab {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  padding: 20px 28px;
  cursor: pointer;
  text-align: left;
  transition: all 0.4s ease;
  position: relative;
  bottom: -1px;
  gap: 4px;
}
.corridorTab.active, .corridorTab:hover { border-bottom-color: var(--color-warm-taupe); }
.corridorTabCode {
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: var(--color-warm-taupe);
  opacity: 0.6;
}
.corridorTabTitle {
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: rgba(252,250,245,0.7);
  transition: color 0.3s ease;
  max-width: 180px;
  line-height: 1.4;
}
.corridorTab.active .corridorTabTitle, .corridorTab:hover .corridorTabTitle { color: #FCFAF5; }
.corridorDisplay { padding-top: 40px; }
.corridorDetailPanel { display: none; }
.corridorDetailPanel.active { display: block; }
.corridorText { padding-right: 40px; }
.corridorBadge {
  display: inline-block;
  font-family: 'Montserrat', sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-warm-taupe);
  border: 1px solid rgba(188,168,147,0.4);
  padding: 5px 12px;
  border-radius: 2px;
  margin-bottom: 20px;
}
.corridorHeading {
  font-family: 'Mustinya', 'Djore DEMO', serif;
  font-weight: 400;
  font-size: clamp(24px, 2.3vw, 38px);
  line-height: 1.25;
  color: #FCFAF5;
  margin-bottom: 16px;
}
.corridorDesc {
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.8;
  color: rgba(252,250,245,0.88);
  margin-bottom: 28px;
}
.corridorMetrics { gap: 10px; }
.metricPill {
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 400;
  color: rgba(252,250,245,0.9);
  background: rgba(188,168,147,0.14);
  border: 1px solid rgba(188,168,147,0.3);
  padding: 8px 14px;
  border-radius: 2px;
  line-height: 1.4;
}
.metricPill strong { font-weight: 600; color: #FCFAF5; display: block; }
.corridorHighlight {
  background: rgba(188,168,147,0.1);
  border: 1px solid rgba(188,168,147,0.25);
  border-radius: 5px;
  padding: 40px 30px;
  text-align: center;
  gap: 12px;
}
.highlightBadge {
  font-family: 'Montserrat', sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-warm-taupe);
}
.highlightRate {
  font-family: 'Qunotz', 'Sogo', serif;
  font-weight: 300;
  font-size: clamp(42px,5vw,80px);
  color: #FCFAF5;
  line-height: 1;
}
.highlightSub {
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 300;
  color: rgba(252,250,245,0.65);
  text-align: center;
  line-height: 1.5;
}
.corridorActionBtn {
  display: inline-block;
  margin-top: 12px;
  font-family: 'Montserrat', sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-midnight-ocean);
  background: var(--color-warm-taupe);
  padding: 12px 22px;
  border-radius: 2px;
  transition: background 0.35s ease;
}
.corridorActionBtn:hover { background: var(--color-warm-taupe-rich); }

/* ==========================================================================
   §H — TRUST / TIMELINE (§7)
   ========================================================================== */
.trustSection {
  background: var(--color-cream-ivory-surface);
  padding: 7.5vw 0;
}
.trustGrid { display: flex; gap: 5vw; align-items: flex-start; }
.trustLeft { flex: 0 0 52%; }
.trustRight { flex: 1; position: sticky; top: 90px; }
.trustBody {
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.85;
  color: #374A5D;
  margin: 20px 0 36px;
  text-align: left;
}
.trustTimeline {
  position: relative;
  padding-left: 28px;
  border-left: 1px solid var(--color-warm-taupe-light);
  display: flex;
  flex-direction: column;
  gap: 26px;
}
.trustMilestone { display: flex; gap: 18px; position: relative; }
.trustMilestone::before {
  content: '';
  position: absolute;
  left: -33px; top: 6px;
  width: 10px; height: 10px;
  border-radius: 50%;
  background: var(--color-warm-taupe);
  border: 2px solid var(--color-cream-ivory-surface);
  box-shadow: 0 0 0 3px var(--color-warm-taupe-light);
}
.trustMilestone--ongoing::before {
  background: #238b55;
  border-color: #FCFAF5;
  box-shadow: 0 0 0 3px rgba(35, 139, 85, 0.3);
  animation: pulseTimelineDot 2s infinite ease-in-out;
}
@keyframes pulseTimelineDot {
  0%, 100% { box-shadow: 0 0 0 3px rgba(35, 139, 85, 0.35); }
  50% { box-shadow: 0 0 0 7px rgba(35, 139, 85, 0.12); }
}
.trustMilestoneYear {
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: var(--color-warm-taupe-rich);
  min-width: 56px;
  line-height: 1.6;
  white-space: nowrap;
}
.trustMilestone--ongoing .trustMilestoneYear {
  color: #238b55;
  font-weight: 800;
}
.trustMilestoneInfo strong {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-midnight-ocean);
  margin-bottom: 4px;
  letter-spacing: 0.02em;
}
.trustMilestoneInfo p {
  font-family: 'Montserrat', sans-serif;
  font-size: 13.5px;
  font-weight: 400;
  color: #43586C;
  line-height: 1.68;
}
.trustImgGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.trustImgMain { grid-column: 1 / -1; height: 260px; border-radius: 5px; overflow: hidden; }
.trustImgSecondary, .trustImgTertiary { height: 160px; border-radius: 5px; overflow: hidden; }
.trustImgMain img, .trustImgSecondary img, .trustImgTertiary img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.7s ease;
}
.trustImgMain:hover img, .trustImgSecondary:hover img, .trustImgTertiary:hover img { transform: scale(1.03); }

/* ==========================================================================
   §I — LOAN BANNER (§8)
   ========================================================================== */
.loanBannerSection {
  position: relative;
  min-height: 420px;
  overflow: hidden;
  display: flex;
  align-items: center;
}
.loanBannerBg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.loanBannerBg img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; }
.loanBannerOverlay {
  position: absolute; top: 0; left: 0;
  width: 100%; height: 100%;
  background: linear-gradient(135deg,rgba(14,22,34,0.88) 0%,rgba(80,101,121,0.75) 100%);
}
.loanBannerContent { position: relative; z-index: 1; padding: 6vw 0; text-align: center; }
.loanBannerHeading {
  font-family: 'Mustinya', 'Djore DEMO', serif;
  font-weight: 400;
  font-size: clamp(28px, 3.2vw, 56px);
  color: #FCFAF5;
  line-height: 1.2;
  margin-bottom: 18px;
}
.loanBannerSub {
  font-family: 'Montserrat', sans-serif;
  font-size: 15.5px;
  font-weight: 400;
  color: rgba(252,250,245,0.92);
  line-height: 1.8;
  margin-bottom: 36px;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}
.loanBannerStats {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin-bottom: 36px;
  flex-wrap: wrap;
}
.loanStat { display: flex; flex-direction: column; align-items: center; padding: 0 32px; gap: 4px; }
.loanStat strong {
  font-family: 'Montserrat', sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: #FCFAF5;
  letter-spacing: 0.05em;
}
.loanStat span {
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(252,250,245,0.6);
}
.loanStatDivider { width: 1px; height: 40px; background: rgba(188,168,147,0.4); }

/* ==========================================================================
   §J — TESTIMONIALS (§9)
   ========================================================================== */
.testimonialsSection {
  background: var(--color-cream-ivory-muted);
  padding: 7.5vw 0;
}
.testimonialsGrid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 24px;
  margin-top: 48px;
}
.testimonialCard {
  background: var(--color-cream-ivory-surface);
  border: 1px solid var(--color-warm-taupe-light);
  border-radius: 5px;
  padding: 36px 32px 32px;
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.testimonialCard:hover { transform: translateY(-5px); box-shadow: 0 16px 50px rgba(14,22,34,0.08); }
.testimonialQuoteMark {
  font-family: 'Mustinya', 'Djore DEMO', 'Qunotz', 'Sogo', serif;
  font-size: 72px;
  font-weight: 300;
  color: var(--color-warm-taupe-light);
  line-height: 0.6;
  margin-bottom: 20px;
  display: block;
  height: 30px;
}
.testimonialText {
  font-family: 'Montserrat', sans-serif;
  font-size: 14.5px;
  font-weight: 400;
  line-height: 1.8;
  color: #374A5D;
  margin-bottom: 24px;
  font-style: italic;
}
.testimonialAuthor strong {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--color-midnight-ocean);
  margin-bottom: 4px;
}
.testimonialAuthor span {
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 300;
  color: var(--color-warm-taupe-rich);
  letter-spacing: 0.05em;
}

/* ==========================================================================
   §K — FORM PREFERENCE CHIPS
   ========================================================================== */
.formPrefChips { gap: 10px; margin: 24px 0 32px; padding: 0 10px; }
.chipsLabel {
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-dusk-blue);
  margin-right: 8px;
}
.prefChip {
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--color-dusk-blue);
  background: transparent;
  border: 1px solid var(--color-warm-taupe-light);
  border-radius: 30px;
  padding: 8px 18px;
  cursor: pointer;
  transition: all 0.35s ease;
}
.prefChip:hover, .prefChip.active {
  background: var(--color-midnight-ocean);
  color: #FCFAF5;
  border-color: var(--color-midnight-ocean);
}

/* ==========================================================================
   §L — SITE FOOTER
   ========================================================================== */
.siteFooter {
  background: var(--color-midnight-ocean);
  color: rgba(252,250,245,0.75);
}
.footerTop {
  padding: 6vw 0 4vw;
  border-bottom: 1px solid rgba(188,168,147,0.15);
}
.footerTopInner { display: flex; gap: 6vw; align-items: flex-start; }
.footerBrand { flex: 0 0 35%; }
.footerLogoSvg { width: 100%; max-width: 280px; margin-bottom: 18px; display: block; height: auto; }
.footerTagline {
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 300;
  line-height: 1.85;
  color: rgba(252,250,245,0.6);
}
.footerLinks { display: flex; flex: 1; gap: 5vw; }
.footerLinkCol { display: flex; flex-direction: column; gap: 12px; }
.footerLinkHeading {
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-warm-taupe);
  margin-bottom: 4px;
}
.footerLink {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 300;
  color: rgba(252,250,245,0.65);
  transition: color 0.35s ease;
  cursor: pointer;
}
.footerLink:hover { color: #FCFAF5; }
.footerNewsletter {
  padding: 3.5vw 0;
  border-bottom: 1px solid rgba(188,168,147,0.15);
}
.footerNewsletterInner { display: flex; align-items: center; gap: 6vw; }
.footerNewsletterText { flex: 0 0 38%; display: flex; flex-direction: column; gap: 6px; }
.footerNewsletterTitle {
  font-family: 'Qunotz', 'Sogo', serif;
  font-weight: 400;
  font-size: clamp(16px,1.5vw,22px);
  color: #FCFAF5;
}
.footerNewsletterSub {
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 300;
  color: rgba(252,250,245,0.5);
  line-height: 1.6;
}
#newsletterContainer { flex: 1; top: 0; }
.footerBottom { padding: 24px 0; }
.footerBottomInner { display: flex; align-items: center; justify-content: space-between; }
.footerCopy {
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 300;
  color: rgba(252,250,245,0.4);
}
.footerBottomLinks { display: flex; gap: 28px; }
.footerBottomLink {
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 400;
  color: rgba(252,250,245,0.5);
  cursor: pointer;
  transition: color 0.3s ease;
}
.footerBottomLink:hover { color: var(--color-warm-taupe); }

/* ==========================================================================
   §M — RESPONSIVE (New Sections)
   ========================================================================== */
@media (max-width: 1280px) {
  .bentoDev { grid-template-columns: repeat(6,1fr); }
  .bentoCard { grid-column: span 3; min-height: 280px; }
  .bentoCard--large { grid-column: 1 / -1; min-height: 380px; grid-row: auto; }
}
@media (max-width: 1024px) {
  .devIntroInner { flex-direction: column; gap: 40px; }
  .devIntroLeft { flex: none; max-width: 100%; position: static; }
  .splitLifestyle { flex-direction: column; min-height: auto; }
  .splitLifestyleLeft { flex: none; padding: 50px 30px; }
  .splitLifestyleRight { height: 75vw; min-height: 400px; }
  .splitLifestyleImgStack, .splitLifestyleVideoWrap { position: relative; height: 100%; }
  .trustGrid { flex-direction: column; gap: 40px; }
  .trustLeft { flex: none; width: 100%; }
  .trustRight { flex: none; width: 100%; position: static; }
  .footerTopInner { flex-direction: column; gap: 40px; }
  .footerBrand { flex: none; }
  .footerNewsletterInner { flex-direction: column; gap: 24px; }
  .footerNewsletterText { flex: none; }
}
@media (max-width: 768px) {
  .devIntroInner { flex-direction: column; gap: 30px; }
  .devStatRow { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
  .devIntroImageWrap { height: 48vw; max-height: 260px; }
  .bentoDev { display: flex; flex-direction: column; }
  .bentoCard { min-height: 260px; }
  .bentoCard--large { min-height: 320px; }
  .bentoCardDesc, .bentoCardExplore { opacity: 1; transform: none; }
  .featureVideoStrip { height: 70vh; }
  .featureVideoHeading { font-size: 28px; }
  .splitLifestyle { flex-direction: column; min-height: auto; }
  .splitLifestyleLeft { padding: 40px 15px; }
  .splitLifestyleRight { height: 110vw; min-height: 380px; }
  .splitLifestyleImgStack, .splitLifestyleVideoWrap { position: relative; height: 100%; }
  .splitLifestyleImgMain, .splitLifestyleImgAccent { position: static; }
  .splitLifestyleVideoBadge { bottom: 14px; left: 14px; right: 14px; padding: 10px 14px; }
  .spotlightTrack { padding: 0 15px 20px; }
  .spotlightCard { width: 280px; }
  .corridorNav { flex-direction: column; }
  .corridorTab { width: 100%; border-bottom: none; border-left: 2px solid transparent; }
  .corridorTab.active, .corridorTab:hover { border-left-color: var(--color-warm-taupe); border-bottom-color: transparent; }
  .corridorGrid { flex-direction: column !important; }
  .corridorText { padding-right: 0; margin-bottom: 24px; }
  .corridorHighlight { padding: 24px 20px; }
  .corridorText.w7, .corridorHighlight.w5 { width: 100% !important; }
  .trustGrid { flex-direction: column; }
  .trustImgGrid { grid-template-columns: 1fr; }
  .trustImgMain { height: 180px; }
  .trustImgSecondary, .trustImgTertiary { height: 140px; }
  .testimonialsGrid { grid-template-columns: 1fr; }
  .loanBannerStats { flex-direction: column; gap: 20px; }
  .loanStatDivider { display: none; }
  .footerTopInner { flex-direction: column; gap: 30px; }
  .footerLinks { flex-direction: column; gap: 24px; }
  .footerNewsletterInner { flex-direction: column; gap: 20px; }
  .footerBottomInner { flex-direction: column; gap: 16px; text-align: center; }
  .footerBottomLinks { flex-wrap: wrap; justify-content: center; }
  .devStatValue { font-size: 38px; }
  .sectionHeading { font-size: 26px; }
  .sectionHeadingLeft { font-size: 24px; }
  .sectionHeadingLight { font-size: 26px; }
  .corridorMetrics { flex-direction: column; gap: 8px; }
  .metricPill { width: 100%; }
  .formPrefChips { gap: 8px; }
  .prefChip { font-size: 9px; padding: 7px 14px; }
}

/* ==========================================================================
   §N — FLAGSHIP COLLECTIONS SECTION (Homepage Collection Explorer)
   ========================================================================== */
.collectionsSection {
  background: var(--color-cream-ivory);
  padding: 7vw 0;
  position: relative;
}
.collectionsNav {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
.collectionTab {
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-dusk-blue);
  background: var(--color-cream-ivory-surface);
  border: 1px solid var(--color-warm-taupe-light);
  border-radius: 30px;
  padding: 10px 22px;
  cursor: pointer;
  transition: all 0.35s ease;
}
.collectionTab.active,
.collectionTab:hover {
  background: var(--color-midnight-ocean);
  color: #FCFAF5;
  border-color: var(--color-midnight-ocean);
  box-shadow: 0 4px 16px rgba(14, 22, 34, 0.12);
}
.collectionPanel {
  display: none;
}
.collectionPanel.active {
  display: block;
}
.collectionCardSplit {
  display: flex;
  background: var(--color-cream-ivory-surface);
  border: 1px solid var(--color-warm-taupe-light);
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 12px 40px rgba(14, 22, 34, 0.06);
  min-height: 520px;
}
.collectionMediaWrap {
  flex: 0 0 54%;
  position: relative;
  overflow: hidden;
  background: var(--color-midnight-ocean);
}
.collectionMediaWrap img,
.collectionMediaWrap video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1);
}
.collectionMediaWrap:hover img {
  transform: scale(1.03);
}
.collectionBadgeOverlay {
  position: absolute;
  top: 20px;
  left: 20px;
  background: rgba(14, 22, 34, 0.85);
  color: var(--color-warm-taupe);
  padding: 6px 14px;
  border-radius: 20px;
  font-family: 'Montserrat', sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  backdrop-filter: blur(8px);
  z-index: 2;
}
.collectionVideoPlayOverlay {
  position: absolute;
  bottom: 20px;
  right: 20px;
  background: rgba(14, 22, 34, 0.85);
  color: #FCFAF5;
  padding: 8px 16px;
  border-radius: 30px;
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px;
  backdrop-filter: blur(8px);
  border: 1px solid rgba(188, 168, 147, 0.4);
  z-index: 2;
}
.collectionInfoWrap {
  flex: 1;
  padding: 50px 45px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.collectionOverline {
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-warm-taupe-rich);
  margin-bottom: 12px;
}
.collectionTitle {
  font-family: 'Qunotz', 'Sogo', serif;
  font-size: clamp(26px, 2.6vw, 38px);
  font-weight: 300;
  color: var(--color-midnight-ocean);
  line-height: 1.25;
  margin-bottom: 14px;
}
.collectionDesc {
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 300;
  line-height: 1.85;
  color: var(--color-dusk-blue);
  margin-bottom: 24px;
}
.collectionSpecsRibbon {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 28px;
}
.specTag {
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 600;
  color: var(--color-midnight-ocean);
  background: var(--color-cream-ivory-muted);
  border: 1px solid var(--color-warm-taupe-light);
  padding: 6px 12px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.collectionActionRow {
  display: flex;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 10px;
}
.btnPrimaryLuxury {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 13px 26px;
  background: var(--color-midnight-ocean);
  color: #FCFAF5;
  border: 1px solid var(--color-midnight-ocean);
  border-radius: 3px;
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 0.35s ease;
}
.btnPrimaryLuxury:hover {
  background: var(--color-warm-taupe);
  color: #0E1622;
  border-color: var(--color-warm-taupe);
  transform: translateY(-2px);
}
.btnSecondaryOutline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 24px;
  background: transparent;
  color: var(--color-midnight-ocean);
  border: 1px solid var(--color-warm-taupe);
  border-radius: 3px;
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 0.35s ease;
}
.btnSecondaryOutline:hover {
  background: var(--color-cream-ivory-muted);
  border-color: var(--color-midnight-ocean);
}

/* ==========================================================================
   §O — MINIMAL LUXURY CONTACT SUITE
   ========================================================================== */
/* ══════════════════════════════════════════════════════════════════════════
   SECTION 11 — CLEAN & MINIMAL PRIVATE ADVISORY & SITE VISIT SUITE
   ══════════════════════════════════════════════════════════════════════════ */
#form {
  scroll-margin-top: 100px;
}

.contactMinimalWrap {
  display: grid;
  grid-template-columns: 1fr 1.25fr;
  gap: 48px;
  background: #FFFFFF;
  border: 1px solid #E6DFD5;
  border-radius: 12px;
  padding: 48px 52px;
  box-shadow: 0 12px 40px rgba(14, 22, 34, 0.05);
  scroll-margin-top: 110px;
  position: relative;
}

/* Left Column: Direct Concierge & Advisory */
.contactConciergeCol {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-right: 1px solid #ECE6DC;
  padding-right: 44px;
}
.conciergeHeading {
  font-family: 'Qunotz', 'Sogo', serif;
  font-size: clamp(24px, 2.2vw, 34px);
  font-weight: 300;
  color: #0E1622;
  line-height: 1.25;
  margin: 10px 0 14px 0;
  letter-spacing: -0.01em;
}
.conciergeText {
  font-family: 'Montserrat', sans-serif;
  font-size: 13.5px;
  font-weight: 400;
  line-height: 1.7;
  color: #556677;
  margin-bottom: 26px;
}
.conciergeCardGrid {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 24px;
}
.conciergeCard {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 18px;
  background: #FAF8F5;
  border: 1px solid #EAE4DA;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.conciergeCard:hover {
  background: #FFFFFF;
  border-color: #8C6D46;
  transform: translateX(4px);
  box-shadow: 0 6px 18px rgba(14, 22, 34, 0.06);
}
.conciergeIconDisc {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #0E1622;
  color: #FAF8F5;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.3s ease;
}
.conciergeCard:hover .conciergeIconDisc {
  background: #8C6D46;
  color: #FFFFFF;
}
.conciergeCardTitle {
  font-family: 'Montserrat', sans-serif;
  font-size: 12.5px;
  font-weight: 600;
  color: #0E1622;
  display: block;
}
.conciergeCardSub {
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 400;
  color: #647586;
  display: block;
  margin-top: 2px;
}
.conciergeBadge {
  font-family: 'Montserrat', sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #8C6D46;
  background: #F0EAE1;
  padding: 3px 8px;
  border-radius: 20px;
  margin-left: auto;
  text-transform: uppercase;
  flex-shrink: 0;
}
.conciergeAssurances {
  display: flex;
  flex-direction: column;
  gap: 8px;
  border-top: 1px solid #ECE6DC;
  padding-top: 18px;
}
.assuranceItem {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Montserrat', sans-serif;
  font-size: 11.5px;
  font-weight: 500;
  color: #556677;
}
.assuranceItem svg {
  color: #8C6D46;
  flex-shrink: 0;
}

/* Right Column: Clean Minimalist VIP Booking Form */
.minimalFormCol {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.minimalFormHeader {
  margin-bottom: 18px;
}
.minimalFormTitle {
  font-family: 'Montserrat', sans-serif;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #8C6D46;
  margin-bottom: 4px;
  display: block;
}
.minimalFormSub {
  font-family: 'Qunotz', 'Sogo', serif;
  font-size: clamp(22px, 2vw, 26px);
  font-weight: 300;
  color: #0E1622;
  margin: 0;
  line-height: 1.25;
}
.minimalFormIntro {
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 400;
  color: #647586;
  margin-top: 6px;
  line-height: 1.5;
}

/* Quick Select Property Chips */
.formPrefWrapper {
  margin-bottom: 18px;
}
.chipsLabel {
  font-family: 'Montserrat', sans-serif;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #4A5A6A;
  display: inline-block;
  margin-bottom: 8px;
}
.formPrefChips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.formPrefChips .prefChip {
  font-family: 'Montserrat', sans-serif;
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #2D3A49;
  background: #F7F5F0;
  border: 1px solid #DCD5C9;
  border-radius: 20px;
  padding: 6px 14px;
  cursor: pointer;
  transition: all 0.2s ease;
  line-height: 1.3;
}
.formPrefChips .prefChip:hover {
  background: #FFFFFF;
  border-color: #0E1622;
  color: #0E1622;
}
.formPrefChips .prefChip.active {
  background: #0E1622;
  color: #FCFAF5;
  border-color: #0E1622;
  font-weight: 600;
  box-shadow: 0 3px 8px rgba(14, 22, 34, 0.16);
}

/* Input Fields */
.minimalInputRow {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 14px;
}
.contactMinimalWrap .minimalInputGroup {
  margin-bottom: 0;
  position: relative;
}
.contactMinimalWrap .minimalInputGroup label {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #2D3A49;
  margin-bottom: 5px;
}
.contactMinimalWrap .minimalInputGroup input,
.contactMinimalWrap .minimalInputGroup select {
  width: 100% !important;
  box-sizing: border-box !important;
  background: #FFFFFF !important;
  border: 1px solid #D6CFBF !important;
  border-radius: 6px !important;
  padding: 10px 14px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  color: #0E1622 !important;
  outline: none !important;
  height: 42px !important;
  line-height: normal !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}
.contactMinimalWrap .minimalInputGroup input:focus,
.contactMinimalWrap .minimalInputGroup select:focus {
  border-color: #0E1622 !important;
  box-shadow: 0 0 0 3px rgba(14, 22, 34, 0.07) !important;
}
.contactMinimalWrap .minimalInputGroup input::placeholder {
  color: #929FA9 !important;
  font-weight: 300 !important;
}
.contactMinimalWrap .input-highlight {
  animation: prefHighlight 1s ease;
}
@keyframes prefHighlight {
  0% { border-color: #8C6D46 !important; box-shadow: 0 0 0 3px rgba(140, 109, 70, 0.25) !important; }
  100% { border-color: #D6CFBF !important; box-shadow: none !important; }
}

/* Scoped resets for .contactMinimalWrap to neutralize legacy #form wpforms styles */
.contactMinimalWrap .wpforms-container {
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}
.contactMinimalWrap .wpforms-field-container {
  display: block !important;
  width: 100% !important;
}
.contactMinimalWrap .wpforms-field {
  width: 100% !important;
  position: relative !important;
  left: auto !important;
  top: auto !important;
  margin-bottom: 0 !important;
}
.contactMinimalWrap .minimalInputRow .wpforms-field {
  width: 100% !important;
  margin-bottom: 0 !important;
}

/* Textarea */
.contactMinimalWrap .wpforms-field-textarea {
  margin-bottom: 12px !important;
  margin-top: 0 !important;
}
.contactMinimalWrap textarea {
  width: 100% !important;
  box-sizing: border-box !important;
  height: 64px !important;
  min-height: 64px !important;
  background: #FFFFFF !important;
  border: 1px solid #D6CFBF !important;
  border-radius: 6px !important;
  padding: 10px 14px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  color: #0E1622 !important;
  outline: none !important;
  resize: none !important;
  line-height: 1.5 !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}
.contactMinimalWrap textarea:focus {
  border-color: #0E1622 !important;
  box-shadow: 0 0 0 3px rgba(14, 22, 34, 0.07) !important;
}
.contactMinimalWrap textarea::placeholder {
  color: #929FA9 !important;
  font-weight: 300 !important;
}

/* GDPR Checkbox */
.contactMinimalWrap .wpforms-field-gdpr-checkbox {
  margin-bottom: 16px !important;
}
.contactMinimalWrap .wpforms-field-gdpr-checkbox ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.contactMinimalWrap .wpforms-field-gdpr-checkbox li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
}
.contactMinimalWrap .wpforms-field-gdpr-checkbox input[type="checkbox"] {
  margin-top: 3px !important;
  width: 15px !important;
  height: 15px !important;
  accent-color: #0E1622 !important;
  flex-shrink: 0 !important;
  cursor: pointer !important;
}
.contactMinimalWrap .wpforms-field-gdpr-checkbox label {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  color: #647586 !important;
  line-height: 1.5 !important;
  cursor: pointer !important;
}

/* Submit Button */
.contactMinimalWrap .wpforms-submit-container {
  display: block !important;
  width: 100% !important;
}
.contactMinimalWrap .wpforms-submit {
  background-image: none !important;
  width: 100% !important;
  height: auto !important;
}
.contactMinimalWrap .minimalSubmitBtn {
  width: 100% !important;
  height: 48px !important;
  padding: 0 24px !important;
  background: #0E1622 !important;
  color: #FCFAF5 !important;
  border: 1px solid #0E1622 !important;
  border-radius: 6px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  margin-top: 4px !important;
}
.contactMinimalWrap .minimalSubmitBtn:hover {
  background: #8C6D46 !important;
  border-color: #8C6D46 !important;
  color: #FFFFFF !important;
  box-shadow: 0 6px 20px rgba(140, 109, 70, 0.25) !important;
  transform: translateY(-1px) !important;
}

/* Responsive adjustments */
@media (max-width: 900px) {
  .contactMinimalWrap {
    grid-template-columns: 1fr;
    gap: 36px;
    padding: 32px 24px;
  }
  .contactConciergeCol {
    border-right: none;
    border-bottom: 1px solid #ECE6DC;
    padding-right: 0;
    padding-bottom: 30px;
  }
  .minimalInputRow {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

/* ==========================================================================
   §P — STANDALONE PROPERTY SHOWCASE PAGES
   ========================================================================== */
.propPageHeader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  background: rgba(248, 244, 236, 0.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--color-warm-taupe-light);
  padding: 14px 0;
}
.propHeaderInner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.propBackHome {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--color-midnight-ocean);
  text-decoration: none;
  transition: color 0.3s ease;
}
.propBackHome:hover {
  color: var(--color-warm-taupe-rich);
}
.propBrandTitle {
  font-family: 'Qunotz', 'Sogo', serif;
  font-size: 18px;
  letter-spacing: 0.1em;
  color: var(--color-midnight-ocean);
  text-decoration: none;
}
.propHeaderActions {
  display: flex;
  align-items: center;
  gap: 12px;
}
.propHeroBanner {
  padding: 130px 0 60px;
  background: var(--color-cream-ivory);
}
.propHeroBanner--video {
  position: relative;
  overflow: hidden;
  min-height: 80vh;
  display: flex;
  align-items: center;
  padding: 150px 0 80px;
  background: var(--color-midnight-ocean);
}
.propHeroVideoWrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 0;
}

.propHeroSpecsBar--dark {
  border-top: 1px solid rgba(188, 168, 147, 0.35) !important;
  border-bottom: 1px solid rgba(188, 168, 147, 0.35) !important;
}
.propHeroSpecsBar--dark .propSpecLabel {
  color: var(--color-warm-taupe) !important;
}
.propHeroSpecsBar--dark .propSpecVal {
  color: #FCFAF5 !important;
}
.propHeroSpecsBar--dark .propSpecItem {
  border-right-color: rgba(188, 168, 147, 0.25) !important;
}
/* ═════════════════════════════════════════════════════════════════
   CINEMATIC HERO TEXT FADE-IN & ENTRANCE ANIMATIONS
   (Matching Homepage Hero Section Transitions and Easing)
   ═════════════════════════════════════════════════════════════════ */
@keyframes heroTextFadeUp {
  0% {
    opacity: 0;
    transform: translateY(28px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes heroVideoZoomFade {
  0% {
    opacity: 0;
    transform: scale(1.08);
  }
  100% {
    opacity: 1;
    transform: scale(1.0);
  }
}

@keyframes heroOverlayReveal {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.propHeroBanner .propBreadcrumb,
.propHeroBanner--video .propBreadcrumb {
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-warm-taupe-rich);
  margin-bottom: 16px;
  opacity: 0;
  animation: heroTextFadeUp 1200ms cubic-bezier(0.19, 1, 0.22, 1) 200ms forwards;
}

.propHeroBanner .propHeroTitle,
.propHeroBanner--video .propHeroTitle {
  font-family: 'Qunotz', 'Sogo', serif;
  font-size: clamp(32px, 3.8vw, 56px);
  font-weight: 300;
  color: var(--color-midnight-ocean);
  line-height: 1.15;
  margin-bottom: 16px;
  opacity: 0;
  animation: heroTextFadeUp 1400ms cubic-bezier(0.19, 1, 0.22, 1) 400ms forwards;
}

.propHeroBanner .propHeroSubtitle,
.propHeroBanner--video .propHeroSubtitle {
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 300;
  color: var(--color-dusk-blue);
  max-width: 780px;
  line-height: 1.8;
  margin-bottom: 30px;
  opacity: 0;
  animation: heroTextFadeUp 1400ms cubic-bezier(0.19, 1, 0.22, 1) 650ms forwards;
}

.propHeroBanner .propHeroSpecsBar,
.propHeroBanner--video .propHeroSpecsBar {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  padding: 24px 0;
  border-top: 1px solid var(--color-warm-taupe-light);
  border-bottom: 1px solid var(--color-warm-taupe-light);
  opacity: 0;
  animation: heroTextFadeUp 1400ms cubic-bezier(0.19, 1, 0.22, 1) 900ms forwards;
}

.propHeroVideoEl {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  display: block;
  opacity: 0;
  animation: heroVideoZoomFade 2000ms cubic-bezier(0.19, 1, 0.22, 1) 50ms forwards;
}

.propHeroVideoOverlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(14, 22, 34, 0.65) 0%, rgba(14, 22, 34, 0.78) 50%, rgba(14, 22, 34, 0.92) 100%);
  z-index: 1;
  opacity: 0;
  animation: heroOverlayReveal 1600ms cubic-bezier(0.19, 1, 0.22, 1) 50ms forwards;
}

@media (prefers-reduced-motion: reduce) {
  .propHeroBanner .propBreadcrumb,
  .propHeroBanner--video .propBreadcrumb,
  .propHeroBanner .propHeroTitle,
  .propHeroBanner--video .propHeroTitle,
  .propHeroBanner .propHeroSubtitle,
  .propHeroBanner--video .propHeroSubtitle,
  .propHeroBanner .propHeroSpecsBar,
  .propHeroBanner--video .propHeroSpecsBar,
  .propHeroVideoEl,
  .propHeroVideoOverlay {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }
}
.propSpecItem {
  display: flex;
  flex-direction: column;
  padding-right: 32px;
  border-right: 1px solid var(--color-warm-taupe-light);
}
.propSpecItem:last-child {
  border-right: none;
}
.propSpecLabel {
  font-family: 'Montserrat', sans-serif;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--color-warm-taupe-rich);
  margin-bottom: 4px;
}
.propSpecVal {
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: var(--color-midnight-ocean);
}
.propGalleryGridSection {
  padding: 50px 0 80px;
  background: var(--color-cream-ivory-surface);
}
.propGalleryMasonry {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 20px;
}
.propGalleryItem {
  position: relative;
  border-radius: 6px;
  overflow: hidden;
  height: 280px;
  background: var(--color-midnight-ocean);
}
.propGalleryItem img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
.propGalleryItem:hover img {
  transform: scale(1.05);
}
.propVideoShowcase {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  background: var(--color-midnight-ocean-deep);
  margin: 40px 0;
  box-shadow: 0 16px 60px rgba(14, 22, 34, 0.2);
}
.propVideoShowcase video {
  width: 100%;
  max-height: 640px;
  object-fit: cover;
  display: block;
}

/* Responsive Overrides */
@media (max-width: 1024px) {
  .collectionCardSplit {
    flex-direction: column;
  }
  .collectionMediaWrap {
    flex: none;
    height: 45vw;
    min-height: 280px;
  }
  .contactMinimalWrap {
    grid-template-columns: 1fr;
    padding: 36px 24px;
  }
  .contactConciergeCol {
    border-right: none;
    border-bottom: 1px solid var(--color-warm-taupe-light);
    padding-right: 0;
    padding-bottom: 30px;
  }
}
@media (max-width: 768px) {
  .collectionInfoWrap {
    padding: 30px 20px;
  }
  .minimalInputRow {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .propHeroSpecsBar {
    flex-direction: column;
    gap: 12px;
  }
  .propSpecItem {
    border-right: none;
    border-bottom: 1px solid var(--color-warm-taupe-light);
    padding-bottom: 10px;
  }
  .propGalleryMasonry {
    grid-template-columns: 1fr;
  }
}

/* ═════════════════════════════════════════════════════════════════
   GLOBAL HIGH-PERFORMANCE GPU SCROLL ANIMATIONS & MICRO-INTERACTIONS
   ═════════════════════════════════════════════════════════════════ */
.reveal-init {
  opacity: 0;
  transform: translate3d(0, 32px, 0);
  transition: opacity 850ms cubic-bezier(0.19, 1, 0.22, 1), transform 850ms cubic-bezier(0.19, 1, 0.22, 1);
  transition-delay: var(--stagger-delay, 0ms);
  will-change: opacity, transform;
}

.reveal-init.is-revealed {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
}

/* Scale-in reveal (for video showcases and featured frames) */
.reveal-scale {
  opacity: 0;
  transform: scale(0.95) translate3d(0, 24px, 0);
  transition: opacity 900ms cubic-bezier(0.19, 1, 0.22, 1), transform 900ms cubic-bezier(0.19, 1, 0.22, 1);
  transition-delay: var(--stagger-delay, 0ms);
  will-change: opacity, transform;
}

.reveal-scale.is-revealed {
  opacity: 1 !important;
  transform: scale(1) translate3d(0, 0, 0) !important;
}

/* Directional lateral reveals */
.reveal-left {
  opacity: 0;
  transform: translate3d(-35px, 0, 0);
  transition: opacity 900ms cubic-bezier(0.19, 1, 0.22, 1), transform 900ms cubic-bezier(0.19, 1, 0.22, 1);
  will-change: opacity, transform;
}

.reveal-left.is-revealed {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
}

.reveal-right {
  opacity: 0;
  transform: translate3d(35px, 0, 0);
  transition: opacity 900ms cubic-bezier(0.19, 1, 0.22, 1), transform 900ms cubic-bezier(0.19, 1, 0.22, 1);
  will-change: opacity, transform;
}

.reveal-right.is-revealed {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
}

/* Luxury Micro-Interactions & Hover Polish */
.propGalleryItem {
  overflow: hidden;
  border-radius: 6px;
  background: var(--color-warm-taupe-light);
  transform: translate3d(0, 30px, 0);
  opacity: 0;
  transition: opacity 800ms cubic-bezier(0.19, 1, 0.22, 1), transform 800ms cubic-bezier(0.19, 1, 0.22, 1), box-shadow 400ms ease;
  transition-delay: var(--stagger-delay, 0ms);
  will-change: opacity, transform;
}

.propGalleryItem.is-revealed {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
}

.propGalleryItem img {
  transition: transform 700ms cubic-bezier(0.19, 1, 0.22, 1), filter 500ms ease;
  will-change: transform;
}

.propGalleryItem:hover {
  box-shadow: 0 16px 36px rgba(14, 22, 34, 0.16);
}

.propGalleryItem:hover img {
  transform: scale(1.04);
}

.bentoCard {
  transition: transform 500ms cubic-bezier(0.19, 1, 0.22, 1), box-shadow 500ms cubic-bezier(0.19, 1, 0.22, 1);
  will-change: transform;
}

.bentoCard:hover {
  transform: translate3d(0, -6px, 0);
  box-shadow: 0 20px 40px rgba(14, 22, 34, 0.2);
}

.statCard {
  transition: transform 450ms cubic-bezier(0.19, 1, 0.22, 1), border-color 300ms ease, box-shadow 450ms ease;
  will-change: transform;
}

.statCard:hover {
  transform: translate3d(0, -4px, 0);
  box-shadow: 0 12px 28px rgba(14, 22, 34, 0.08);
}

.collectionTab {
  transition: all 300ms cubic-bezier(0.19, 1, 0.22, 1);
  will-change: transform;
}

.collectionTab:hover {
  transform: translate3d(0, -2px, 0);
}

.btnPrimaryLuxury,
.btnSecondaryOutline,
.quickCallBtn,
.quickVisitBtn {
  transition: all 350ms cubic-bezier(0.19, 1, 0.22, 1);
  will-change: transform;
}

.btnPrimaryLuxury:hover,
.quickCallBtn:hover,
.quickVisitBtn:hover {
  transform: translate3d(0, -2px, 0);
  box-shadow: 0 8px 20px rgba(14, 22, 34, 0.18);
}

/* Accessibility: Graceful Reduced Motion */
@media (prefers-reduced-motion: reduce) {
  .reveal-init,
  .reveal-scale,
  .reveal-left,
  .reveal-right,
  .propGalleryItem,
  .bentoCard,
  .statCard,
  .tilt-card {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }
  #scrollProgressBar {
    display: none !important;
  }
}

/* ═════════════════════════════════════════════════════════════════
   MAXIMUM LUXURY ANIMATIONS SUITE (Awwwards Grade Micro-Interactions)
   ═════════════════════════════════════════════════════════════════ */

/* 1. Real-Time Luxury Gold Reading Scroll Progress Bar */
#scrollProgressBar {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  width: 0%;
  z-index: 99999;
  background: linear-gradient(90deg, #BCA893 0%, #F5EFE4 45%, #DFD2BE 70%, #BCA893 100%);
  box-shadow: 0 0 10px rgba(188, 168, 147, 0.6), 0 0 4px rgba(252, 250, 245, 0.8);
  pointer-events: none;
  transition: width 80ms ease-out;
}

/* 2. Interactive 3D Perspective Card Tilt */
.tilt-card {
  transform-style: preserve-3d;
  perspective: 1000px;
  transition: transform 200ms cubic-bezier(0.19, 1, 0.22, 1), box-shadow 300ms ease;
  will-change: transform;
}

/* 3. Gold Foil Light Shimmer Sweep on Luxury Badges */
@keyframes shimmerSweep {
  0% {
    transform: translateX(-150%) skewX(-20deg);
  }
  100% {
    transform: translateX(200%) skewX(-20deg);
  }
}

.bentoBadge,
.collectionBadge,
.sectionOverline,
.propBreadcrumb {
  position: relative;
  overflow: hidden;
}

.bentoBadge::after,
.collectionBadge::after,
.sectionOverline::after,
.propBreadcrumb::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 60%;
  height: 100%;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.35) 50%, transparent 100%);
  animation: shimmerSweep 4.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  pointer-events: none;
}

/* 4. Live Ambient Radar Beacon Pulse on Concierge Desk */
@keyframes pingRadar {
  0% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7);
  }
  70% {
    transform: scale(1);
    box-shadow: 0 0 0 10px rgba(37, 211, 102, 0);
  }
  100% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
  }
}

.beacon-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #25D366;
  border-radius: 50%;
  margin-right: 6px;
  animation: pingRadar 2s infinite ease-in-out;
  vertical-align: middle;
}

.quickCallBtn[href*="wa.me"] {
  animation: pingRadar 3.2s infinite ease-in-out;
}

/* 5. Section Divider Expanding Hairline */
.animDivider {
  height: 1px;
  width: 100%;
  max-width: 90vw;
  background: linear-gradient(90deg, transparent 0%, rgba(188, 168, 147, 0.4) 50%, transparent 100%);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 1200ms cubic-bezier(0.19, 1, 0.22, 1);
  margin: 50px auto;
  will-change: transform;
}

.animDivider.is-revealed {
  transform: scaleX(1) !important;
}

/* 6. Interactive Fullscreen Photo Lightbox Modal */
.luxuryLightbox {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(14, 22, 34, 0.95);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  z-index: 100000;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 400ms cubic-bezier(0.19, 1, 0.22, 1);
  padding: 30px;
  box-sizing: border-box;
}

.luxuryLightbox.active {
  opacity: 1;
  pointer-events: auto;
}

.luxuryLightboxImg {
  max-width: 92vw;
  max-height: 82vh;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.75), 0 0 30px rgba(188, 168, 147, 0.2);
  transform: scale(0.92);
  transition: transform 400ms cubic-bezier(0.19, 1, 0.22, 1);
}

.luxuryLightbox.active .luxuryLightboxImg {
  transform: scale(1);
}

.luxuryLightboxCaption {
  margin-top: 18px;
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  letter-spacing: 0.1em;
  color: var(--color-warm-taupe-light);
  text-align: center;
}

.luxuryLightboxClose {
  position: absolute;
  top: 24px;
  right: 28px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(188, 168, 147, 0.35);
  color: #FCFAF5;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 300ms ease;
  font-size: 24px;
  line-height: 1;
}

.luxuryLightboxClose:hover {
  background: rgba(188, 168, 147, 0.35);
  transform: scale(1.08) rotate(90deg);
}

/* 7. Floating Back to Top Button with Circular SVG Scroll Meter */
#backToTopBtn {
  position: fixed;
  bottom: 85px;
  right: 28px;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: rgba(14, 22, 34, 0.88);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(188, 168, 147, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transform: translate3d(0, 16px, 0);
  transition: all 400ms cubic-bezier(0.19, 1, 0.22, 1);
  color: #FCFAF5;
  box-shadow: 0 10px 24px rgba(14, 22, 34, 0.3);
}

#backToTopBtn.visible {
  opacity: 1;
  pointer-events: auto;
  transform: translate3d(0, 0, 0);
}

#backToTopBtn:hover {
  transform: translate3d(0, -4px, 0);
  background: #0E1622;
  border-color: var(--color-warm-taupe);
  box-shadow: 0 14px 30px rgba(14, 22, 34, 0.45), 0 0 16px rgba(188, 168, 147, 0.35);
}

#backToTopBtn svg.progress-ring {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

#backToTopBtn circle.progress-ring__circle {
  stroke-dasharray: 138;
  stroke-dashoffset: 138;
  stroke: var(--color-warm-taupe);
  stroke-width: 2.5;
  fill: transparent;
  transition: stroke-dashoffset 80ms ease-out;
}

/* ═══════════════════════════════════════════
   CATEGORY SHOWCASE — PLOTS, VILLAS, FLATS (NO THUMBNAILS)
   ═══════════════════════════════════════════ */
.devCategorySection {
  padding: 100px 0 110px;
  background-color: var(--color-cream-ivory);
  position: relative;
  border-top: 1px solid rgba(188, 168, 147, 0.2);
  border-bottom: 1px solid rgba(188, 168, 147, 0.2);
}

.categoryGrid3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin-top: 48px;
}

@media (max-width: 1024px) {
  .categoryGrid3 {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

.categoryCardItem {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: var(--color-cream-ivory-surface);
  border: 1px solid rgba(188, 168, 147, 0.35);
  border-radius: 4px;
  padding: 48px 36px 40px;
  text-decoration: none;
  color: var(--color-midnight-ocean);
  position: relative;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 4px 20px rgba(14, 22, 34, 0.04);
  overflow: hidden;
}

.categoryCardItem::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--color-warm-taupe), transparent);
  opacity: 0;
  transition: opacity 0.4s ease;
}

.categoryCardItem:hover {
  transform: translateY(-8px);
  border-color: var(--color-warm-taupe);
  box-shadow: 0 20px 45px rgba(14, 22, 34, 0.09);
}

.categoryCardItem:hover::before {
  opacity: 1;
}

.categoryCardTop {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
}

.categoryCardNum {
  font-family: 'Qunotz', 'Sogo', serif;
  font-size: 15px;
  color: var(--color-warm-taupe);
  letter-spacing: 0.18em;
  font-weight: 400;
}

.categoryCardTag {
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--color-dusk-blue);
  background: rgba(80, 101, 121, 0.08);
  padding: 5px 12px;
  border-radius: 2px;
}

.categoryCardTitle {
  font-family: 'Qunotz', 'Sogo', serif;
  font-size: clamp(2.2rem, 3.2vw, 2.9rem);
  font-weight: 300;
  letter-spacing: 0.05em;
  color: var(--color-midnight-ocean);
  margin-bottom: 16px;
  line-height: 1.12;
}

.categoryCardDesc {
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.75;
  color: rgba(14, 22, 34, 0.72);
  margin-bottom: 28px;
}

.categoryCardPills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 34px;
}

.categoryPill {
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--color-midnight-ocean);
  background: rgba(188, 168, 147, 0.14);
  border: 1px solid rgba(188, 168, 147, 0.28);
  padding: 6px 14px;
  border-radius: 2px;
}

.categoryCardAction {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-midnight-ocean);
  padding-top: 22px;
  border-top: 1px solid rgba(188, 168, 147, 0.22);
  transition: all 0.3s ease;
}

.categoryCardItem:hover .categoryCardAction {
  color: var(--color-warm-taupe-rich);
  gap: 18px;
}

.categoryCardAction svg {
  transition: transform 0.3s ease;
}

.categoryCardItem:hover .categoryCardAction svg {
  transform: translateX(6px);
}



