/* ==========================================================================
   Attalika LP — preview overrides for the OLD (Elementor) design.
   Loaded by preview.php, which streams the live site through and injects this
   sheet plus the matching /at-assets/attalika-lp.js.
   Sections: normalising type/buttons · sticky header · walkthrough film ·
   gallery carousel + lightbox · hero banner slider · footer social/phone ·
   mobile sticky CTA + tap-to-call.
   ========================================================================== */

h1,h2,h3,h4,h5,h6,.elementor-heading-title,.elementor-icon-box-title,.elementor-icon-box-title span{
  font-family:"Cormorant Garamond",Georgia,serif !important;
  letter-spacing:.005em;
}
.elementor-icon-box-title,.elementor-icon-box-title span{
  font-size:19px !important;
  line-height:1.4 !important;
  font-weight:500 !important;
}
.elementor-widget-text-editor,.elementor-widget-text-editor p,.at-desc,.wpcf7-form,.elementor-icon-list-text,.elementor-button,.at-cta,.at-eyebrow{
  font-family:"Jost",system-ui,sans-serif !important;
}
.elementor-widget-text-editor,.elementor-widget-text-editor p,.at-desc{
  font-size:15px !important;
  line-height:1.8 !important;
  letter-spacing:.01em;
}
.elementor-button,.at-cta,.wpcf7-submit,.wpcf7-form input[type="submit"]{
  background:linear-gradient(90deg,#87401C 0%,#AF653A 23%,#CE8852 43%,#E39B65 65%,#C2784D 85%,#AE643B 100%) !important;
  color:#fff !important;
  font-family:"Jost",sans-serif !important;
  font-size:clamp(9px,.72vw,11.5px) !important;
  font-weight:500 !important;
  letter-spacing:.11em !important;
  text-transform:uppercase !important;
  padding:clamp(8px,.75vw,11px) clamp(15px,1.5vw,26px) !important;
  border:none !important;
  border-radius:0 !important;
  display:inline-block !important;
  text-decoration:none !important;
  line-height:1.25 !important;
  box-shadow:none !important;
  cursor:pointer;
  width:auto !important;
}
.elementor-element-d4f1d04{
  align-items:stretch !important;
}
.elementor-element-3da4555{
  align-self:stretch !important;
}
.elementor-element-3da4555 .elementor-widget-image,.elementor-element-3da4555 .elementor-widget-image .elementor-widget-container,.elementor-element-3da4555 .elementor-widget-image a,.elementor-element-3da4555 .elementor-widget-image figure{
  height:100% !important;
  margin:0 !important;
}
.elementor-element-3da4555 .elementor-widget-image img{
  height:100% !important;
  width:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block;
}
.elementor-element-3da4555 .elementor-widget-image .elementor-widget-container{
  position:relative;
}
.elementor-element-3da4555 .elementor-widget-image .elementor-widget-container::after{
  content:"Shot on Location";
  position:absolute;
  right:14px;
  bottom:14px;
  z-index:3;
  font-family:"Jost",system-ui,sans-serif;
  font-size:.6rem;
  font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#f3ece0;
  background:rgba(20,16,12,.88);
  border:1px solid rgba(201,162,75,.5);
  padding:.4rem .75rem;
  pointer-events:none;
}
.at-hdr-logo{
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
/* Full-colour brand asset on a transparent ground — shown as-is (the previous artwork was
   dark-on-transparent and had to be inverted to white to read on the dark header). */
.at-hdr-logo img{
  width:clamp(92px,8.5vw,128px);
  height:auto;
  display:block;
}
.at-hdr-logo--m{
  display:none;
}
@media(max-width:1024px){
  .elementor-element-3f68655{
    position:relative !important;
  }
  .at-hdr-logo--m{
    display:flex !important;
    position:absolute !important;
    right:16px;
    top:50%;
    transform:translateY(-50%);
    margin:0 !important;
    align-items:center;
  }
  .at-hdr-logo--m img{
    width:clamp(72px,17vw,100px);
  }
}
@media(max-width:860px){
  .elementor-element-3da4555 .elementor-widget-image img{
    height:auto !important;
  }
}
.elementor-element-cbc8730{
  position:sticky !important;
  top:0 !important;
  z-index:9990 !important;
  padding-right:72px !important;
  transition:background .45s ease,backdrop-filter .45s ease,box-shadow .45s ease !important;
}
.elementor-element-cbc8730.at-hdr-scrolled{
  background:rgba(18,13,9,.55) !important;
  -webkit-backdrop-filter:blur(14px) saturate(1.2) !important;
  backdrop-filter:blur(14px) saturate(1.2) !important;
  box-shadow:0 6px 26px rgba(0,0,0,.28) !important;
}
@media(max-width:1024px){
  .elementor-element-da7e298{
    position:static !important;
  }
  .elementor-element-3f68655{
    position:sticky !important;
    top:0 !important;
    z-index:9990 !important;
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    transition:background .45s ease,backdrop-filter .45s ease,box-shadow .45s ease !important;
  }
  .elementor-element-3f68655.at-hdr-scrolled{
    background:rgba(18,13,9,.82) !important;
    -webkit-backdrop-filter:blur(14px) saturate(1.2) !important;
    backdrop-filter:blur(14px) saturate(1.2) !important;
    box-shadow:0 6px 22px rgba(0,0,0,.28) !important;
  }
}
.elementor-icon-list-icon{
  width:auto !important;
  margin-right:7px !important;
}
.elementor-icon-list-icon svg{
  width:26px !important;
  height:26px !important;
  vertical-align:middle;
}
.elementor-widget-icon-list .elementor-icon-list-text{
  font-family:"Jost",system-ui,sans-serif !important;
  font-size:17px !important;
  line-height:1.5 !important;
  font-weight:400 !important;
  letter-spacing:.015em !important;
  color:#EAE3D6 !important;
}
.elementor-widget-icon-list .elementor-icon-list-item{
  margin-bottom:6px !important;
  align-items:center !important;
}
.elementor-element-a2aeebf{
  display:none !important;
}
.elementor-element-44faee8{
  max-width:100% !important;
  width:100% !important;
  margin:0 !important;
  padding-left:5% !important;
  padding-right:5% !important;
  box-sizing:border-box !important;
  justify-content:space-between !important;
  gap:clamp(1.5rem,3vw,3.2rem) !important;
}
.elementor-element-6268201{
  align-items:stretch !important;
}
.elementor-element-06548be,.elementor-element-936127b{
  width:50% !important;
  flex:1 1 50% !important;
  max-width:50% !important;
}
#overview-form .elementor-heading-title{
  font-size:clamp(1.7rem,2.7vw,2.7rem) !important;
  line-height:1.12 !important;
}
.at-modal{
  position:fixed;
  inset:0;
  z-index:100000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.at-modal.at-open{
  display:flex;
}
.at-modal__bg{
  position:absolute;
  inset:0;
  background:rgba(12,9,6,.72);
}
.at-modal__panel{
  position:relative;
  background:#fff;
  width:100%;
  max-width:460px;
  padding:42px 38px;
  box-shadow:0 30px 90px rgba(0,0,0,.45);
  animation:at-pop .35s cubic-bezier(.22,1,.36,1);
}
@keyframes at-pop{
  from{
    opacity:0;
    transform:translateY(18px)
  }
  to{
    opacity:1;
    transform:none
  }
}
.at-modal__close{
  position:absolute;
  top:12px;
  right:16px;
  font-size:28px;
  line-height:1;
  color:#87401C;
  background:none;
  border:0;
  cursor:pointer;
}
.at-modal__title{
  font-family:"Trirong",serif;
  font-weight:400;
  font-size:28px;
  color:#87401C;
  margin:0 0 6px;
}
.at-modal__sub{
  font-family:"Open Sans",sans-serif;
  font-size:14px;
  color:#666;
  margin:0 0 24px;
}
.at-modal__panel input{
  width:100%;
  padding:13px 15px;
  margin-bottom:14px;
  border:1px solid #dcdcdc;
  font-family:"Open Sans",sans-serif;
  font-size:14px;
  box-sizing:border-box;
}
.at-modal__panel input:focus{
  outline:none;
  border-color:#C2784D;
}
.at-modal__panel button[type=submit]{
  width:100%;
  margin-top:4px;
  background:linear-gradient(90deg,#87401C 0%,#AF653A 23%,#CE8852 43%,#E39B65 65%,#C2784D 85%,#AE643B 100%) !important;
  color:#fff !important;
  border:none !important;
  padding:15px !important;
  font-family:"Open Sans",sans-serif !important;
  font-size:14px !important;
  font-weight:600 !important;
  letter-spacing:1.5px !important;
  text-transform:uppercase !important;
  cursor:pointer;
}
.at-modal__ok{
  font-family:"Open Sans",sans-serif;
  color:#2e7d32;
  font-size:14px;
  text-align:center;
  padding:10px 0;
}
.at-gal-section{
  background:#14100c;
  padding:clamp(4.5rem,9vw,8rem) 0 clamp(3rem,6vw,5.5rem);
  overflow:hidden;
}
.at-gal__head{
  text-align:center;
  margin-bottom:clamp(2.4rem,4.5vw,4rem);
}
.at-gal__eyebrow{
  display:inline-block;
  font-family:"Jost",sans-serif;
  font-size:.72rem;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:#C9A24B;
  margin-bottom:.7rem;
}
.at-gal__title{
  font-family:"Cormorant Garamond",serif;
  font-weight:500;
  font-size:clamp(1.8rem,3.4vw,3rem);
  color:#f3ece0;
  margin:0;
}
.at-gal__stage{
  position:relative;
  height:clamp(320px,46vw,600px);
  margin:0 auto;
  max-width:1500px;
}
.at-gal__track{
  position:absolute;
  inset:0;
}
.at-gal__slide{
  position:absolute;
  top:50%;
  left:50%;
  width:60%;
  height:88%;
  margin:0;
  overflow:hidden;
  transform:translate(-50%,-50%) scale(.78);
  opacity:0;
  transition:transform .7s cubic-bezier(.22,1,.36,1),opacity .7s ease;
  pointer-events:none;
  box-shadow:0 30px 70px rgba(0,0,0,.5);
}
.at-gal__slide img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block;
  position:absolute;
  inset:0;
}
.at-gal__slide.is-active{
  transform:translate(-50%,-50%) scale(1);
  opacity:1;
  z-index:3;
  pointer-events:auto;
  cursor:zoom-in;
}
.at-gal__slide.is-prev{
  transform:translate(-104%,-50%) scale(.8);
  opacity:.4;
  z-index:2;
  filter:brightness(.6);
}
.at-gal__slide.is-next{
  transform:translate(4%,-50%) scale(.8);
  opacity:.4;
  z-index:2;
  filter:brightness(.6);
}
.at-gal__arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:5;
  width:clamp(38px,3.4vw,52px);
  height:clamp(38px,3.4vw,52px);
  border:1px solid rgba(201,162,75,.5);
  border-radius:50%;
  background:rgba(20,16,12,.4);
  color:#C9A24B;
  font-size:1.5rem;
  line-height:1;
  cursor:pointer;
  transition:background .3s,color .3s;
  display:flex;
  align-items:center;
  justify-content:center;
}
.at-gal__arrow:hover{
  background:#C9A24B;
  color:#14100c;
}
.at-gal__prev{
  left:clamp(6px,3vw,40px);
}
.at-gal__next{
  right:clamp(6px,3vw,40px);
}
.elementor-element-181a8a3{
  padding-left:5% !important;
  padding-right:5% !important;
  box-sizing:border-box !important;
}
.at-gal__slidecap{
  position:absolute;
  left:50%;
  bottom:16px;
  transform:translateX(-50%);
  z-index:4;
  background:#f3ece0;
  color:#87401C;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(1rem,1.4vw,1.3rem);
  font-weight:600;
  letter-spacing:.02em;
  padding:.6rem 1.6rem;
  white-space:nowrap;
  opacity:0;
  transition:opacity .5s ease;
}
.at-gal__slide.is-active .at-gal__slidecap{
  opacity:1;
}
.at-gal__shot{
  position:absolute;
  top:12px;
  right:12px;
  z-index:4;
  font-family:"Jost",system-ui,sans-serif;
  font-size:.58rem;
  font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#f3ece0;
  background:rgba(20,16,12,.88);
  border:1px solid rgba(201,162,75,.5);
  padding:.4rem .75rem;
  white-space:nowrap;
  pointer-events:none;
}
@media(max-width:640px){
  .at-gal__shot{
    font-size:.52rem;
    padding:.3rem .55rem;
    top:9px;
    right:9px;
  }
}
.at-walk-section{
  position:relative;
  background:#14100c;
  overflow:hidden;
  padding:clamp(4rem,8vw,7.5rem) 0;
}
.at-walk__bg{
  position:absolute;
  inset:0;
  z-index:0;
}
.at-walk__bg img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  transform:scale(1.15);
  filter:blur(46px) brightness(.26) saturate(.85);
}
.at-walk__bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(rgba(20,16,12,.86),rgba(20,16,12,.92)),radial-gradient(60% 70% at 50% 45%,rgba(201,162,75,.12),transparent 72%);
}
.at-walk__inner{
  position:relative;
  z-index:1;
  max-width:1180px;
  margin:0 auto;
  padding:0 5%;
}
.at-walk__head{
  text-align:center;
  max-width:720px;
  margin:0 auto clamp(2rem,4vw,3rem);
}
.at-walk__lede{
  margin:1.15rem auto 0;
  max-width:58ch;
  font-family:"Jost",system-ui,sans-serif;
  font-size:15px;
  line-height:1.8;
  color:rgba(243,236,224,.7);
}
.at-walk__cta{
  display:inline-flex;
  align-items:center;
  gap:.65rem;
  padding:14px 30px;
  font-family:"Jost",sans-serif;
  font-size:11.5px;
  font-weight:500;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:#fff;
  background:linear-gradient(90deg,#87401C 0%,#AF653A 23%,#CE8852 43%,#E39B65 65%,#C2784D 85%,#AE643B 100%);
  border:none;
  cursor:pointer;
  transition:filter .3s ease,transform .3s ease;
}
.at-walk__cta:hover{
  filter:brightness(1.08);
  transform:translateY(-1px);
}
.at-walk__cta svg{
  width:13px;
  height:13px;
  fill:currentColor;
}
.at-walk__actions{
  text-align:center;
  margin-top:clamp(1.6rem,3vw,2.4rem);
}
.at-walk__stage{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#000;
  border:1px solid rgba(201,162,75,.22);
  box-shadow:0 30px 70px rgba(0,0,0,.5);
}
.at-walk__blur{
  position:absolute;
  inset:0;
  z-index:0;
}
.at-walk__blur img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  transform:scale(1.14);
  filter:blur(26px) brightness(.62) saturate(1);
}
.at-walk__frame{
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  transform:translateX(-50%);
  height:100%;
  aspect-ratio:9/16;
  z-index:1;
  overflow:hidden;
  background:#000;
}
.at-walk__poster{
  position:absolute;
  inset:0;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  transition:opacity .5s ease,transform 1.2s ease,visibility .5s;
}
.at-walk__frame:hover .at-walk__poster{
  transform:scale(1.05);
}
.at-walk__scrim{
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(20,16,12,.6),rgba(20,16,12,.05) 42%,rgba(20,16,12,.34));
  transition:opacity .5s ease,visibility .5s;
}
.at-walk__frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  z-index:4;
}
.at-walk__play{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:center;
  width:clamp(70px,8vw,92px);
  height:clamp(70px,8vw,92px);
  border:0;
  background:none;
  cursor:pointer;
  color:#f3ece0;
  transition:color .4s ease,transform .4s ease;
}
.at-walk__play svg{
  position:relative;
  z-index:2;
  width:24px;
  height:24px;
  margin-left:4px;
  fill:currentColor;
}
.at-walk__ring{
  position:absolute;
  inset:0;
  border-radius:50%;
  background:rgba(20,16,12,.42);
  border:1px solid #C9A24B;
  -webkit-backdrop-filter:blur(4px);
  backdrop-filter:blur(4px);
  transition:background .4s ease,border-color .4s ease;
}
.at-walk__play::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  border:1px solid #C9A24B;
  animation:at-walk-pulse 2.8s cubic-bezier(.22,1,.36,1) infinite;
  pointer-events:none;
}
@keyframes at-walk-pulse{
  0%{
    transform:scale(1);
    opacity:.55
  }
  70%{
    transform:scale(1.55);
    opacity:0
  }
  100%{
    transform:scale(1.55);
    opacity:0
  }
}
.at-walk__play:hover{
  color:#14100c;
  transform:translate(-50%,-50%) scale(1.06);
}
.at-walk__play:hover .at-walk__ring{
  background:linear-gradient(135deg,#87401C 0%,#C2784D 55%,#E39B65 100%);
  border-color:#E39B65;
}
.at-walk__label{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:3;
  padding:2.2rem 1.25rem 1.1rem;
  text-align:center;
  font-family:"Jost",sans-serif;
  font-size:.66rem;
  font-weight:500;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:rgba(243,236,224,.72);
  background:linear-gradient(to top,rgba(20,16,12,.88),transparent);
  transition:opacity .5s ease,visibility .5s;
}
.at-walk__frame.is-playing .at-walk__poster,.at-walk__frame.is-playing .at-walk__scrim,.at-walk__frame.is-playing .at-walk__play,.at-walk__frame.is-playing .at-walk__label{
  opacity:0;
  visibility:hidden;
}
@media(max-width:768px){
  .at-walk__stage{
    aspect-ratio:9/16;
    max-width:340px;
    margin-inline:auto;
  }
  .at-walk__blur{
    display:none;
  }
  .at-walk__frame{
    position:absolute;
    inset:0;
    left:0;
    transform:none;
    width:100%;
    height:100%;
    aspect-ratio:auto;
  }
}
.at-hero2{
  position:relative;
  width:100%;
  overflow:hidden;
  background:#14100c;
  line-height:0;
}
.at-hero2__track{
  position:relative;
  width:100%;
  aspect-ratio:2000/900;
}
.at-hero2__slide{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity 1s ease;
}
.at-hero2__slide.is-active{
  opacity:1;
}
.at-hero2__slide img{
  width:100% !important;
  height:100% !important;
  object-fit:cover;
  display:block;
}
@media(max-width:768px){
  .at-hero2__track{
    aspect-ratio:500/800;
  }
}
.at-hero2__dots{
  position:absolute;
  left:0;
  right:0;
  bottom:clamp(14px,2.5vw,30px);
  z-index:3;
  display:flex;
  gap:9px;
  justify-content:center;
  line-height:0;
}
.at-hero2__dots button{
  width:30px;
  height:3px;
  padding:0;
  border:0;
  background:rgba(255,255,255,.45);
  cursor:pointer;
  transition:background .35s;
}
.at-hero2__dots button.is-active{
  background:#E3C07F;
}
@media(max-width:768px){
  .at-hero2__dots button{
    width:22px;
  }
}
.at-foot-contact{
  display:flex;
  flex-direction:column;
  gap:18px;
  align-items:flex-start;
  align-self:center;
  justify-content:center;
}
.at-foot-phone{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#EAE3D6 !important;
  font-family:"Jost",system-ui,sans-serif !important;
  font-size:16px !important;
  text-decoration:none !important;
  transition:color .3s;
}
.at-foot-phone:hover{
  color:#E3C07F !important;
}
.at-foot-phone svg{
  width:20px;
  height:20px;
  flex:none;
  fill:#C9A24B;
}
.at-foot-social{
  display:flex;
  gap:13px;
  align-items:center;
  flex-wrap:wrap;
}
.at-foot-social a{
  display:inline-flex;
  width:38px;
  height:38px;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(201,162,75,.42);
  border-radius:50%;
  color:#C9A24B !important;
  transition:background .3s,color .3s,border-color .3s;
}
.at-foot-social a:hover{
  background:#C9A24B;
  color:#14100c !important;
  border-color:#C9A24B;
}
.at-foot-social a svg{
  width:17px;
  height:17px;
  fill:currentColor;
}
@media(max-width:768px){
  .at-foot-contact{
    flex-direction:row;
    align-items:center;
    justify-content:center;
    gap:14px;
    flex-wrap:wrap;
    width:100%;
    margin-bottom:10px;
  }
  .at-foot-phone__num{
    display:none;
  }
  .at-foot-phone{
    width:38px;
    height:38px;
    justify-content:center;
    gap:0;
    border:1px solid rgba(201,162,75,.42);
    border-radius:50%;
  }
  .at-foot-phone svg{
    width:17px;
    height:17px;
  }
  .at-foot-phone:hover{
    background:#C9A24B;
  }
  .at-foot-phone:hover svg{
    fill:#14100c;
  }
}
@media(min-width:1025px){
  .elementor-element-cbc8730 a.elementor-button{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-sizing:border-box !important;
    min-width:162px !important;
    min-height:48px !important;
    white-space:nowrap !important;
    font-size:clamp(10px,.85vw,13px) !important;
    letter-spacing:.13em !important;
    padding:clamp(10px,1vw,14px) clamp(18px,1.8vw,30px) !important;
    line-height:1.2 !important;
  }
}
.at-call-fab{
  display:none;
}
@media(max-width:768px){
  .at-call-fab{
    position:fixed;
    right:15px;
    bottom:66px;
    z-index:99997;
    display:flex;
    align-items:center;
    justify-content:center;
    width:52px;
    height:52px;
    border-radius:50%;
    background:linear-gradient(135deg,#87401C 0%,#C2784D 55%,#E39B65 100%);
    box-shadow:0 8px 22px rgba(135,64,28,.5);
    color:#fff;
    text-decoration:none;
  }
  .at-call-fab svg{
    width:23px;
    height:23px;
    fill:#fff;
    position:relative;
    z-index:1;
  }
  .at-call-fab::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:50%;
    border:2px solid rgba(227,192,127,.65);
    animation:at-fab-pulse 2s ease-out infinite;
    pointer-events:none;
  }
}
@keyframes at-fab-pulse{
  0%{
    transform:scale(1);
    opacity:.7
  }
  70%{
    transform:scale(1.6);
    opacity:0
  }
  100%{
    transform:scale(1.6);
    opacity:0
  }
}
.at-gal__cap span{
  display:inline-block;
  min-width:clamp(180px,20vw,300px);
  padding:.7rem 1.6rem;
  background:#f3ece0;
  color:#87401C;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(1rem,1.4vw,1.3rem);
  font-weight:600;
  letter-spacing:.02em;
}
.at-lb{
  position:fixed;
  inset:0;
  z-index:100001;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(8,6,4,.94);
  padding:clamp(1rem,4vw,3rem);
}
.at-lb.at-open{
  display:flex;
}
.at-lb img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  box-shadow:0 20px 60px rgba(0,0,0,.6);
}
.at-lb__x{
  position:absolute;
  top:1.2rem;
  right:1.6rem;
  font-size:2.4rem;
  color:#C9A24B;
  background:none;
  border:0;
  cursor:pointer;
  line-height:1;
}
.at-lb__nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:52px;
  height:52px;
  border:1px solid rgba(201,162,75,.5);
  border-radius:50%;
  background:none;
  color:#C9A24B;
  font-size:2rem;
  cursor:pointer;
}
.at-lb__nav.p{
  left:2%;
}
.at-lb__nav.n{
  right:2%;
}
@media(max-width:860px){
  .at-gal__slide{
    width:82%;
  }
  .at-gal__slide.is-prev{
    transform:translate(-118%,-50%) scale(.82);
  }
  .at-gal__slide.is-next{
    transform:translate(18%,-50%) scale(.82);
  }
}
.at-reveal{
  opacity:0;
  transform:translateY(34px);
  transition:opacity 1.15s cubic-bezier(.16,1,.3,1),transform 1.15s cubic-bezier(.16,1,.3,1);
  will-change:opacity,transform;
}
.at-reveal.at-reveal-img{
  transform:scale(1.07);
}
.at-reveal.at-reveal-img img{
  transition:transform 1.4s cubic-bezier(.16,1,.3,1);
}
.at-reveal.at-in{
  opacity:1 !important;
  transform:none !important;
}
@media(max-width:860px){
  .elementor-element-6268201{
    flex-wrap:wrap !important;
  }
  .elementor-element-06548be,.elementor-element-936127b{
    width:100% !important;
    max-width:100% !important;
    flex:1 1 100% !important;
  }
  .at-config-section{
    padding:2.5rem 4% !important;
  }
  .at-config-section > div{
    flex-direction:column !important;
  }
  .at-config-section > div > div{
    flex:1 1 100% !important;
    width:100% !important;
    min-height:260px !important;
  }
  .at-config-section > div > div:first-child{
    padding:30px 22px !important;
    min-height:0 !important;
  }
  .elementor-element-cbc8730{
    padding-right:20px !important;
  }
}
@media(max-width:768px){
  .elementor-button,.at-cta,.wpcf7-submit,.wpcf7-form input[type="submit"]{
    font-size:12px !important;
    padding:12px 22px !important;
    letter-spacing:.09em !important;
  }
  .at-sticky-cta a{
    font-size:12px !important;
    padding:14px 6px !important;
    letter-spacing:.06em !important;
    flex:1 1 50% !important;
    text-align:center;
  }
}
.elementor-element-de565b9{
  position:relative !important;
  display:block !important;
  padding:58px max(4%,22px) !important;
}
.elementor-element-de565b9 > *:not(.at-contact-map){
  width:48% !important;
  max-width:620px;
  box-sizing:border-box;
  margin-left:0 !important;
}
.at-contact-map{
  position:absolute !important;
  top:58px;
  bottom:58px;
  right:max(4%,22px);
  width:46%;
}
.at-contact-map iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
}
.at-sticky-cta{
  position:fixed;
  left:0;
  right:0;
  bottom:22px;
  z-index:99998;
  display:flex;
  justify-content:space-between;
  padding:0 28px;
  pointer-events:none;
}
.at-sticky-cta a{
  pointer-events:auto;
  padding:clamp(10px,1vw,14px) clamp(18px,1.8vw,30px);
  font-family:"Jost",sans-serif;
  font-size:clamp(10px,.85vw,13px);
  font-weight:600;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:#fff !important;
  text-decoration:none;
  position:relative;
  overflow:hidden;
  border-radius:3px;
  border:1px solid rgba(227,200,127,.55);
  box-shadow:0 8px 26px rgba(135,64,28,.5);
  white-space:nowrap;
}
.at-sticky-cta .at-enq{
  background:linear-gradient(90deg,#87401C 0%,#AF653A 23%,#CE8852 43%,#E39B65 65%,#C2784D 85%,#AE643B 100%);
  animation:at-pulse 2.4s ease-in-out infinite;
}
.at-sticky-cta .at-dl{
  background:linear-gradient(90deg,#87401C 0%,#AF653A 23%,#CE8852 43%,#E39B65 65%,#C2784D 85%,#AE643B 100%);
}
.at-sticky-cta a::after{
  content:"";
  position:absolute;
  top:0;
  left:-60%;
  width:38%;
  height:100%;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.4),transparent);
  transform:skewX(-20deg);
  animation:at-shine 3.4s ease-in-out infinite;
}
.at-sticky-cta .at-dl::after{
  animation-delay:1.2s;
}
@keyframes at-shine{
  0%{
    left:-60%
  }
  55%{
    left:130%
  }
  100%{
    left:130%
  }
}
@keyframes at-pulse{
  0%,100%{
    transform:translateY(0);
    box-shadow:0 8px 22px rgba(0,0,0,.30)
  }
  50%{
    transform:translateY(-2px);
    box-shadow:0 12px 26px rgba(135,64,28,.45)
  }
}
@media(max-width:860px){
  .elementor-element-de565b9 > *:not(.at-contact-map){
    width:100% !important;
    max-width:none;
  }
  .at-contact-map{
    position:static !important;
    width:100%;
    height:300px;
    min-height:300px;
    margin-top:26px;
  }
  .at-sticky-cta{
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    padding:0 !important;
    gap:0 !important;
    justify-content:stretch !important;
    pointer-events:auto;
    box-shadow:0 -4px 20px rgba(0,0,0,.3);
  }
  .at-sticky-cta a{
    flex:1 1 50% !important;
    text-align:center;
    justify-content:center;
    font-size:12px !important;
    letter-spacing:.06em !important;
    padding:15px 6px !important;
    border-radius:0 !important;
    border:none !important;
    box-shadow:none !important;
  }
  .at-sticky-cta a + a{
    border-left:1px solid rgba(255,255,255,.35) !important;
  }
  body{
    padding-bottom:52px;
  }
}

/* ══ Fixes — overview form + Home Loan APF band ═══════════════════════════ */

/* Overview enquiry form. The column is forced to 50% (it was ~454px in the original), and it
   carries no inner padding — so the heading and the three-across field row ran the full 648px
   edge-to-edge with nothing to align to, leaving it looking sparse beside the grey text card.
   Pad it in and cap the form so the fields keep a sensible measure. */
.elementor-element-936127b{
  padding:clamp(1.75rem,3.5vw,3rem) clamp(1.5rem,3vw,2.75rem) !important;
  box-sizing:border-box !important;
  /* A soft panel so the column reads as a deliberate card beside the grey text block. Without it
     the form floated on bare white and the height difference between the two columns looked like
     an unfinished gap rather than layout. */
  background:#F4F1EC !important;
  border:1px solid rgba(135,64,28,.10) !important;
}
.elementor-element-936127b > *{max-width:560px;margin-left:auto;margin-right:auto;}
/* form inputs sit on white so they stay legible against the panel */
.elementor-element-936127b input:not([type=submit]):not([type=checkbox]){background:#fff !important;}

/* Home Loan APF band.
   Elementor lays each container out via a --display custom property written into the page's own
   generated stylesheet (`display: var(--display)` in frontend.min.css). The three containers
   behind this block are absent from that stylesheet, so --display resolved to nothing, the
   declaration became invalid, and they fell back to the initial value `inline`. An inline box
   can't size or pad its block children — which is why the logo carousel ignored its container
   and ran edge-to-edge.
   Restore the container behaviour on just those three (38 of the page's 42 containers are fine),
   then apply the same 5% gutter the rest of the page uses. The hidden mobile twin (b614819) is
   deliberately NOT touched, so it stays hidden on desktop. */
.elementor-element-28cc817,
.elementor-element-a5d04eb,
.elementor-element-1b82d5e{
  display:flex !important;
  flex-direction:column;
  width:100%;
  box-sizing:border-box !important;
}
/* No extra gutter needed: the e-con-inner wrapper already boxes this to Elementor's content
   width (max-width:min(100%,980px)) and centres it — that is its original layout. */
/* keep the swiper from spilling past the newly-restored container */
.elementor-element-28cc817 .elementor-image-carousel-wrapper{max-width:100%;}
@media(max-width:860px){
  .elementor-element-936127b{padding:1.5rem 1.25rem !important;}
  .elementor-element-28cc817{padding-left:5% !important;padding-right:5% !important;}
}

/* ══ Text colour fallbacks (Elementor default accent leaking through) ═════ */
/* These widgets' colour rules are missing from the page's generated Elementor CSS, so they fell
   back to Elementor's stock accent blue (#6EC1E4) — pale grey-on-grey in the features card and
   barely legible on white above the bank logos. Restore the site palette.
   NOTE: the "Bespoke Private Residences" heading also computes to that blue, but its
   -webkit-text-fill-color is transparent (it's painted by a text-fill effect), so it renders
   correctly and is deliberately left untouched. */

/* Feature card titles — on the grey panel, so bone. */
.elementor-icon-box-title,
.elementor-icon-box-title span{color:#EDE7DB !important;}

/* "Home Loan APF by" — on white, so brand bronze. The block exists twice (desktop + a
   hidden mobile twin); 5877528 is the visible one, 4bbd312 the hidden copy — cover both so it
   stays correct if the breakpoints ever swap. */
.elementor-element-5877528 .elementor-heading-title,
.elementor-element-4bbd312 .elementor-heading-title{color:#87401C !important;}

/* ══ Feature-card icon boxes — medium icon, centred with the title ════════ */
/* The medium 60px bronze disc (built in preview.php) sits as a left-icon row, vertically centred
   against its title so a two-line title reads level with the icon on desktop AND mobile — and
   never top-aligned by the first line. Consistent spacing between disc and text on both. */
.elementor-icon-box-wrapper{
  display:flex !important;
  align-items:center !important;
  text-align:left !important;
  gap:16px;
}
.elementor-icon-box-wrapper .elementor-icon-box-icon{
  margin:0 !important;        /* the gap above handles spacing on every breakpoint */
  align-self:center !important;
  flex:none;
}
.elementor-icon-box-wrapper .elementor-icon-box-content{margin:0;}
/* the disc itself: fixed medium size, glyph centred inside with breathing room */
.elementor-icon-box-icon .elementor-icon{width:60px !important;height:60px !important;}
/* Elementor's `.elementor-icon svg{width:1em}` was collapsing the glyph to ~10px (17% of the
   disc) — the reason it looked unpolished at every disc size. Force a proper 28px glyph so it
   fills the disc with balanced breathing room (~47%). */
.elementor-icon-box-icon .elementor-icon svg{width:28px !important;height:28px !important;}
