/*
Theme Name: Arcos Mobile Interior Theme
Theme URI: https://example.com/arcos-mobile-interior-theme
Author: ArcosVision
Description: A refined luxury interior design WordPress theme for Arcos Vision, crafted for Marbella villas, new builds, renovation projects, area guides, project showcases and elegant client enquiries.
Version: 1.8.107
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: arcos-mobile-interior
Tags: custom-logo, custom-menu, one-column, responsive-layout, portfolio, blog, luxury, interior-design, architecture, villa-renovation, marbella, real-estate, editorial
*/

:root{
  --av-black:#11110f;
  --av-black-soft:#181816;
  --av-ink:#1c1b18;
  --av-muted:#6d6860;
  --av-line:rgba(28,27,24,.16);
  --av-white:#f9f7f2;
  --av-cream:#f3efe7;
  --av-stone:#d8cec0;
  --av-sand:#b3a38f;
  --av-gold:#c2ad8a;
  --av-radius:26px;
  --av-radius-small:18px;
  --av-serif:"Didot","Bodoni 72","Baskerville","Times New Roman",serif;
  --av-sans:"Montserrat","Avenir Next","Helvetica Neue",Arial,sans-serif;
  --hero-image:url("/wp-content/uploads/2026/06/home-hero.jpg");
  --about-image:url("/wp-content/uploads/2026/06/home-about-768x501.jpg");
  --cta-image:url("/wp-content/uploads/2026/06/home-master-bedroom-1024x576.jpg");
  --project-image-1:url("/wp-content/uploads/2026/06/home-design-insight-01-768x432.jpg");
  --project-image-2:url("/wp-content/uploads/2026/06/home-master-bedroom-1024x576.jpg");
  --project-image-3:url("/wp-content/uploads/2026/06/home-about-768x501.jpg");
  --area-image:url("/wp-content/uploads/2026/06/home-costa-del-sol-map-1024x691.jpg");
  --blog-image-1:url("/wp-content/uploads/2026/06/home-design-insight-01-768x432.jpg");
  --blog-image-2:url("/wp-content/uploads/2026/06/home-master-bedroom-1024x576.jpg");
  --blog-image-3:url("/wp-content/uploads/2026/06/home-about-768x501.jpg");
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--av-white);
  color:var(--av-ink);
  font-family:var(--av-sans);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.av-menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
button,input,textarea{font:inherit}

.site-shell{min-height:100vh;background:var(--av-white)}
.av-wrap{width:min(100% - 36px,1180px);margin-inline:auto}
.av-section{padding:74px 0}
.av-section-tight{padding:46px 0}
.av-eyebrow{
  display:flex;align-items:center;gap:18px;
  color:var(--av-muted);
  font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  margin:0 0 18px;
}
.av-eyebrow:after{content:"";width:52px;height:1px;background:currentColor;opacity:.55}
.av-title{
  font-family:var(--av-serif);
  font-weight:400;
  letter-spacing:-.03em;
  line-height:1.05;
  margin:0;
  font-size:clamp(2.15rem,9vw,5rem);
}
.av-title-small{font-size:clamp(1.95rem,7vw,3.25rem)}
.av-lead{margin:18px 0 0;color:var(--av-muted);font-size:1rem;max-width:680px}
.av-btn,
.av-text-link{
  display:inline-flex;align-items:center;gap:14px;
  min-height:48px;
  font-size:.72rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase;
}
.av-btn{
  border:1px solid currentColor;
  padding:0 22px;
  transition:.25s ease;
}
.av-btn:hover{background:var(--av-ink);color:var(--av-white);transform:translateY(-1px)}
.av-btn-light{color:var(--av-white);border-color:rgba(255,255,255,.65)}
.av-btn-light:hover{background:var(--av-white);color:var(--av-ink)}
.av-arrow{font-size:1.35rem;line-height:0;transform:translateY(-1px)}

.av-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:rgba(17,17,15,.88);
  color:var(--av-white);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.admin-bar .av-header{top:32px}
.av-nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.av-logo{display:inline-flex;align-items:flex-start;flex-direction:column;line-height:1;color:var(--av-white);text-decoration:none}
.av-logo img,.av-logo__img{display:block;width:auto;height:54px;max-width:168px;object-fit:contain}
.av-footer .av-logo img,.av-footer .av-logo__img{height:62px;max-width:190px}
.av-logo__main{font-family:var(--av-serif);font-size:1.55rem;letter-spacing:.24em;text-transform:uppercase}
.av-logo__sub{font-size:.57rem;letter-spacing:.58em;text-transform:uppercase;margin-top:7px;opacity:.82}
.custom-logo-link img{max-width:144px;max-height:54px;width:auto;height:auto;object-fit:contain}
.av-menu-toggle{
  width:38px;height:38px;border:0;background:transparent;color:inherit;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:4px;padding:0;cursor:pointer;
}
.av-menu-toggle span,
.av-menu-toggle:before,
.av-menu-toggle:after{
  content:"";display:block;width:22px;height:1px;background:currentColor;transition:.25s ease;
}
.av-menu-toggle span{margin:0}
.av-menu-toggle[aria-expanded="true"]:before{transform:translateY(5px) rotate(45deg)}
.av-menu-toggle[aria-expanded="true"] span{opacity:0}
.av-menu-toggle[aria-expanded="true"]:after{transform:translateY(-5px) rotate(-45deg)}
.av-menu-panel{
  position:fixed;inset:76px 0 auto 0;min-height:calc(100dvh - 76px);
  background:rgba(17,17,15,.98);color:var(--av-white);
  transform:translateX(100%);transition:transform .28s ease;
  padding:42px 28px;display:flex;flex-direction:column;justify-content:space-between;
}
.av-menu-panel.is-open{transform:translateX(0)}
.av-menu-list{list-style:none;margin:0;padding:0;display:grid;gap:15px}
.av-menu-list a{font-family:var(--av-sans);font-size:.96rem;line-height:1.25;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.av-menu-list a:hover,.av-menu-list a:focus{color:var(--av-gold)}
.av-menu-meta{margin-top:34px;color:rgba(255,255,255,.58);font-size:.78rem;letter-spacing:.04em}
.av-desktop-menu{display:none}

.av-hero{
  min-height:720px;
  padding-top:76px;
  color:var(--av-white);
  background:
    linear-gradient(90deg,rgba(12,12,10,.78) 0%,rgba(12,12,10,.38) 43%,rgba(12,12,10,.18) 100%),
    var(--hero-image) center/cover no-repeat,
    linear-gradient(135deg,#151411,#3b342b);
  display:flex;align-items:flex-end;
}
.av-hero__inner{padding:86px 0 52px}
.av-hero .av-title{max-width:480px;color:var(--av-white)}
.av-hero .av-lead{color:rgba(255,255,255,.78);max-width:420px;text-transform:uppercase;letter-spacing:.07em;font-size:.86rem}
.av-hero .av-text-link{margin-top:26px;border-bottom:1px solid rgba(255,255,255,.7);padding-bottom:8px;color:var(--av-white)}

.av-intro-grid{display:grid;gap:34px;align-items:center}
.av-image-card{
  min-height:284px;border-radius:var(--av-radius);overflow:hidden;
  background:
    linear-gradient(140deg,rgba(255,255,255,.18),rgba(255,255,255,0)),
    var(--about-image) center/cover no-repeat,
    #cfc4b6;
}
.av-intro-copy{position:relative;z-index:1}
.av-monogram{
  position:absolute;right:0;bottom:-30px;z-index:-1;
  font-family:var(--av-serif);font-size:8.8rem;line-height:.75;color:rgba(28,27,24,.05);letter-spacing:-.12em;
}

.av-dark{background:var(--av-black);color:var(--av-white)}
.av-dark .av-eyebrow,.av-dark .av-lead{color:rgba(255,255,255,.62)}
.av-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:28px}
.av-project-list{display:grid;gap:18px}
.av-project-card{
  display:grid;grid-template-columns:42% 1fr;min-height:164px;
  border-radius:var(--av-radius-small);overflow:hidden;
  background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.08);
}
.av-project-card__image{background:center/cover no-repeat,#2a2822;min-height:164px}
.av-project-card:nth-child(1) .av-project-card__image{background-image:var(--project-image-1)}
.av-project-card:nth-child(2) .av-project-card__image{background-image:var(--project-image-2)}
.av-project-card:nth-child(3) .av-project-card__image{background-image:var(--project-image-3)}
.av-project-card__body{padding:24px 18px;display:flex;flex-direction:column;justify-content:center}
.av-project-card h3{margin:0;font-size:.96rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600}
.av-project-card p{margin:5px 0 14px;color:rgba(255,255,255,.62);font-size:.82rem;line-height:1.4}
.av-project-card a{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;border-bottom:1px solid rgba(255,255,255,.45);width:max-content;padding-bottom:5px}

.av-services{display:grid;gap:0;border-top:1px solid var(--av-line);margin-top:36px}
.av-service-row{display:grid;grid-template-columns:58px 1fr 24px;gap:16px;align-items:center;padding:24px 0;border-bottom:1px solid var(--av-line)}
.av-service-icon{width:42px;height:42px;border:1px solid rgba(28,27,24,.38);border-radius:12px;display:grid;place-items:center;color:var(--av-muted);font-size:1.2rem}
.av-service-row h3{margin:0 0 4px;font-size:.86rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.av-service-row p{margin:0;color:var(--av-muted);font-size:.9rem;line-height:1.55}

.av-narrative{display:grid;gap:24px}
.av-narrative p{margin:0 0 16px;color:var(--av-muted)}
.av-card-grid{display:grid;gap:16px;margin-top:24px}
.av-text-card{background:#fff;border:1px solid var(--av-line);border-radius:var(--av-radius-small);padding:24px;box-shadow:0 18px 50px rgba(28,27,24,.05)}
.av-text-card h3,.av-text-card h4{margin:0 0 10px;font-size:.92rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.av-text-card p{margin:0;color:var(--av-muted);font-size:.94rem}

.av-areas{
  background:
    linear-gradient(0deg,rgba(249,247,242,.92),rgba(249,247,242,.92)),
    var(--area-image) center/cover no-repeat,
    var(--av-cream);
}
.av-location-list{margin-top:18px;color:var(--av-ink);font-weight:600;line-height:1.9}

.av-process-grid{display:grid;gap:18px;margin-top:32px}
.av-process-item{position:relative;border-top:1px solid var(--av-line);padding:24px 0 0}
.av-process-number{font-family:var(--av-serif);font-size:2.2rem;color:var(--av-gold);line-height:1;margin-bottom:12px}
.av-process-item h3{margin:0 0 10px;font-size:1rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.av-process-item p{margin:0;color:var(--av-muted)}

.av-blog-grid{display:grid;gap:20px;margin-top:28px}
.av-blog-card{background:#fff;border:1px solid var(--av-line);border-radius:var(--av-radius-small);overflow:hidden;box-shadow:0 18px 50px rgba(28,27,24,.05)}
.av-blog-card__image{height:180px;background:center/cover no-repeat,#cbc0b1}
.av-blog-card:nth-child(1) .av-blog-card__image{background-image:var(--blog-image-1)}
.av-blog-card:nth-child(2) .av-blog-card__image{background-image:var(--blog-image-2)}
.av-blog-card:nth-child(3) .av-blog-card__image{background-image:var(--blog-image-3)}
.av-blog-card__body{padding:24px}
.av-blog-meta{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--av-muted);margin-bottom:9px;font-weight:800}
.av-blog-card h3{font-family:var(--av-serif);font-size:1.58rem;line-height:1.15;font-weight:400;margin:0 0 12px}
.av-blog-card p{color:var(--av-muted);margin:0 0 18px;font-size:.94rem}

.av-cta{
  color:var(--av-white);
  background:
    linear-gradient(90deg,rgba(12,12,10,.92),rgba(12,12,10,.45)),
    var(--cta-image) center/cover no-repeat,
    #191612;
}
.av-cta-box{min-height:340px;display:flex;align-items:flex-end;padding:42px 0}
.av-cta .av-title{color:var(--av-white);max-width:560px}
.av-cta .av-lead{color:rgba(255,255,255,.72)}
.av-cta-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}
.av-call-strip{display:none;background:var(--av-black);color:var(--av-white);padding:18px 0;text-align:center}
.av-call-strip a{font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;border-bottom:1px solid rgba(255,255,255,.6);padding-bottom:5px}

.av-footer{background:var(--av-black-soft);color:var(--av-white);padding:46px 0 28px}
.av-footer-grid{display:grid;gap:30px}
.av-footer p{margin:0 0 6px;color:rgba(255,255,255,.62)}
.av-footer h3{margin:0 0 16px;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}
.av-footer a{color:rgba(255,255,255,.82)}
.av-instagram-footer{display:inline-flex;align-items:center;justify-content:flex-start;margin-top:10px;line-height:0;max-width:36px}
.av-instagram-footer img{display:block;width:100%;max-width:36px;height:auto;border:0;border-radius:0;opacity:1}
.av-footer-menu{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:.9rem;color:rgba(255,255,255,.66)}
.av-copyright{margin-top:34px;padding-top:22px;border-top:1px solid rgba(255,255,255,.08);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.44)}

@media (max-width: 782px){
  .admin-bar .av-header{top:46px}
  .av-call-strip{display:block}
}

@media (min-width: 700px){
  .av-project-list{grid-template-columns:repeat(3,1fr)}
  .av-project-card{grid-template-columns:1fr;min-height:auto}
  .av-project-card__image{height:230px}
  .av-card-grid,.av-process-grid,.av-blog-grid{grid-template-columns:repeat(2,1fr)}
}

@media (min-width: 960px){
  .av-wrap{width:min(100% - 72px,1180px)}
  .av-section{padding:104px 0}
  .av-menu-toggle,.av-menu-panel{display:none}
  .av-desktop-menu{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0}
  .av-desktop-menu a{font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.84)}
  .av-desktop-menu a:hover{color:#fff}
  .av-header-cta{display:inline-flex!important}
  .av-hero{min-height:820px;align-items:center}
  .av-hero__inner{padding:130px 0 74px}
  .av-intro-grid{grid-template-columns:.95fr 1fr;gap:70px}
  .av-image-card{min-height:410px;border-radius:0}
  .av-services{grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--av-line)}
  .av-service-row{display:block;padding:30px 26px;border-bottom:0;border-left:1px solid var(--av-line)}
  .av-service-row:first-child{border-left:0}
  .av-service-icon{margin-bottom:26px}
  .av-service-row .av-arrow{display:none}
  .av-narrative{grid-template-columns:.86fr 1.14fr;gap:64px}
  .av-card-grid,.av-process-grid,.av-blog-grid{grid-template-columns:repeat(3,1fr)}
  .av-footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;align-items:start}
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}


.av-discovery{
  background:var(--av-cream);
}
.av-discovery-grid{
  display:grid;
  gap:28px;
  align-items:center;
}
.av-discovery-image{
  min-height:260px;
  border-radius:var(--av-radius);
  overflow:hidden;
  background:
    linear-gradient(10deg,rgba(249,247,242,.15),rgba(249,247,242,.75)),
    var(--cta-image) center/cover no-repeat,
    #cfc4b6;
}
.av-discovery-copy{
  background:rgba(255,255,255,.62);
  border:1px solid var(--av-line);
  border-radius:var(--av-radius);
  padding:30px 24px;
}
.av-about-services{
  margin-top:36px;
}
@media (min-width: 760px){
  .av-discovery-grid{grid-template-columns:44% 1fr}
  .av-discovery-copy{padding:44px}
}


/* Desktop title scale refinement */
@media (min-width: 1024px){
  .av-title{
    font-size:clamp(2.8rem,4.8vw,4.35rem);
    line-height:1.08;
    letter-spacing:-.025em;
  }

  .av-title-small{
    font-size:clamp(2.05rem,3vw,3rem);
    line-height:1.12;
    letter-spacing:-.02em;
  }

  .av-hero .av-title{
    max-width:680px;
    font-size:clamp(3rem,4.4vw,4.15rem);
  }

  .av-discovery-copy .av-title-small,
  .av-cta .av-title-small{
    font-size:clamp(2rem,2.7vw,2.75rem);
    max-width:640px;
  }

  .av-section{
    padding:68px 0;
  }
}


/* Editable WordPress homepage compatibility */
.av-editable-homepage{margin:0}
.av-editable-homepage > *{margin-block-start:0;margin-block-end:0}
.av-editable-homepage .wp-block-group{max-width:none}
.av-editable-homepage .av-wrap{width:min(100% - 36px,1180px);margin-inline:auto}
.av-editable-homepage .wp-block-button.av-btn,
.av-editable-homepage .wp-block-button.av-btn-light{
  padding:0;
  border:0;
  background:transparent;
}
.av-editable-homepage .wp-block-button.av-btn .wp-block-button__link,
.av-editable-homepage .wp-block-button.av-btn-light .wp-block-button__link{
  border-radius:0;
  background:transparent;
  color:inherit;
  border:1px solid currentColor;
  padding:14px 22px;
  min-height:48px;
  display:inline-flex;
  align-items:center;
  gap:14px;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.av-editable-homepage .wp-block-button.av-btn-light .wp-block-button__link{
  color:var(--av-white);
  border-color:rgba(255,255,255,.65);
}
.av-editable-homepage .wp-block-button.av-btn .wp-block-button__link:hover{
  background:var(--av-ink);
  color:var(--av-white);
}
.av-editable-homepage .wp-block-button.av-btn-light .wp-block-button__link:hover{
  background:var(--av-white);
  color:var(--av-ink);
}


/* Fix front-end alignment for editable WordPress homepage blocks */
.av-editable-homepage .wp-block-group.av-hero,
.av-editable-homepage .wp-block-group.av-section,
.av-editable-homepage .wp-block-group.av-discovery,
.av-editable-homepage .wp-block-group.av-areas,
.av-editable-homepage .wp-block-group.av-cta{
  max-width:none !important;
  width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

.av-editable-homepage .wp-block-group.av-wrap,
.av-editable-homepage .av-wrap{
  width:min(100% - 36px,1180px) !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

.av-editable-homepage .av-hero .av-wrap,
.av-editable-homepage .av-hero__inner{
  width:min(100% - 36px,1180px) !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.av-editable-homepage .av-hero .av-title,
.av-editable-homepage .av-hero .av-lead,
.av-editable-homepage .av-hero .av-eyebrow{
  margin-left:0 !important;
  margin-right:auto !important;
}

.av-editable-homepage .av-discovery-grid,
.av-editable-homepage .av-intro-grid,
.av-editable-homepage .av-narrative{
  max-width:1180px !important;
}

/* Prevent WordPress block layout from adding unexpected side alignment */
.av-editable-homepage :where(.wp-block-group.has-global-padding){
  padding-left:0 !important;
  padding-right:0 !important;
}
.av-editable-homepage :where(.wp-block-group.is-layout-constrained) > *{
  margin-left:0;
  margin-right:0;
}
.av-editable-homepage :where(.wp-block-group.av-wrap.is-layout-constrained) > *{
  margin-left:0;
  margin-right:0;
}


/* Force editable discovery call section to stay image-left / text-right on desktop */
@media (min-width: 900px){
  .av-editable-homepage .av-discovery .av-discovery-grid{
    display:grid !important;
    grid-template-columns:minmax(0,44%) minmax(0,56%) !important;
    gap:0 !important;
    align-items:stretch !important;
    width:min(100% - 36px,1180px) !important;
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .av-editable-homepage .av-discovery .av-discovery-grid > .av-discovery-image,
  .av-editable-homepage .av-discovery .av-discovery-grid > .av-discovery-copy{
    margin:0 !important;
    width:100% !important;
    max-width:none !important;
  }

  .av-editable-homepage .av-discovery .av-discovery-image{
    min-height:520px !important;
    height:auto !important;
    border-radius:var(--av-radius) 0 0 var(--av-radius) !important;
  }

  .av-editable-homepage .av-discovery .av-discovery-copy{
    border-radius:0 var(--av-radius) var(--av-radius) 0 !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    padding:48px 56px !important;
  }
}

/* Keep it stacked cleanly on mobile */
@media (max-width: 899px){
  .av-editable-homepage .av-discovery .av-discovery-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:0 !important;
  }

  .av-editable-homepage .av-discovery .av-discovery-image{
    border-radius:var(--av-radius) var(--av-radius) 0 0 !important;
  }

  .av-editable-homepage .av-discovery .av-discovery-copy{
    border-radius:0 0 var(--av-radius) var(--av-radius) !important;
  }
}


/* Strong desktop split fix for WordPress editable homepage */
@media (min-width: 900px){
  body .site-shell main .av-editable-homepage section.av-discovery > .av-discovery-grid,
  body .site-shell main .av-editable-homepage .av-discovery > .av-discovery-grid,
  body .site-shell main .av-editable-homepage .av-discovery .av-wrap.av-discovery-grid,
  body .site-shell main .av-discovery .av-wrap.av-discovery-grid{
    display:grid !important;
    grid-template-columns:minmax(0,44%) minmax(0,56%) !important;
    grid-auto-flow:column !important;
    gap:0 !important;
    align-items:stretch !important;
    width:min(100% - 36px,1180px) !important;
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body .site-shell main .av-discovery .av-wrap.av-discovery-grid > .av-discovery-image,
  body .site-shell main .av-discovery .av-wrap.av-discovery-grid > .av-discovery-copy{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    min-width:0 !important;
  }

  body .site-shell main .av-discovery .av-wrap.av-discovery-grid > .av-discovery-image{
    grid-column:1 !important;
    min-height:520px !important;
    border-radius:var(--av-radius) 0 0 var(--av-radius) !important;
  }

  body .site-shell main .av-discovery .av-wrap.av-discovery-grid > .av-discovery-copy{
    grid-column:2 !important;
    min-height:520px !important;
    border-radius:0 var(--av-radius) var(--av-radius) 0 !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    padding:48px 56px !important;
  }

  body .site-shell main .av-discovery .av-discovery-copy > *{
    max-width:100% !important;
  }
}

/* Reset WordPress layout wrappers that can override custom grids */
body .site-shell main .av-editable-homepage .av-discovery-grid.is-layout-constrained > *,
body .site-shell main .av-editable-homepage .av-discovery-grid.is-layout-flow > *{
  margin-block-start:0 !important;
  margin-block-end:0 !important;
}


/* Projects page polish */
.av-projects-page{
  background:var(--av-cream);
}
.av-projects-hero{
  min-height:520px;
  display:flex;
  align-items:flex-end;
  background:
    linear-gradient(180deg,rgba(20,20,18,.12) 0%,rgba(20,20,18,.62) 100%),
    var(--projects-hero-image) center/cover no-repeat;
}
.av-projects-hero__inner{
  padding:120px 0 76px;
  color:#fff;
}
.av-projects-hero .av-eyebrow{
  color:rgba(255,255,255,.88);
}
.av-projects-hero .av-title{
  color:#fff;
  max-width:760px;
  text-shadow:0 4px 22px rgba(0,0,0,.35);
}
.av-projects-signature__grid{
  display:grid;
  gap:34px;
  align-items:center;
}
.av-projects-signature__copy{
  background:#354046;
  color:#e6dcce;
  border-radius:var(--av-radius);
  padding:42px 32px;
  box-shadow:0 15px 40px rgba(0,0,0,.16);
}
.av-projects-signature__copy .av-eyebrow,
.av-projects-signature__copy h2,
.av-projects-signature__copy p{
  color:#e6dcce;
}
.av-projects-signature__copy h2{
  font-family:var(--av-sans);
  font-size:clamp(1.25rem,2vw,1.9rem);
  line-height:1.25;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:500;
  margin:0 0 18px;
}
.av-projects-signature__image{
  min-height:360px;
  border-radius:var(--av-radius);
  background:var(--projects-signature-image) center/cover no-repeat;
  box-shadow:0 15px 40px rgba(0,0,0,.14);
}
.av-projects-head{
  text-align:center;
  max-width:760px;
  margin:0 auto 34px;
}
.av-projects-grid{
  display:grid;
  gap:24px;
}
.av-projects-tile{
  border:1px solid var(--av-line);
  background:#fff;
  padding:14px;
}
.av-projects-tile__image{
  display:block;
  min-height:320px;
  border-radius:10px;
  background:center/cover no-repeat;
}
.av-projects-tile-1 .av-projects-tile__image{background-image:var(--projects-card-image-1)}
.av-projects-tile-2 .av-projects-tile__image{background-image:var(--projects-card-image-2)}
.av-projects-tile-3 .av-projects-tile__image{background-image:var(--projects-card-image-3)}
.av-projects-tile__button{
  display:inline-flex;
  margin:18px auto 6px;
  min-height:40px;
  align-items:center;
  justify-content:center;
  background:#b89457;
  color:#fff;
  padding:12px 24px;
  font-family:var(--av-sans);
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:600;
}
@media (min-width:760px){
  .av-projects-signature__grid{
    grid-template-columns:50% 46%;
  }
  .av-projects-signature__copy{
    transform:translateX(6%);
    position:relative;
    z-index:2;
    padding:60px 56px;
  }
  .av-projects-signature__image{
    transform:translateX(-6%);
    min-height:430px;
  }
  .av-projects-grid{
    grid-template-columns:repeat(3,1fr);
  }
}


/* Projects forced template layout */
.av-projects-page{
  background:var(--av-cream);
}
.av-projects-hero{
  min-height:520px;
  display:flex;
  align-items:flex-end;
  background:
    linear-gradient(180deg,rgba(20,20,18,.14) 0%,rgba(20,20,18,.65) 100%),
    var(--projects-hero-image) center/cover no-repeat;
}
.av-projects-hero__inner{
  padding:120px 0 76px;
  color:#fff;
}
.av-projects-hero .av-eyebrow{
  color:rgba(255,255,255,.9);
}
.av-projects-hero .av-title{
  color:#fff;
  max-width:780px;
  text-shadow:0 4px 22px rgba(0,0,0,.38);
}
.av-projects-signature__grid{
  display:grid;
  gap:34px;
  align-items:center;
}
.av-projects-signature__copy{
  background:#354046;
  color:#e6dcce;
  border-radius:var(--av-radius);
  padding:42px 32px;
  box-shadow:0 15px 40px rgba(0,0,0,.16);
}
.av-projects-signature__copy .av-eyebrow,
.av-projects-signature__copy h2,
.av-projects-signature__copy p{
  color:#e6dcce;
}
.av-projects-signature__copy h2{
  font-family:var(--av-sans);
  font-size:clamp(1.25rem,2vw,1.9rem);
  line-height:1.25;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:500;
  margin:0 0 18px;
}
.av-projects-signature__image{
  min-height:360px;
  border-radius:var(--av-radius);
  background:var(--projects-signature-image) center/cover no-repeat;
  box-shadow:0 15px 40px rgba(0,0,0,.14);
}
.av-projects-head{
  text-align:center;
  max-width:760px;
  margin:0 auto 34px;
}
.av-projects-grid{
  display:grid;
  gap:24px;
}
.av-projects-tile{
  border:1px solid var(--av-line);
  background:#fff;
  padding:14px;
}
.av-projects-tile__image{
  display:block;
  min-height:320px;
  border-radius:10px;
  background:center/cover no-repeat;
}
.av-projects-tile-1 .av-projects-tile__image{background-image:var(--projects-card-image-1)}
.av-projects-tile-2 .av-projects-tile__image{background-image:var(--projects-card-image-2)}
.av-projects-tile-3 .av-projects-tile__image{background-image:var(--projects-card-image-3)}
.av-projects-tile__button{
  display:inline-flex;
  margin:18px auto 6px;
  min-height:40px;
  align-items:center;
  justify-content:center;
  background:#b89457;
  color:#fff;
  padding:12px 24px;
  font-family:var(--av-sans);
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:600;
}
@media (min-width:760px){
  .av-projects-signature__grid{
    grid-template-columns:50% 46%;
  }
  .av-projects-signature__copy{
    transform:translateX(6%);
    position:relative;
    z-index:2;
    padding:60px 56px;
  }
  .av-projects-signature__image{
    transform:translateX(-6%);
    min-height:430px;
  }
  .av-projects-grid{
    grid-template-columns:repeat(3,1fr);
  }
}


/* Mobile homepage hero text position */
@media (max-width: 767px){
  .av-hero{
    min-height:680px !important;
    align-items:flex-end !important;
    padding-top:76px !important;
    background-position:center center !important;
  }
  .av-hero__inner{
    padding:78px 0 32px !important;
  }
  .av-hero .av-title{max-width:96% !important}
  .av-hero .av-lead{max-width:92% !important}
}

/* Projects page safe template layout */
.av-projects-page{background:var(--av-cream)}
.av-projects-hero{
  min-height:520px;
  display:flex;
  align-items:flex-end;
  background:
    linear-gradient(180deg,rgba(20,20,18,.12) 0%,rgba(20,20,18,.64) 100%),
    var(--projects-hero-image) center/cover no-repeat;
}
.av-projects-hero__inner{padding:120px 0 76px;color:#fff}
.av-projects-hero .av-title{color:#fff;max-width:780px;text-shadow:0 4px 22px rgba(0,0,0,.38)}
.av-projects-signature__grid{display:grid;gap:34px;align-items:center}
.av-projects-signature__copy{background:#354046;color:#e6dcce;border-radius:var(--av-radius);padding:42px 32px;box-shadow:0 15px 40px rgba(0,0,0,.16)}
.av-projects-signature__copy .av-eyebrow,.av-projects-signature__copy h2,.av-projects-signature__copy p{color:#e6dcce}
.av-projects-signature__copy h2{font-family:var(--av-sans);font-size:clamp(1.25rem,2vw,1.9rem);line-height:1.25;letter-spacing:.12em;text-transform:uppercase;font-weight:500;margin:0 0 18px}
.av-projects-signature__image{min-height:360px;border-radius:var(--av-radius);background:var(--projects-signature-image) center/cover no-repeat;box-shadow:0 15px 40px rgba(0,0,0,.14)}
.av-projects-head{text-align:center;max-width:760px;margin:0 auto 34px}
.av-projects-grid{display:grid;gap:24px}
.av-projects-tile{border:1px solid var(--av-line);background:#fff;padding:14px;text-align:center}
.av-projects-tile__image{display:block;min-height:320px;border-radius:10px;background:center/cover no-repeat}
.av-projects-tile-1 .av-projects-tile__image{background-image:var(--projects-card-image-1)}
.av-projects-tile-2 .av-projects-tile__image{background-image:var(--projects-card-image-2)}
.av-projects-tile-3 .av-projects-tile__image{background-image:var(--projects-card-image-3)}
.av-projects-tile__button{display:inline-flex;margin:18px auto 6px;min-height:40px;align-items:center;justify-content:center;background:#b89457;color:#fff;padding:12px 24px;font-family:var(--av-sans);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;font-weight:600}
.av-projects-video{background:var(--av-cream)!important;padding-top:34px!important;padding-bottom:90px!important}
.av-projects-video__wrap{width:min(100% - 72px,920px)!important;max-width:920px!important;margin-left:auto!important;margin-right:auto!important}
.av-projects-video__embed{position:relative!important;width:100%!important;aspect-ratio:16/9!important;overflow:hidden!important;border-radius:18px!important;background:#111!important;box-shadow:0 22px 60px rgba(0,0,0,.18)!important}
.av-projects-video__embed iframe{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border:0!important;display:block!important}
@media (min-width:760px){
  .av-projects-signature__grid{grid-template-columns:50% 46%}
  .av-projects-signature__copy{transform:translateX(6%);position:relative;z-index:2;padding:60px 56px}
  .av-projects-signature__image{transform:translateX(-6%);min-height:430px}
  .av-projects-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:767px){
  .av-projects-video{padding-top:22px!important;padding-bottom:56px!important}
  .av-projects-video__wrap{width:min(100% - 36px,920px)!important}
  .av-projects-video__embed{border-radius:12px!important}
}

/* Villa Renovation page */
.av-villa-page{background:var(--av-cream)}
.av-villa-hero{padding:120px 0 72px;background:#f6f2ea}
.av-villa-hero__grid{display:grid;gap:34px;align-items:center}
.av-villa-hero__copy{background:rgba(255,255,255,.72);border:1px solid var(--av-line);border-radius:var(--av-radius);padding:42px 32px;box-shadow:0 20px 55px rgba(40,34,26,.08)}
.av-villa-hero__copy .av-title{max-width:760px}
.av-villa-hero__copy p:not(.av-eyebrow):not(.av-lead){color:var(--av-muted);font-size:1.02rem;line-height:1.75}
.av-villa-hero__image{min-height:340px;border-radius:var(--av-radius);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(0,0,0,.12)),var(--villa-hero-image) center/cover no-repeat;box-shadow:0 20px 60px rgba(0,0,0,.14)}
.av-villa-narrative{display:grid;gap:32px;align-items:start}
.av-villa-narrative p{font-size:1.05rem;line-height:1.85;color:var(--av-muted)}
.av-villa-service-grid{display:grid;gap:14px}
.av-villa-service-item{background:#fff;border:1px solid var(--av-line);padding:26px;border-radius:14px}
.av-villa-service-item h3{margin:0 0 10px;font-family:var(--av-sans);font-size:.92rem;letter-spacing:.12em;text-transform:uppercase}
.av-villa-service-item p{margin:0;color:var(--av-muted);line-height:1.7}
.av-villa-split{display:grid;gap:28px;align-items:center}
.av-villa-feature-image{min-height:380px;border-radius:var(--av-radius);background:var(--villa-feature-image-1) center/cover no-repeat;box-shadow:0 18px 55px rgba(0,0,0,.13)}
.av-villa-text-card{background:#354046;color:#e6dcce;border-radius:var(--av-radius);padding:42px 32px}
.av-villa-text-card .av-eyebrow,.av-villa-text-card h2,.av-villa-text-card p{color:#e6dcce}
.av-villa-text-card h2{font-family:var(--av-serif);font-size:clamp(2.1rem,4vw,3.4rem);line-height:1.05;margin:0 0 22px}
.av-villa-text-card p{line-height:1.75}
.av-villa-process-grid{display:grid;gap:16px;margin-top:28px}
.av-villa-cta{background:linear-gradient(90deg,rgba(20,20,18,.82),rgba(20,20,18,.42)),var(--villa-feature-image-2) center/cover no-repeat}
.av-villa-faq__grid{display:grid;gap:34px}
.av-villa-faq-list{display:grid;gap:12px}
.av-villa-faq-item{background:#fff;border:1px solid var(--av-line);border-radius:14px;padding:20px 22px}
.av-villa-faq-item summary{cursor:pointer;font-family:var(--av-sans);font-weight:700;letter-spacing:.04em;color:var(--av-ink)}
.av-villa-faq-item p{margin:16px 0 0;color:var(--av-muted);line-height:1.75}
@media (min-width:900px){
  .av-villa-hero__grid{grid-template-columns:46% 54%}
  .av-villa-hero__copy{padding:58px 56px;position:relative;z-index:2}
  .av-villa-hero__image{min-height:620px;margin-left:-36px}
  .av-villa-narrative{grid-template-columns:42% 1fr}
  .av-villa-service-grid{grid-template-columns:repeat(3,1fr)}
  .av-villa-split{grid-template-columns:48% 52%}
  .av-villa-feature-image{min-height:500px}
  .av-villa-text-card{padding:60px 56px;margin-left:-48px;position:relative;z-index:2}
  .av-villa-process-grid{grid-template-columns:repeat(5,1fr)}
  .av-villa-faq__grid{grid-template-columns:36% 1fr}
}
@media (max-width:767px){
  .av-villa-hero{padding:92px 0 46px}
  .av-villa-hero__copy{padding:30px 24px}
  .av-villa-hero__image{min-height:340px}
  .av-villa-service-item{padding:22px}
  .av-villa-text-card{padding:34px 26px}
}


/* Villa Renovation richer image sections */
.av-villa-gallery{
  background:#fff;
}
.av-villa-gallery-head{
  max-width:760px;
  margin:0 auto 34px;
  text-align:center;
}
.av-villa-gallery-grid{
  display:grid;
  gap:18px;
}
.av-villa-gallery-image{
  min-height:280px;
  border-radius:var(--av-radius);
  background:center/cover no-repeat;
  box-shadow:0 16px 42px rgba(0,0,0,.1);
}
.av-villa-gallery-image-1{background-image:var(--villa-gallery-image-1)}
.av-villa-gallery-image-2{background-image:var(--villa-gallery-image-2)}
.av-villa-gallery-image-3{background-image:var(--villa-gallery-image-3)}
.av-villa-highlight{
  background:var(--av-cream);
  padding-top:18px;
}
.av-villa-highlight-image{
  min-height:340px;
  border-radius:var(--av-radius);
  background:
    linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.18)),
    var(--villa-highlight-image) center/cover no-repeat;
  box-shadow:0 18px 56px rgba(0,0,0,.12);
}
@media (min-width:760px){
  .av-villa-gallery-grid{
    grid-template-columns:1.15fr .85fr;
    grid-template-rows:240px 240px;
  }
  .av-villa-gallery-image-1{
    grid-row:1 / span 2;
    min-height:498px;
  }
  .av-villa-gallery-image-2,
  .av-villa-gallery-image-3{
    min-height:240px;
  }
  .av-villa-highlight-image{
    min-height:560px;
  }
}
@media (max-width:767px){
  .av-villa-gallery-head{
    text-align:left;
  }
  .av-villa-gallery-image{
    min-height:240px;
  }
  .av-villa-highlight-image{
    min-height:320px;
  }
}


/* Villa Renovation process section styled like the original version */
.av-villa-process{
  background:#f5f5f5;
}
.av-villa-process-head{
  text-align:center;
  max-width:860px;
  margin:0 auto 30px;
}
.av-villa-process-list{
  display:grid;
  gap:18px;
}
.av-villa-process-row{
  display:grid;
  grid-template-columns:380px 1fr;
  gap:0;
  align-items:stretch;
  background:transparent;
}
.av-villa-process-row__image{
  min-height:250px;
  border-radius:8px 0 0 8px;
  background:center/cover no-repeat;
}
.av-villa-process-row__copy{
  min-height:250px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:#d8cdc1;
  padding:34px 42px;
  border-radius:0 8px 8px 0;
}
.av-villa-process-row__copy h3{
  margin:0 0 18px;
  font-family:var(--av-sans);
  font-size:2rem;
  line-height:1.2;
  letter-spacing:-.02em;
  font-weight:400;
  color:#1c2b35;
}
.av-villa-process-row__copy p{
  margin:0;
  font-size:1.05rem;
  line-height:1.8;
  color:#243540;
}
.av-villa-process-row__image-1{background-image:var(--villa-process-image-1)}
.av-villa-process-row__image-2{background-image:var(--villa-process-image-2)}
.av-villa-process-row__image-3{background-image:var(--villa-process-image-3)}
.av-villa-process-row__image-4{background-image:var(--villa-process-image-4)}
.av-villa-process-row__image-5{background-image:var(--villa-process-image-5)}

@media (max-width: 991px){
  .av-villa-process-row{
    grid-template-columns:280px 1fr;
  }
  .av-villa-process-row__image,
  .av-villa-process-row__copy{
    min-height:220px;
  }
  .av-villa-process-row__copy h3{
    font-size:1.65rem;
  }
}

@media (max-width: 767px){
  .av-villa-process-head{
    text-align:left;
    margin-bottom:24px;
  }
  .av-villa-process-row{
    grid-template-columns:1fr;
    gap:0;
  }
  .av-villa-process-row__image{
    min-height:220px;
    border-radius:10px 10px 0 0;
  }
  .av-villa-process-row__copy{
    min-height:auto;
    border-radius:0 0 10px 10px;
    padding:28px 22px;
  }
  .av-villa-process-row__copy h3{
    font-size:1.35rem;
    margin-bottom:12px;
  }
}


/* Villa Renovation final restored layout */
.av-villa-gallery,
#villa-renovation-gallery,
.av-villa-highlight{
  display:none !important;
}

.av-villa-hero{
  padding:112px 0 52px !important;
  background:#f6f2ea !important;
}
.av-villa-hero-stage{
  min-height:640px;
  border-radius:var(--av-radius);
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(180deg, rgba(22,22,20,.12) 0%, rgba(22,22,20,.08) 35%, rgba(22,22,20,.44) 100%),
    var(--villa-hero-image) center/cover no-repeat;
  box-shadow:0 24px 72px rgba(0,0,0,.14);
}
.av-villa-hero-stage__content{
  position:absolute;
  left:clamp(24px, 4vw, 64px);
  right:clamp(24px, 4vw, 64px);
  bottom:clamp(28px, 5vw, 52px);
  max-width:760px;
}
.av-villa-hero-stage .av-eyebrow{
  color:rgba(255,255,255,.86);
  border-color:rgba(255,255,255,.34);
  margin-bottom:18px;
}
.av-villa-hero-stage .av-title{
  color:#fff;
  max-width:660px;
  text-shadow:0 10px 32px rgba(0,0,0,.22);
}
.av-villa-hero__body{
  max-width:760px;
  margin:30px auto 0;
}
.av-villa-hero__body .av-lead{
  font-size:1.28rem;
  line-height:1.7;
  color:var(--av-ink);
  margin-bottom:18px;
}
.av-villa-hero__body p:not(.av-lead){
  color:var(--av-muted);
  font-size:1.04rem;
  line-height:1.88;
  margin:0 0 18px;
}

.av-villa-why .av-villa-split{
  display:block !important;
  max-width:920px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.av-villa-why .av-villa-feature-image{
  display:none !important;
}
.av-villa-why .av-villa-text-card{
  margin-left:0 !important;
  width:100% !important;
}

.av-villa-process{
  background:#f5f5f5 !important;
}
.av-villa-process-head{
  text-align:center;
  max-width:860px;
  margin:0 auto 30px;
}
.av-villa-process-list{
  display:grid;
  gap:18px;
}
.av-villa-process-row{
  display:grid;
  grid-template-columns:380px 1fr;
  gap:0;
  align-items:stretch;
  background:transparent;
}
.av-villa-process-row__image{
  min-height:250px;
  border-radius:8px 0 0 8px;
  background:center/cover no-repeat;
}
.av-villa-process-row__copy{
  min-height:250px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:#d8cdc1;
  padding:34px 42px;
  border-radius:0 8px 8px 0;
}
.av-villa-process-row__copy h3{
  margin:0 0 18px;
  font-family:var(--av-sans);
  font-size:2rem;
  line-height:1.2;
  letter-spacing:-.02em;
  font-weight:400;
  color:#1c2b35;
}
.av-villa-process-row__copy p{
  margin:0;
  font-size:1.05rem;
  line-height:1.8;
  color:#243540;
}
.av-villa-process-row__image-1{background-image:var(--villa-process-image-1)}
.av-villa-process-row__image-2{background-image:var(--villa-process-image-2)}
.av-villa-process-row__image-3{background-image:var(--villa-process-image-3)}
.av-villa-process-row__image-4{background-image:var(--villa-process-image-4)}
.av-villa-process-row__image-5{background-image:var(--villa-process-image-5)}

.av-villa-faq__intro{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.av-villa-faq__image{
  width:220px;
  height:220px;
  margin-top:26px;
  border-radius:50%;
  background:
    linear-gradient(180deg,rgba(255,255,255,.08),rgba(0,0,0,.08)),
    var(--villa-faq-image) center/cover no-repeat;
  box-shadow:0 16px 38px rgba(0,0,0,.12);
}

@media (max-width:991px){
  .av-villa-process-row{
    grid-template-columns:280px 1fr;
  }
  .av-villa-process-row__image,
  .av-villa-process-row__copy{
    min-height:220px;
  }
  .av-villa-process-row__copy h3{
    font-size:1.65rem;
  }
}

@media (max-width:767px){
  .av-villa-hero{
    padding:92px 0 42px !important;
  }
  .av-villa-hero-stage{
    min-height:340px;
  }
  .av-villa-hero-stage__content{
    left:22px;
    right:22px;
    bottom:22px;
  }
  .av-villa-hero__body{
    margin-top:22px;
  }
  .av-villa-hero__body .av-lead{
    font-size:1.08rem;
    line-height:1.65;
  }
  .av-villa-hero__body p:not(.av-lead){
    font-size:1rem;
    line-height:1.8;
  }
  .av-villa-process-head{
    text-align:left;
    margin-bottom:24px;
  }
  .av-villa-process-row{
    grid-template-columns:1fr;
  }
  .av-villa-process-row__image{
    min-height:220px;
    border-radius:10px 10px 0 0;
  }
  .av-villa-process-row__copy{
    min-height:auto;
    border-radius:0 0 10px 10px;
    padding:28px 22px;
  }
  .av-villa-process-row__copy h3{
    font-size:1.35rem;
    margin-bottom:12px;
  }
  .av-villa-faq__image{
    width:156px;
    height:156px;
    margin-top:18px;
  }
}


/* Villa Renovation full-width hero like Projects */
.av-villa-hero{
  padding:0 0 52px !important;
  background:#f6f2ea !important;
}

.av-villa-hero > .av-wrap{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

.av-villa-hero-stage{
  width:100% !important;
  min-height:560px !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:
    linear-gradient(180deg, rgba(20,20,18,.16) 0%, rgba(20,20,18,.10) 36%, rgba(20,20,18,.48) 100%),
    var(--villa-hero-image) center/cover no-repeat !important;
}

.av-villa-hero-stage__content{
  left:max(7vw, 32px) !important;
  right:max(7vw, 32px) !important;
  bottom:64px !important;
}

.av-villa-hero-stage .av-title{
  max-width:760px !important;
}

.av-villa-hero__body{
  width:min(100% - 56px, 760px) !important;
  margin:34px auto 0 !important;
}

@media (max-width:767px){
  .av-villa-hero{
    padding:0 0 42px !important;
  }

  .av-villa-hero-stage{
    min-height:520px !important;
    background-position:center center !important;
  }

  .av-villa-hero-stage__content{
    left:24px !important;
    right:24px !important;
    bottom:34px !important;
  }

  .av-villa-hero__body{
    width:min(100% - 36px, 760px) !important;
    margin-top:24px !important;
  }
}





/* Projects hero label style matched to Villa Renovation */
.av-projects-hero-label{
  display:inline-flex !important;
  align-items:center !important;
  width:auto !important;
  max-width:none !important;
  overflow:visible !important;
  white-space:nowrap !important;
  text-indent:0 !important;
  font-size:.72rem !important;
  line-height:1 !important;
  letter-spacing:.28em !important;
  text-transform:uppercase !important;
  font-weight:600 !important;
  color:rgba(255,255,255,.9) !important;
  opacity:1 !important;
  visibility:visible !important;
  margin-bottom:18px !important;
}
.av-projects-hero-label::after{
  content:"" !important;
  display:inline-block !important;
  width:56px !important;
  height:1px !important;
  margin-left:20px !important;
  background:rgba(255,255,255,.52) !important;
  border:0 !important;
}

/* Area Guides page */
.av-area-page{background:#f6f2ea}
.av-area-hero{background:#151515}
.av-area-slider{position:relative;min-height:620px;overflow:hidden;background:#111}
.av-area-slide{position:absolute;inset:0;opacity:0;transform:scale(1.025);background:center/cover no-repeat;transition:opacity .8s ease,transform 1.4s ease;pointer-events:none}
.av-area-slide.is-active{opacity:1;transform:scale(1);pointer-events:auto}
.av-area-slide__inner{min-height:620px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff;padding-top:88px;padding-bottom:88px}
.av-area-hero-label{display:inline-flex!important;align-items:center!important;width:auto!important;white-space:nowrap!important;font-size:.72rem!important;line-height:1!important;letter-spacing:.28em!important;text-transform:uppercase!important;font-weight:600!important;color:rgba(255,255,255,.9)!important;margin-bottom:22px!important;text-shadow:0 8px 24px rgba(0,0,0,.2)}
.av-area-hero-label::after{content:"";display:inline-block;width:56px;height:1px;margin-left:20px;background:rgba(255,255,255,.54)}
.av-area-slide .av-title{color:#fff;max-width:860px;text-shadow:0 10px 32px rgba(0,0,0,.28);text-transform:none}
.av-area-slide__button{display:inline-flex;align-items:center;justify-content:center;margin-top:24px;padding:13px 26px;border:1px solid rgba(255,255,255,.88);border-radius:6px;color:#fff;font-family:var(--av-sans);font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:rgba(0,0,0,.08);transition:background .25s ease,transform .25s ease}
.av-area-slide__button:hover{background:rgba(255,255,255,.16);transform:translateY(-1px)}
.av-area-arrow{position:absolute;top:50%;z-index:4;transform:translateY(-50%);width:44px;height:44px;border:1px solid rgba(255,255,255,.5);border-radius:50%;color:#fff;background:rgba(0,0,0,.16);font-size:2rem;line-height:1;cursor:pointer}
.av-area-arrow-prev{left:34px}
.av-area-arrow-next{right:34px}
.av-area-dots{position:absolute;z-index:4;left:50%;bottom:28px;transform:translateX(-50%);display:flex;gap:8px;flex-wrap:wrap;justify-content:center;width:min(92%,520px)}
.av-area-dots button{width:8px;height:8px;border:0;border-radius:50%;background:rgba(255,255,255,.48);padding:0;cursor:pointer}
.av-area-dots button.is-active{background:#fff}
.av-area-narrative{display:grid;gap:42px;align-items:start}
.av-area-narrative p{color:var(--av-muted);line-height:1.9}
.av-area-choice{background:#fff}
.av-area-choice-card{max-width:920px!important;background:#354046;color:#e6dcce;border-radius:var(--av-radius);padding:46px;box-shadow:0 18px 46px rgba(0,0,0,.12)}
.av-area-choice-card .av-title,.av-area-choice-card p{color:#e6dcce}
.av-area-choice-card p{line-height:1.9}
.av-area-cover{background:#f6f2ea}
.av-area-list{max-width:880px;margin-top:18px;color:#6b6157;line-height:2}
.av-area-cta{margin-top:0}
@media (min-width:820px){.av-area-narrative{grid-template-columns:.9fr 1.1fr}}
@media (max-width:767px){
  .av-area-slider,.av-area-slide__inner{min-height:560px}
  .av-area-slide__inner{padding-top:84px;padding-bottom:72px}
  .av-area-slide .av-title{font-size:clamp(2.45rem,14vw,4.2rem)}
  .av-area-arrow{display:flex}
  .av-area-dots{bottom:20px}
  .av-area-choice-card{padding:32px 24px}
}


/* Area Guides mobile arrows visible */
@media (max-width:767px){
  .av-area-arrow{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:38px !important;
    height:38px !important;
    top:52% !important;
    z-index:10 !important;
    background:rgba(0,0,0,.28) !important;
    border-color:rgba(255,255,255,.58) !important;
    color:#fff !important;
    font-size:1.7rem !important;
  }
  .av-area-arrow-prev{
    left:14px !important;
  }
  .av-area-arrow-next{
    right:14px !important;
  }
}





/* Area Guides copy layout fixed */
.av-area-top-copy{
  background:#fff !important;
  padding-top:78px !important;
  padding-bottom:78px !important;
}
.av-area-top-copy .av-wrap{
  width:min(100% - 56px, 1060px) !important;
  max-width:1060px !important;
}
.av-area-kicker{
  font-family:var(--av-serif) !important;
  font-size:clamp(2rem, 4vw, 3.2rem) !important;
  line-height:1.05 !important;
  color:#1c1d1b !important;
  margin:0 0 32px !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}
.av-area-intro-restored-title{
  font-family:var(--av-serif) !important;
  font-size:clamp(2.6rem, 5.2vw, 5.1rem) !important;
  line-height:.95 !important;
  color:#1c1d1b !important;
  max-width:920px !important;
  margin:0 0 34px !important;
  letter-spacing:-.03em !important;
}
.av-area-top-copy__body{
  max-width:920px !important;
}
.av-area-top-copy__body p{
  color:#756f67 !important;
  font-size:1.05rem !important;
  line-height:1.95 !important;
  margin:0 0 20px !important;
}
.av-area-intro{
  display:none !important;
}
@media (max-width:767px){
  .av-area-top-copy{
    padding-top:52px !important;
    padding-bottom:56px !important;
  }
  .av-area-top-copy .av-wrap{
    width:min(100% - 36px, 1060px) !important;
  }
  .av-area-kicker{
    font-size:2.15rem !important;
    margin-bottom:24px !important;
  }
  .av-area-intro-restored-title{
    font-size:clamp(2.5rem, 12vw, 3.7rem) !important;
    margin-bottom:26px !important;
  }
  .av-area-top-copy__body p{
    font-size:1rem !important;
    line-height:1.85 !important;
  }
}


/* Repaired core pages from latest ZIP only */

/* Area Guides */
.av-area-page{background:#f6f2ea;}
.av-area-hero{background:#151515;}
.av-area-slider{position:relative;min-height:620px;overflow:hidden;background:#111;}
.av-area-slide{position:absolute;inset:0;opacity:0;transform:scale(1.025);background:center/cover no-repeat;transition:opacity .8s ease,transform 1.4s ease;pointer-events:none;}
.av-area-slide.is-active{opacity:1;transform:scale(1);pointer-events:auto;}
.av-area-slide__inner{min-height:620px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;padding:88px 0;}
.av-area-slide .av-title{color:#fff;max-width:900px;text-shadow:0 12px 34px rgba(0,0,0,.32);text-transform:none;}
.av-area-slide__button{display:inline-flex;align-items:center;justify-content:center;margin-top:24px;padding:13px 26px;border:1px solid rgba(255,255,255,.9);border-radius:6px;color:#fff;font-family:var(--av-sans);font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:rgba(0,0,0,.08);}
.av-area-arrow{position:absolute;top:50%;z-index:10;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.55);border-radius:50%;color:#fff;background:rgba(0,0,0,.22);font-size:2rem;line-height:1;cursor:pointer;}
.av-area-arrow-prev{left:34px;}
.av-area-arrow-next{right:34px;}
.av-area-dots{position:absolute;z-index:10;left:50%;bottom:28px;transform:translateX(-50%);display:flex;gap:8px;flex-wrap:wrap;justify-content:center;width:min(92%,520px);}
.av-area-dots button{width:8px;height:8px;border:0;border-radius:50%;background:rgba(255,255,255,.48);padding:0;cursor:pointer;}
.av-area-dots button.is-active{background:#fff;}
.av-area-top-copy{background:#fff!important;padding-top:78px!important;padding-bottom:78px!important;}
.av-area-top-copy .av-wrap{width:min(100% - 56px,1060px)!important;max-width:1060px!important;}
.av-area-kicker{font-family:var(--av-serif)!important;font-size:clamp(2rem,4vw,3.2rem)!important;line-height:1.05!important;color:#1c1d1b!important;margin:0 0 32px!important;text-transform:none!important;letter-spacing:0!important;}
.av-area-top-copy__body{max-width:920px!important;}
.av-area-top-copy__body p{color:#756f67!important;font-size:1.05rem!important;line-height:1.95!important;margin:0 0 20px!important;}
.av-area-intro{display:block!important;background:#f6f2ea!important;padding-top:82px!important;padding-bottom:86px!important;}
.av-area-narrative{display:block!important;width:min(100% - 56px,1060px)!important;max-width:1060px!important;margin:0 auto!important;}
.av-area-narrative>div:first-child{display:none!important;}
.av-area-narrative>div:last-child{max-width:880px!important;margin:0!important;}
.av-area-second-title{font-family:var(--av-serif)!important;font-size:clamp(2.25rem,4vw,3.4rem)!important;line-height:1.05!important;color:#1c1d1b!important;max-width:760px!important;margin:0 0 26px!important;letter-spacing:-.025em!important;}
.av-area-narrative p{max-width:880px!important;color:#756f67!important;font-size:1.02rem!important;line-height:1.9!important;margin:0 0 18px!important;}
.av-area-choice{background:#fff;}
.av-area-choice-card{max-width:920px!important;background:#354046;color:#e6dcce;border-radius:var(--av-radius);padding:46px;box-shadow:0 18px 46px rgba(0,0,0,.12);}
.av-area-choice-card .av-title,.av-area-choice-card p{color:#e6dcce;}
.av-area-choice-card p{line-height:1.9;}
.av-area-cover{background:#f6f2ea;}
.av-area-list{max-width:880px;margin-top:18px;color:#6b6157;line-height:2;}
.av-area-cta{margin-top:0;}
.av-area-cta .av-btn{margin-top:24px!important;}

/* About */
.av-about-page{background:#f6f2ea;}
.av-about-hero{position:relative;min-height:620px;display:flex;align-items:flex-end;background:linear-gradient(180deg,rgba(20,20,18,.16) 0%,rgba(20,20,18,.08) 36%,rgba(20,20,18,.56) 100%),var(--about-hero-image) center/cover no-repeat;color:#fff;}
.av-about-hero__content{width:min(100% - 64px,980px);margin:0 auto;padding:0 0 74px;}
.av-about-hero-label{display:inline-flex!important;align-items:center!important;white-space:nowrap!important;color:rgba(255,255,255,.9)!important;font-size:.72rem!important;line-height:1!important;letter-spacing:.28em!important;text-transform:uppercase!important;font-weight:600!important;margin-bottom:20px!important;}
.av-about-hero-label::after{content:"";display:inline-block;width:56px;height:1px;margin-left:20px;background:rgba(255,255,255,.54);}
.av-about-hero .av-title{color:#fff;max-width:880px;text-shadow:0 10px 32px rgba(0,0,0,.28);}
.av-about-hero__subtitle{max-width:620px;margin:22px 0 0;color:rgba(255,255,255,.86);font-family:var(--av-sans);font-size:1.08rem;line-height:1.75;}
.av-about-intro{background:#fff;}
.av-about-intro__grid{display:grid;gap:54px;align-items:center;}
.av-about-intro__copy{max-width:720px;}
.av-about-intro__copy .av-title{margin-bottom:24px;}
.av-about-intro__copy p{color:var(--av-muted);line-height:1.9;font-size:1.03rem;}
.av-about-intro__image{min-height:340px;border-radius:22px;background:center/cover no-repeat;box-shadow:0 18px 44px rgba(0,0,0,.12);}
.av-about-services{background:#f6f2ea;}
.av-about-service-grid{display:grid;gap:18px;margin-top:34px;}
.av-about-service-card{background:#fff;border:1px solid rgba(53,64,70,.08);border-radius:18px;padding:30px;box-shadow:0 14px 34px rgba(0,0,0,.05);}
.av-about-service-card span{display:block;margin-bottom:22px;color:#b18f67;font-family:var(--av-serif);font-size:1.35rem;}
.av-about-service-card h3{margin:0 0 14px;color:#1f2424;font-family:var(--av-serif);font-size:1.55rem;line-height:1.08;}
.av-about-service-card p{margin:0;color:var(--av-muted);line-height:1.75;}
.av-about-team{background:#fff;}
.av-about-team__eyebrow{justify-content:center;text-align:center;margin:0 auto 32px;}
.av-about-team-cards{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;}
.av-about-team-card{width:min(100%,300px);}
.av-about-team-card__photo-wrap{position:relative;overflow:hidden;min-height:340px;background:#ece7de;}
.av-about-team-card__photo{display:block;width:100%;height:420px;object-fit:cover;object-position:center center;}
.av-about-team-card--gabriel .av-about-team-card__photo{object-position:center 28%;}
.av-about-team-card--cristina .av-about-team-card__photo{object-position:center 18%;}
.av-about-team-card__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.55) 100%);}
.av-about-team-card__meta{position:absolute;left:0;right:0;bottom:0;text-align:center;padding:18px 16px 20px;color:#fff;z-index:2;}
.av-about-team-card__meta h3{margin:0 0 6px;font-family:var(--av-sans);font-size:.86rem;line-height:1.2;letter-spacing:2px;font-weight:700;color:#fff;}
.av-about-team-card__meta p{margin:0;font-size:.82rem;line-height:1.4;font-style:italic;color:rgba(255,255,255,.88);}
.av-about-partners{background:#fff!important;text-align:center;}
.av-about-partners .av-wrap{max-width:1040px!important;background:#fff!important;}
.av-about-partners__title{margin:0 auto 42px;color:#b56f5f;font-family:var(--av-sans);font-size:.78rem;line-height:1.5;font-weight:500;letter-spacing:.16em;text-transform:uppercase;}
.av-about-logo-grid{display:grid;grid-template-columns:repeat(6,minmax(90px,1fr));gap:34px 42px;align-items:center;justify-items:center;}
.av-about-logo-item{display:flex;align-items:center;justify-content:center;min-height:48px;width:100%;background:#fff;}
.av-about-logo-item img{display:block;width:auto;max-width:142px;max-height:44px;height:auto;object-fit:contain;filter:grayscale(1) contrast(1.05);}
.av-about-logo-grid--brands .av-about-logo-item:nth-child(1) img{max-width:154px;}
.av-about-logo-grid--brands .av-about-logo-item:nth-child(3) img{max-width:138px;}
.av-about-logo-grid--brands .av-about-logo-item:nth-child(7) img{max-width:160px;}
.av-about-logo-grid--brands .av-about-logo-item:nth-child(10) img{max-width:116px;}
.av-about-logo-grid--brands .av-about-logo-item:nth-child(11) img{max-width:134px;}
.av-about-professionals-title{justify-content:center;margin:62px auto 30px!important;color:#b56f5f!important;}
.av-about-logo-grid--professionals{grid-template-columns:repeat(4,minmax(120px,1fr));max-width:820px;margin:0 auto;}
.av-about-logo-grid--professionals .av-about-logo-item img{max-width:170px;max-height:72px;}
.av-about-cta{margin-top:0;}
.av-about-cta .av-btn{margin-top:24px!important;}

@media (min-width:820px){
  .av-about-intro__grid{grid-template-columns:1.05fr .95fr;}
  .av-about-service-grid{grid-template-columns:repeat(4,1fr);}
}
@media (max-width:991px){
  .av-about-logo-grid{grid-template-columns:repeat(3,minmax(110px,1fr));}
  .av-about-logo-grid--professionals{grid-template-columns:repeat(2,minmax(140px,1fr));max-width:520px;}
}
@media (max-width:767px){
  .av-area-slider,.av-area-slide__inner{min-height:560px;}
  .av-area-slide__inner{padding-top:84px;padding-bottom:72px;}
  .av-area-slide .av-title{font-size:clamp(2.45rem,14vw,4.2rem);}
  .av-area-arrow{display:flex!important;width:38px!important;height:38px!important;top:52%!important;font-size:1.7rem!important;background:rgba(0,0,0,.28)!important;}
  .av-area-arrow-prev{left:14px!important;}
  .av-area-arrow-next{right:14px!important;}
  .av-area-dots{bottom:20px;}
  .av-area-top-copy{padding-top:52px!important;padding-bottom:56px!important;}
  .av-area-top-copy .av-wrap,.av-area-narrative{width:min(100% - 36px,1060px)!important;}
  .av-area-kicker{font-size:2.15rem!important;margin-bottom:24px!important;}
  .av-area-intro{padding-top:54px!important;padding-bottom:60px!important;}
  .av-area-second-title{font-size:clamp(2.1rem,10vw,3rem)!important;margin-bottom:22px!important;}
  .av-area-top-copy__body p,.av-area-narrative p{font-size:1rem!important;line-height:1.82!important;}
  .av-area-choice-card{padding:32px 24px;}
  .av-about-hero{min-height:560px;}
  .av-about-hero__content{width:min(100% - 36px,980px);padding-bottom:56px;}
  .av-about-hero .av-title{font-size:clamp(2.55rem,12vw,4.2rem);}
  .av-about-hero__subtitle{font-size:1rem;line-height:1.7;}
  .av-about-intro__image{min-height:340px;border-radius:18px;}
  .av-about-team-cards{gap:12px;}
  .av-about-team-card{width:min(100%,360px);}
  .av-about-team-card__photo-wrap,.av-about-team-card__photo{min-height:360px;height:360px;}
  .av-about-service-card{padding:25px;}
  .av-about-logo-grid{grid-template-columns:repeat(2,minmax(120px,1fr));gap:28px 26px;}
  .av-about-logo-grid--professionals{grid-template-columns:1fr;max-width:260px;}
  .av-about-logo-item img{max-width:135px;max-height:42px;}
}


/* About partner project gallery */
.av-about-partner-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:48px auto 64px;background:#fff;overflow:hidden;border-radius:0;}
.av-about-partner-gallery__item{margin:0;aspect-ratio:1.296 / 1;overflow:hidden;background:#f8f8f8;}
.av-about-partner-gallery__item img{display:block;width:100%;height:100%;object-fit:cover;}
@media (max-width:991px){.av-about-partner-gallery{grid-template-columns:repeat(2,minmax(0,1fr));margin:40px auto 56px;}}
@media (max-width:767px){.av-about-partner-gallery{grid-template-columns:repeat(2,minmax(0,1fr));margin:32px auto 48px;}.av-about-partner-gallery__item{aspect-ratio:1 / 1;}}


/* Professionals project gallery + strict white partners background */
.av-about-partners,
.av-about-partners .av-wrap,
.av-about-partners .av-about-logo-grid,
.av-about-partners .av-about-logo-item,
.av-about-partners .av-about-partner-gallery,
.av-about-partners .av-about-professional-gallery{
  background:#ffffff !important;
}

.av-about-partners{
  padding-top:86px !important;
  padding-bottom:0 !important;
}

.av-about-professional-gallery{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  margin:54px calc(50% - 50vw) 0;
  width:100vw;
  background:#ffffff !important;
}

.av-about-professional-gallery__item{
  margin:0;
  aspect-ratio:1.296 / 1;
  overflow:hidden;
  background:#ffffff !important;
}

.av-about-professional-gallery__item img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

@media (max-width:991px){
  .av-about-professional-gallery{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:767px){
  .av-about-partners,
  .av-about-partners .av-wrap,
  .av-about-partners .av-about-logo-grid,
  .av-about-partners .av-about-logo-item,
  .av-about-partners .av-about-partner-gallery,
  .av-about-partners .av-about-professional-gallery{
    background:#ffffff !important;
  }

  .av-about-partners{
    padding-top:62px !important;
  }

  .av-about-professional-gallery{
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin-top:42px;
  }

  .av-about-professional-gallery__item{
    aspect-ratio:1 / 1;
  }
}


/* Final About page ordering + professional gallery sizing */
.av-about-team + .av-about-cta{margin-top:0;}
.av-about-cta + .av-about-partners{padding-top:86px !important;}
.av-about-professional-gallery{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:0 !important;
  margin:54px auto 0 !important;
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
  background:#ffffff !important;
}
.av-about-professional-gallery__item{
  margin:0 !important;
  aspect-ratio:1.296 / 1 !important;
  overflow:hidden !important;
  background:#ffffff !important;
}
.av-about-professional-gallery__item img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
@media (max-width:991px){
  .av-about-professional-gallery{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    margin:40px auto 0 !important;
  }
}
@media (max-width:767px){
  .av-about-cta .av-btn{margin-top:32px !important;}
  .av-about-cta + .av-about-partners{padding-top:62px !important;}
  .av-about-professional-gallery{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    margin:42px auto 0 !important;
    width:100% !important;
  }
  .av-about-professional-gallery__item{aspect-ratio:1 / 1 !important;}
}




/* About final spacing before footer + Professionals mobile 2 rows */
.av-about-professional-gallery{
  margin-bottom:34px !important;
}

.av-about-partners{
  padding-bottom:34px !important;
}

@media (max-width:767px){
  .av-about-logo-grid--professionals{
    grid-template-columns:repeat(2, minmax(120px, 1fr)) !important;
    max-width:420px !important;
    gap:28px 26px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .av-about-professional-gallery{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    margin-bottom:30px !important;
  }

  .av-about-partners{
    padding-bottom:30px !important;
  }
}


/* Final hero height reduction except Area Guides */
body.home .av-hero,
body.front-page .av-hero,
.home .av-hero,
.front-page .av-hero,
.av-projects-hero,
.av-about-hero,
.av-villa-hero-stage{
  min-height:520px !important;
  height:520px !important;
}

body.home .av-hero,
body.front-page .av-hero,
.home .av-hero,
.front-page .av-hero{
  align-items:flex-end !important;
  background-position:center center !important;
}

body.home .av-hero__inner,
body.front-page .av-hero__inner,
.home .av-hero__inner,
.front-page .av-hero__inner{
  padding-top:0 !important;
  padding-bottom:118px !important;
}

.av-projects-hero__inner,
.av-about-hero__content,
.av-villa-hero-stage__content{
  width:min(100% - 160px, 760px) !important;
  max-width:760px !important;
  margin-left:80px !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  text-align:left !important;
  align-items:flex-start !important;
  transform:none !important;
  left:auto !important;
  right:auto !important;
}

.av-projects-hero__inner{
  min-height:520px !important;
  height:520px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
  padding-top:0 !important;
  padding-bottom:72px !important;
}

.av-about-hero{
  align-items:flex-end !important;
}

.av-about-hero__content{
  padding-top:0 !important;
  padding-bottom:72px !important;
}

.av-villa-hero-stage__content{
  position:absolute !important;
  bottom:72px !important;
}

body.home .av-hero .av-title,
body.front-page .av-hero .av-title,
.home .av-hero .av-title,
.front-page .av-hero .av-title,
.av-projects-hero .av-title,
.av-about-hero .av-title,
.av-villa-hero-stage__content .av-title{
  font-size:clamp(2.55rem, 3.45vw, 3.35rem) !important;
  line-height:1.06 !important;
  letter-spacing:-.025em !important;
  max-width:760px !important;
  text-align:left !important;
}

body.home .av-hero .av-lead,
body.front-page .av-hero .av-lead,
.home .av-hero .av-lead,
.front-page .av-hero .av-lead,
.av-about-hero__subtitle{
  max-width:560px !important;
}

.av-projects-hero-label,
.av-about-hero-label,
.av-villa-hero-stage__content .av-eyebrow{
  text-align:left !important;
  justify-content:flex-start !important;
  margin-left:0 !important;
  margin-bottom:18px !important;
}

@media (max-width:767px){
  body.home .av-hero,
  body.front-page .av-hero,
  .home .av-hero,
  .front-page .av-hero,
  .av-projects-hero,
  .av-about-hero,
  .av-villa-hero-stage{
    min-height:500px !important;
    height:500px !important;
  }

  body.home .av-hero__inner,
  body.front-page .av-hero__inner,
  .home .av-hero__inner,
  .front-page .av-hero__inner{
    padding-top:0 !important;
    padding-bottom:92px !important;
  }

  .av-projects-hero__inner,
  .av-about-hero__content,
  .av-villa-hero-stage__content{
    width:min(100% - 36px, 760px) !important;
    max-width:760px !important;
    margin-left:18px !important;
    margin-right:auto !important;
  }

  .av-projects-hero__inner{
    min-height:500px !important;
    height:500px !important;
    padding-bottom:56px !important;
  }

  .av-about-hero__content{
    padding-bottom:56px !important;
  }

  .av-villa-hero-stage__content{
    bottom:56px !important;
  }

  body.home .av-hero .av-title,
  body.front-page .av-hero .av-title,
  .home .av-hero .av-title,
  .front-page .av-hero .av-title,
  .av-projects-hero .av-title,
  .av-about-hero .av-title,
  .av-villa-hero-stage__content .av-title{
    font-size:clamp(2.05rem, 9vw, 3rem) !important;
    line-height:1.08 !important;
    max-width:96% !important;
  }
}


/* Desktop hero title horizontal correction */
@media (min-width:768px){
  .av-projects-hero__inner,
  .av-about-hero__content,
  .av-villa-hero-stage__content{
    margin-left:max(120px, calc((100vw - 1180px) / 2 + 18px)) !important;
    margin-right:auto !important;
    width:min(100% - max(240px, calc((100vw - 1180px) + 36px)), 760px) !important;
    max-width:760px !important;
  }

  .av-villa-hero-stage__content{
    left:auto !important;
    right:auto !important;
    transform:none !important;
  }
}


/* Area Guides small gap between CTA section and footer */
.av-area-cta{
  padding-bottom:0 !important;
  margin-bottom:28px !important;
}

@media (max-width:767px){
  .av-area-cta{
    padding-bottom:0 !important;
    margin-bottom:22px !important;
  }
}


/* Final lower hero height for Home, Projects, Villa, About only */
body.home .av-hero,
body.front-page .av-hero,
.home .av-hero,
.front-page .av-hero,
.av-projects-hero,
.av-about-hero,
.av-villa-hero-stage{
  min-height:460px !important;
  height:460px !important;
}

body.home .av-hero__inner,
body.front-page .av-hero__inner,
.home .av-hero__inner,
.front-page .av-hero__inner{
  padding-top:0 !important;
  padding-bottom:82px !important;
}

.av-projects-hero__inner{
  min-height:460px !important;
  height:460px !important;
  padding-top:0 !important;
  padding-bottom:58px !important;
}

.av-about-hero__content{
  padding-top:0 !important;
  padding-bottom:58px !important;
}

.av-villa-hero-stage__content{
  bottom:58px !important;
}

body.home .av-hero .av-title,
body.front-page .av-hero .av-title,
.home .av-hero .av-title,
.front-page .av-hero .av-title,
.av-projects-hero .av-title,
.av-about-hero .av-title,
.av-villa-hero-stage__content .av-title{
  font-size:clamp(2.3rem, 3.05vw, 3.05rem) !important;
  line-height:1.06 !important;
  max-width:760px !important;
}

@media (max-width:767px){
  body.home .av-hero,
  body.front-page .av-hero,
  .home .av-hero,
  .front-page .av-hero,
  .av-projects-hero,
  .av-about-hero,
  .av-villa-hero-stage{
    min-height:460px !important;
    height:460px !important;
  }

  body.home .av-hero__inner,
  body.front-page .av-hero__inner,
  .home .av-hero__inner,
  .front-page .av-hero__inner{
    padding-top:0 !important;
    padding-bottom:82px !important;
  }

  .av-projects-hero__inner{
    min-height:460px !important;
    height:460px !important;
    padding-bottom:48px !important;
  }

  .av-about-hero__content{
    padding-bottom:48px !important;
  }

  .av-villa-hero-stage__content{
    bottom:48px !important;
  }

  body.home .av-hero .av-title,
  body.front-page .av-hero .av-title,
  .home .av-hero .av-title,
  .front-page .av-hero .av-title,
  .av-projects-hero .av-title,
  .av-about-hero .av-title,
  .av-villa-hero-stage__content .av-title{
    font-size:clamp(2rem, 8.2vw, 2.75rem) !important;
    line-height:1.08 !important;
  }
}


/* Remove extra black Call Now strip on mobile homepage */
@media (max-width:767px){
  .av-mobile-call,
  .av-call-strip,
  .av-home-call-strip,
  .av-call-now-strip,
  .av-sticky-call,
  .av-mobile-cta-call,
  .av-cta-call-strip,
  section:has(> .av-wrap > .av-eyebrow:only-child){
    display:none !important;
  }

  .av-discovery + .av-call-strip,
  .av-discovery + .av-home-call-strip,
  .av-discovery + .av-mobile-call,
  .av-discovery + .av-call-now-strip{
    display:none !important;
  }
}


/* Contact page with Forminator */
.av-contact-page{background:#f6f2ea;}
.av-contact-hero{
  position:relative;
  min-height:380px;
  height:460px;
  display:flex;
  align-items:flex-end;
  background:
    linear-gradient(180deg,rgba(20,20,18,.16) 0%,rgba(20,20,18,.08) 36%,rgba(20,20,18,.58) 100%),
    var(--contact-hero-image) center/cover no-repeat;
  color:#fff;
}
.av-contact-hero__content{
  width:min(100% - 160px, 760px);
  max-width:760px;
  margin-left:max(120px, calc((100vw - 1180px) / 2 + 18px));
  margin-right:auto;
  padding:0 0 58px;
  text-align:left;
}
.av-contact-hero-label{
  display:inline-flex!important;
  align-items:center!important;
  white-space:nowrap!important;
  color:rgba(255,255,255,.9)!important;
  font-size:.72rem!important;
  line-height:1!important;
  letter-spacing:.28em!important;
  text-transform:uppercase!important;
  font-weight:600!important;
  margin-bottom:18px!important;
}
.av-contact-hero-label::after{
  content:"";
  display:inline-block;
  width:56px;
  height:1px;
  margin-left:20px;
  background:rgba(255,255,255,.54);
}
.av-contact-hero .av-title{
  color:#fff;
  font-size:clamp(2.3rem, 3.05vw, 3.05rem)!important;
  line-height:1.06!important;
  letter-spacing:-.025em!important;
  max-width:760px!important;
  text-shadow:0 10px 32px rgba(0,0,0,.28);
}
.av-contact-hero__text{
  max-width:560px;
  margin:22px 0 0;
  color:rgba(255,255,255,.86);
  font-family:var(--av-sans);
  font-size:1.04rem;
  line-height:1.75;
}
.av-contact-main{
  background:#f6f2ea;
  padding-top:82px!important;
  padding-bottom:40px!important;
}
.av-contact-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:34px;
  align-items:stretch;
}
.av-contact-details,
.av-contact-form-card{
  min-height:100%;
}
.av-contact-details{
  background:#354046;
  color:#e6dcce;
  border-radius:24px;
  padding:44px;
  position:sticky;
  top:118px;
  display:flex;
  flex-direction:column;
}
.av-contact-details .av-eyebrow,
.av-contact-details .av-title,
.av-contact-details .av-lead{
  color:#e6dcce;
}
.av-contact-details .av-title{margin-bottom:22px;}
.av-contact-details .av-lead{line-height:1.8;}
.av-contact-info{
  display:grid;
  gap:24px;
  margin-top:34px;
}
.av-contact-info span{
  display:block;
  margin-bottom:8px;
  font-family:var(--av-sans);
  font-size:.72rem;
  line-height:1;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(230,220,206,.66);
  font-weight:700;
}
.av-contact-info a,
.av-contact-info p{
  margin:0;
  color:#fff;
  font-family:var(--av-sans);
  font-size:1.04rem;
  line-height:1.65;
}
.av-contact-socials{
  margin-top:auto;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  padding-top:28px;
}
.av-contact-social{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:48px;
  padding:0 16px;
  border:1px solid rgba(255,255,255,.26);
  border-radius:999px;
  color:#fff;
  text-decoration:none;
  font-family:var(--av-sans);
  font-size:.78rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:700;
  transition:all .2s ease;
}
.av-contact-social:hover{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.48);
}
.av-contact-social__icon{
  display:inline-flex;
  width:18px;
  height:18px;
}
.av-contact-social__icon svg{width:18px;height:18px;display:block;}
.av-contact-form-card{
  background:#fff;
  border:1px solid rgba(53,64,70,.10);
  border-radius:24px;
  padding:44px;
  box-shadow:0 18px 44px rgba(0,0,0,.06);
  display:flex;
  flex-direction:column;
}
.av-contact-form-card h2{
  margin:0 0 28px;
  font-family:var(--av-serif);
  font-size:clamp(2rem,3.2vw,3rem);
  line-height:1.06;
  color:#1c1d1b;
}
.av-contact-form{flex:1;}
.av-contact-form .forminator-ui{font-family:var(--av-sans)!important;}
.av-contact-form .forminator-label{
  color:#354046!important;
  font-family:var(--av-sans)!important;
  font-size:.72rem!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  font-weight:700!important;
}
.av-contact-form input,
.av-contact-form textarea,
.av-contact-form select{
  border-radius:0!important;
  border:0!important;
  border-bottom:1px solid rgba(53,64,70,.28)!important;
  background:#fff!important;
  box-shadow:none!important;
  color:#1f2424!important;
}
.av-contact-form textarea{min-height:150px!important;}
.av-contact-form .forminator-button-submit,
.av-contact-form button[type="submit"]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:54px!important;
  padding:16px 30px!important;
  border:1px solid #1c1d1b!important;
  border-radius:0!important;
  background:#1c1d1b!important;
  color:#fff!important;
  font-family:var(--av-sans)!important;
  font-size:.78rem!important;
  line-height:1!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  font-weight:800!important;
  box-shadow:none!important;
}
.av-contact-discovery{
  background:#fff;
  padding:28px 0 56px;
}
.av-contact-discovery__box{
  background:#f6f2ea;
  border-radius:24px;
  padding:46px;
}
.av-contact-discovery__box p:not(.av-eyebrow){
  max-width:720px;
  color:#6b6157;
  line-height:1.8;
}
.av-contact-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:26px;
}
@media (max-width:900px){
  .av-contact-grid{grid-template-columns:1fr;}
  .av-contact-details{position:relative;top:auto;}
  .av-contact-socials{margin-top:28px;}
}
@media (max-width:767px){
  .av-contact-hero{min-height:380px;height:460px;}
  .av-contact-hero__content{
    width:min(100% - 36px, 760px);
    margin-left:18px;
    padding-bottom:48px;
  }
  .av-contact-hero .av-title{
    font-size:clamp(2rem, 8.2vw, 2.75rem)!important;
    line-height:1.08!important;
  }
  .av-contact-main{padding-top:54px!important;padding-bottom:30px!important;}
  .av-contact-details,
  .av-contact-form-card,
  .av-contact-discovery__box{border-radius:20px;padding:30px 24px;}
  .av-contact-socials{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
  .av-contact-social{justify-content:center;padding:0 12px;min-height:46px;}
  .av-contact-actions{display:grid;gap:12px;}
  .av-contact-actions .av-btn{width:100%;justify-content:center;}
  .av-contact-discovery{padding:22px 0 48px;}
}


/* Area Guides card outer edges aligned with other page sections */
.av-area-choice .av-area-choice-card{
  width:min(100% - 56px, 1060px) !important;
  max-width:1060px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

@media (max-width:767px){
  .av-area-choice .av-area-choice-card{
    width:min(100% - 36px, 1060px) !important;
  }
}



/* Area Guides: align intro paragraphs further left with header logo */
.av-area-top-copy .av-wrap,
.av-area-intro .av-wrap,
.av-area-choice .av-wrap,
.av-area-cover .av-wrap,
.av-area-cta .av-wrap{
  width:min(100% - 36px, 1180px) !important;
  max-width:1180px !important;
}

/* Keep readable text widths while shifting the whole content block left */
.av-area-top-copy__body,
.av-area-intro .av-area-narrative,
.av-area-cover .av-wrap > .av-title,
.av-area-cover .av-wrap > .av-lead,
.av-area-cover .av-wrap > .av-area-list,
.av-area-cta .av-lead{
  max-width:920px !important;
}

@media (max-width:767px){
  .av-area-top-copy .av-wrap,
  .av-area-intro .av-wrap,
  .av-area-choice .av-wrap,
  .av-area-cover .av-wrap,
  .av-area-cta .av-wrap{
    width:min(100% - 36px, 1180px) !important;
  }
}


/* Area Guides: align second paragraph section to the left like the first */
.av-area-intro .av-area-narrative{
  width:min(100% - 36px, 1180px) !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  display:block !important;
}

.av-area-intro .av-area-narrative > div:last-child{
  max-width:920px !important;
  margin-left:0 !important;
  margin-right:auto !important;
}

.av-area-intro .av-area-second-title{
  max-width:760px !important;
  margin-left:0 !important;
  margin-right:auto !important;
}

.av-area-intro .av-area-narrative p{
  max-width:920px !important;
}

@media (max-width:767px){
  .av-area-intro .av-area-narrative{
    width:min(100% - 36px, 1180px) !important;
  }
}


/* Area Guides: visible white space above Book a Discovery Call section */
.av-area-cta{
  margin-top:0 !important;
  border-top:44px solid #ffffff !important;
  background-clip:padding-box !important;
}

@media (max-width:767px){
  .av-area-cta{
    border-top:34px solid #ffffff !important;
  }
}


/* Villa Renovation: title + left alignment for first text block under hero */
.av-villa-hero__body{
  width:min(100% - 72px, 1180px) !important;
  max-width:1180px !important;
  margin:34px auto 0 !important;
  text-align:left !important;
}

.av-villa-hero-body-title{
  max-width:760px !important;
  margin:0 0 20px !important;
  color:#1c1d1b !important;
}

.av-villa-hero__body .av-lead,
.av-villa-hero__body p{
  max-width:760px !important;
  margin-left:0 !important;
  margin-right:auto !important;
}

@media (max-width:767px){
  .av-villa-hero__body{
    width:min(100% - 36px, 1180px) !important;
    margin-top:28px !important;
  }

  .av-villa-hero-body-title{
    margin-bottom:16px !important;
  }
}


/* Villa Renovation: white background for first paragraph and FAQ */
.av-villa-hero{
  background:#ffffff !important;
}

.av-villa-hero__body{
  background:#ffffff !important;
}

.av-villa-faq{
  background:#ffffff !important;
}


/* Villa Renovation: white background for service cover section */
.av-villa-service{
  background:#ffffff !important;
}


/* Projects page: white background */
.av-projects-page,
.av-projects-page .av-projects-signature,
.av-projects-page .av-projects-list,
.av-projects-page .av-projects-video{
  background:#ffffff !important;
}


/* Home: top Book a Discovery Call section white background */
body.home .av-discovery,
body.front-page .av-discovery,
.home .av-discovery,
.front-page .av-discovery{
  background:#ffffff !important;
}

body.home .av-discovery-copy,
body.front-page .av-discovery-copy,
.home .av-discovery-copy,
.front-page .av-discovery-copy{
  background:#ffffff !important;
}


/* Home: next section after Discovery Call - text left, image right */
body.home #about .av-intro-copy,
body.front-page #about .av-intro-copy,
.home #about .av-intro-copy,
.front-page #about .av-intro-copy{
  order:1 !important;
}

body.home #about .av-image-card,
body.front-page #about .av-image-card,
.home #about .av-image-card,
.front-page #about .av-image-card{
  order:2 !important;
}

@media (min-width:760px){
  body.home #about .av-intro-grid,
  body.front-page #about .av-intro-grid,
  .home #about .av-intro-grid,
  .front-page #about .av-intro-grid{
    grid-template-columns:1fr .95fr !important;
  }
}


/* Home: Areas section white background while keeping the original Areas image */
body.home .av-areas,
body.front-page .av-areas,
.home .av-areas,
.front-page .av-areas{
  background:
    linear-gradient(0deg,rgba(255,255,255,.90),rgba(255,255,255,.90)),
    var(--area-image) center/cover no-repeat,
    #ffffff !important;
}


/* Home: Design Insights section white background */
body.home #journal,
body.front-page #journal,
.home #journal,
.front-page #journal{
  background:#ffffff !important;
}


/* Home: white space above footer */
body.home .site-footer,
body.front-page .site-footer,
.home .site-footer,
.front-page .site-footer{
  border-top:56px solid #ffffff !important;
}

@media (max-width:767px){
  body.home .site-footer,
  body.front-page .site-footer,
  .home .site-footer,
  .front-page .site-footer{
    border-top:38px solid #ffffff !important;
  }
}


/* Home: make Marbella location eyebrow white */
body.home .av-hero .av-eyebrow,
body.front-page .av-hero .av-eyebrow,
.home .av-hero .av-eyebrow,
.front-page .av-hero .av-eyebrow{
  color:#ffffff !important;
}


/* About: brand logos balanced like reference image */
.av-about-logo-grid--brands .av-about-logo-item img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:142px !important;
  max-height:44px !important;
  object-fit:contain !important;
  filter:grayscale(1) contrast(1.05) !important;
}

.av-about-logo-grid--brands .av-about-logo-item:nth-child(1) img{max-width:154px !important;}
.av-about-logo-grid--brands .av-about-logo-item:nth-child(3) img{max-width:138px !important;}
.av-about-logo-grid--brands .av-about-logo-item:nth-child(7) img{max-width:160px !important;}
.av-about-logo-grid--brands .av-about-logo-item:nth-child(10) img{max-width:116px !important;}
.av-about-logo-grid--brands .av-about-logo-item:nth-child(11) img{max-width:134px !important;}

@media (max-width:767px){
  .av-about-logo-grid--brands .av-about-logo-item img{
    max-width:135px !important;
    max-height:42px !important;
  }
}


/* About: make selected brand logos slightly larger */
.av-about-logo-grid--brands .av-about-logo-item:nth-child(2) img{max-width:168px !important;}  /* porada */
.av-about-logo-grid--brands .av-about-logo-item:nth-child(4) img{max-width:170px !important;}  /* poliform */
.av-about-logo-grid--brands .av-about-logo-item:nth-child(5) img{max-width:136px !important;}  /* gessi */
.av-about-logo-grid--brands .av-about-logo-item:nth-child(13) img{max-width:128px !important;} /* ditre italia */
.av-about-logo-grid--brands .av-about-logo-item:nth-child(14) img{max-width:140px !important;} /* cantori */
.av-about-logo-grid--brands .av-about-logo-item:nth-child(17) img{max-width:140px !important;} /* saba */

/* About: increase selected brand logos a bit more */
.av-about-logo-grid--brands .av-about-logo-item:nth-child(2) img{max-width:182px !important;}  /* porada */
.av-about-logo-grid--brands .av-about-logo-item:nth-child(4) img{max-width:184px !important;}  /* poliform */
.av-about-logo-grid--brands .av-about-logo-item:nth-child(5) img{max-width:148px !important;}  /* gessi */
.av-about-logo-grid--brands .av-about-logo-item:nth-child(13) img{max-width:138px !important;} /* ditre italia */
.av-about-logo-grid--brands .av-about-logo-item:nth-child(14) img{max-width:152px !important;} /* cantori */
.av-about-logo-grid--brands .av-about-logo-item:nth-child(17) img{max-width:152px !important;} /* saba */

/* Single post editorial hero */
.av-single-post{
  background:var(--av-white);
}
.av-post-hero{
  position:relative;
  min-height:340px;
  display:flex;
  align-items:flex-end;
  color:var(--av-white);
  overflow:hidden;
  background:var(--av-black-soft);
}
.av-post-hero--image{
  background-image:var(--post-hero-image);
  background-size:cover;
  background-position:center center;
}
.av-post-hero__overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.26) 0%,rgba(0,0,0,.18) 45%,rgba(0,0,0,.62) 100%),
    linear-gradient(90deg,rgba(0,0,0,.38) 0%,rgba(0,0,0,.08) 58%,rgba(0,0,0,.22) 100%);
  z-index:1;
}
.av-post-hero__inner{
  position:relative;
  z-index:2;
  width:min(100% - 36px,1180px);
  margin-inline:auto;
  padding-top:112px;
  padding-bottom:38px;
}
.av-post-hero__eyebrow{
  color:rgba(255,255,255,.78);
}
.av-post-title{
  font-family:var(--av-serif);
  font-weight:400;
  letter-spacing:-.035em;
  line-height:1.05;
  margin:0;
  max-width:860px;
  font-size:clamp(1.85rem,4vw,3.45rem);
}
.av-post-intro{
  max-width:760px;
  margin:20px 0 0;
  font-size:1rem;
  line-height:1.65;
  color:rgba(255,255,255,.86);
}
.av-post-meta{
  display:flex;
  flex-wrap:wrap;
  gap:12px 24px;
  margin-top:24px;
  font-family:var(--av-sans);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(255,255,255,.72);
}
.av-post-body-section{
  padding:64px 0 86px;
}
.av-post-content{
  width:min(100% - 36px,1180px);
  margin:0 auto;
  background:#fff;
  border:1px solid rgba(28,27,24,.08);
  border-radius:24px;
  padding:clamp(28px,2.8vw,36px);
  box-shadow:0 24px 80px rgba(28,27,24,.08);
}
.av-post-content > *:first-child{
  margin-top:0;
}
.av-post-content p{
  color:var(--av-muted);
  font-size:1rem;
  line-height:1.78;
  margin:0 0 20px;
}
.av-post-content strong{
  color:var(--av-ink);
  font-weight:700;
}
.av-post-content h2,
.av-post-content h3,
.av-post-content h4{
  font-family:var(--av-serif);
  font-weight:400;
  color:var(--av-ink);
  letter-spacing:-.025em;
  line-height:1.14;
  margin:38px 0 16px;
}
.av-post-content h2{font-size:clamp(2rem,4vw,3.1rem)}
.av-post-content h3{font-size:clamp(1.55rem,3vw,2.25rem)}
.av-post-content h4{font-size:1.35rem}
.av-post-content figure{
  margin:36px 0;
}
.av-post-content img{
  width:100%;
  height:auto;
  border-radius:18px;
}
.av-post-content .wp-block-image img{
  width:100%;
}
.av-post-content hr,
.av-post-content .wp-block-separator{
  border:0;
  height:1px;
  background:rgba(28,27,24,.16);
  margin:38px 0;
}
.av-post-content a{
  color:var(--av-ink);
  text-decoration:underline;
  text-underline-offset:4px;
}
@media (min-width:1024px){
  .av-post-hero{
    min-height:380px;
  }
}
@media (max-width:767px){
  .av-post-hero{
    min-height:340px;
  }
  .av-post-hero__inner{
    padding-top:112px;
    padding-bottom:38px;
  }
  .av-post-title{
    font-size:clamp(1.75rem,9vw,2.85rem);
  }
  .av-post-intro{
    font-size:.96rem;
  }
  .av-post-body-section{
    padding:30px 0 64px;
  }
  .av-post-content{
    width:min(100% - 32px,1180px);
    border-radius:20px;
    padding:26px 20px;
  }
  .av-post-content p{
    font-size:.98rem;
    line-height:1.78;
  }
}


.av-post-intro{display:none!important;}


/* Real single post width fix: bypass .av-wrap 1180px cap */
.av-post-wrap{
  width:min(100% - 36px,1180px);
  margin-inline:auto;
}
.av-post-wrap .av-post-content{
  width:100%;
}
@media (max-width:767px){
  .av-post-wrap{
    width:min(100% - 32px,1180px);
  }
}

.av-blog-card__image{display:block;}


.av-blog-card__body h3 a{
  color:inherit;
  text-decoration:none;
}
.av-blog-card__body h3 a:hover{
  opacity:.72;
}









/* Deeper normalization for imported old-builder blog posts */
.single-post .av-post-content,
.single-post .av-post-content *,
.single-post .av-post-content .has-text-color,
.single-post .av-post-content .has-link-color,
.single-post .av-post-content .wp-block-list,
.single-post .av-post-content .wp-block-heading{
  font-family:var(--av-sans) !important;
}

.single-post .av-post-content p,
.single-post .av-post-content li,
.single-post .av-post-content ul,
.single-post .av-post-content ol{
  font-size:16px !important;
  line-height:1.65 !important;
  color:var(--av-ink) !important;
}

.single-post .av-post-content h1,
.single-post .av-post-content h2,
.single-post .av-post-content h3,
.single-post .av-post-content h4,
.single-post .av-post-content h5,
.single-post .av-post-content h6,
.single-post .av-post-content .wp-block-heading{
  font-family:var(--av-sans) !important;
  font-size:20px !important;
  line-height:1.35 !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
  color:var(--av-ink) !important;
  margin:28px 0 14px !important;
}

.single-post .av-post-content strong{
  font-family:var(--av-sans) !important;
  font-weight:600 !important;
  color:var(--av-ink) !important;
}



/* Project child pages: hero title over featured image */
.av-project-detail-page{
  background:var(--av-cream);
}

.av-project-detail-hero{
  position:relative;
  min-height:48vh;
  display:flex;
  align-items:flex-end;
  background:var(--project-detail-hero-image) center/cover no-repeat,#171511;
  overflow:hidden;
}

.av-project-detail-hero__overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.28) 0%,rgba(0,0,0,.18) 42%,rgba(0,0,0,.66) 100%),
    radial-gradient(circle at 25% 18%,rgba(255,255,255,.14),transparent 36%);
}

.av-project-detail-hero__inner{
  position:relative;
  z-index:2;
  padding:112px 0 58px;
  color:#fff;
}

.av-project-detail-hero__eyebrow{
  color:rgba(255,255,255,.78);
}

.av-project-detail-title{
  color:#fff;
  max-width:900px;
  text-shadow:0 5px 28px rgba(0,0,0,.42);
}

.av-project-detail-content{
  padding:46px 0 84px;
}

.av-project-detail-content__wrap{
  width:min(100% - 36px,1180px);
}

/* Keep imported Area Guide blocks consistent even when block assets are deferred. */
.av-project-detail-content__wrap > .wp-block-separator{
  width:100%;
  height:0;
  border:0;
  border-top:2px solid rgba(28,27,24,.48);
  margin:28px 0;
}

.av-project-detail-content__wrap > .wp-block-columns{
  display:flex;
  flex-wrap:nowrap;
  align-items:normal;
  gap:2em;
  margin-bottom:1.75em;
}

.av-project-detail-content__wrap > .wp-block-columns > .wp-block-column{
  flex-basis:0;
  flex-grow:1;
  min-width:0;
}

.av-project-detail-content__wrap .has-text-align-center{
  text-align:center;
}

.av-project-detail-content img,
.av-project-detail-content video{
  width:100%;
  height:auto;
  border-radius:18px;
}

.av-project-detail-content video{
  display:block;
  background:#111;
}

.av-project-detail-content .wp-block-image,
.av-project-detail-content figure{
  margin:0 0 24px;
}

@media (max-width:767px){
  .av-project-detail-hero{
    min-height:44vh;
  }
  .av-project-detail-hero__inner{
    padding:92px 0 42px;
  }
  .av-project-detail-content{
    padding:30px 0 58px;
  }
  .av-project-detail-content img,
  .av-project-detail-content video{
    border-radius:12px;
  }
  .av-project-detail-content__wrap > .wp-block-columns{
    flex-direction:column;
    gap:18px;
  }
  .av-project-detail-content__wrap > .wp-block-columns > .wp-block-column{
    flex-basis:auto;
  }
}



/* Projects page: child page tiles */
.av-projects-tile__image[style*="background-image"]{
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}


/* Project and area guide child pages share the same hero-detail layout. */


/* Area Guides: original-style links */
.av-area-slide{
  position:absolute;
}

.av-area-slide__inner{
  position:relative;
  z-index:2;
}

.av-area-list-links a,
.av-area-list-links span{
  display:inline;
}

.av-area-list-links a{
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid rgba(28,27,24,.38);
  transition:opacity .25s ease,border-color .25s ease;
}

.av-area-list-links a:hover{
  opacity:.68;
  border-bottom-color:rgba(28,27,24,.8);
}

.av-area-list-separator{
  margin:0 .45em;
  opacity:.55;
}



/* Page detail hero subtitle from Excerpt */
.av-project-detail-subtitle{
  max-width:760px;
  margin:18px 0 0;
  color:rgba(255,255,255,.86);
  font-family:var(--av-sans);
  font-size:18px;
  line-height:1.55;
  font-weight:400;
  text-shadow:0 4px 22px rgba(0,0,0,.36);
}

@media (max-width:767px){
  .av-project-detail-subtitle{
    font-size:15px;
    line-height:1.5;
    margin-top:12px;
  }
}



/* Home Areas We Serve inline links */
.av-location-list-links a,
.av-location-list-links span{
  display:inline;
}

.av-location-list-links a{
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid rgba(28,27,24,.38);
  transition:opacity .25s ease,border-color .25s ease;
}

.av-location-list-links a:hover{
  opacity:.68;
  border-bottom-color:rgba(28,27,24,.8);
}

.av-location-list-separator{
  margin:0 .45em;
  opacity:.55;
}



/* Home hero H1 full container width */
body.home .av-hero .av-title{
  max-width:1180px !important;
}



/* Global responsive hero title system - SEO safe visual CSS only */
.av-hero .av-title,
.av-area-slide .av-title,
.av-project-detail-hero .av-title,
.av-project-detail-title,
.single-post .av-post-hero .av-title,
.single-post .av-post-title,
body.page .av-page-hero .av-title{
  max-width:1180px !important;
  width:100% !important;
  text-wrap:balance;
}

/* Keep hero subtitles readable and aligned with the wider title system */
.av-hero .av-lead,
.av-project-detail-subtitle,
.av-area-slide__inner p,
.single-post .av-post-hero .av-lead{
  max-width:760px;
}

/* Desktop: premium wide title without becoming too tall */
@media (min-width:1024px){
  .av-hero .av-title,
  .av-area-slide .av-title,
  .av-project-detail-hero .av-title,
  .av-project-detail-title,
  .single-post .av-post-hero .av-title,
  .single-post .av-post-title,
  body.page .av-page-hero .av-title{
    font-size:clamp(2.75rem,4vw,4.65rem) !important;
    line-height:1.02 !important;
    letter-spacing:-0.045em !important;
  }
}

/* Tablet: controlled width and comfortable line breaks */
@media (min-width:768px) and (max-width:1023px){
  .av-wrap{
    width:min(100% - 48px,1180px);
  }

  .av-hero .av-title,
  .av-area-slide .av-title,
  .av-project-detail-hero .av-title,
  .av-project-detail-title,
  .single-post .av-post-hero .av-title,
  .single-post .av-post-title,
  body.page .av-page-hero .av-title{
    max-width:100% !important;
    font-size:clamp(2.35rem,6vw,3.45rem) !important;
    line-height:1.06 !important;
    letter-spacing:-0.035em !important;
  }

  .av-hero .av-lead,
  .av-project-detail-subtitle,
  .single-post .av-post-hero .av-lead{
    max-width:680px;
  }
}

/* Mobile: no overflow, readable luxury editorial spacing */
@media (max-width:767px){
  .av-wrap{
    width:min(100% - 32px,1180px);
  }

  .av-hero .av-title,
  .av-area-slide .av-title,
  .av-project-detail-hero .av-title,
  .av-project-detail-title,
  .single-post .av-post-hero .av-title,
  .single-post .av-post-title,
  body.page .av-page-hero .av-title{
    max-width:100% !important;
    font-size:clamp(2rem,10.5vw,3rem) !important;
    line-height:1.08 !important;
    letter-spacing:-0.032em !important;
    overflow-wrap:break-word;
    word-break:normal;
  }

  .av-hero .av-lead,
  .av-project-detail-subtitle,
  .single-post .av-post-hero .av-lead{
    max-width:100%;
    font-size:15.5px !important;
    line-height:1.55 !important;
  }
}

/* Very small phones */
@media (max-width:380px){
  .av-hero .av-title,
  .av-area-slide .av-title,
  .av-project-detail-hero .av-title,
  .av-project-detail-title,
  .single-post .av-post-hero .av-title,
  .single-post .av-post-title,
  body.page .av-page-hero .av-title{
    font-size:clamp(1.78rem,10vw,2.45rem) !important;
    line-height:1.1 !important;
  }
}



/* Refined standard page hero titles: About / Contact / service pages */
body.page:not(.home) .av-hero .av-title,
body.page:not(.home) .av-page-hero .av-title{
  max-width:860px !important;
  width:100% !important;
  text-wrap:balance;
}

/* Desktop page heroes should feel editorial, not oversized */
@media (min-width:1024px){
  body.page:not(.home) .av-hero .av-title,
  body.page:not(.home) .av-page-hero .av-title{
    font-size:clamp(2.45rem,3.25vw,3.85rem) !important;
    line-height:1.08 !important;
    letter-spacing:-0.035em !important;
  }

  body.page:not(.home) .av-hero .av-lead,
  body.page:not(.home) .av-page-hero .av-lead{
    max-width:680px !important;
  }
}

/* Tablet page hero refinement */
@media (min-width:768px) and (max-width:1023px){
  body.page:not(.home) .av-hero .av-title,
  body.page:not(.home) .av-page-hero .av-title{
    max-width:760px !important;
    font-size:clamp(2.15rem,5.4vw,3.05rem) !important;
    line-height:1.09 !important;
    letter-spacing:-0.032em !important;
  }
}

/* Mobile page hero refinement */
@media (max-width:767px){
  body.page:not(.home) .av-hero .av-title,
  body.page:not(.home) .av-page-hero .av-title{
    max-width:100% !important;
    font-size:clamp(1.82rem,9.2vw,2.55rem) !important;
    line-height:1.12 !important;
    letter-spacing:-0.026em !important;
  }
}



/* Page hero title full header-width alignment */
body.page:not(.home) .av-hero .av-title,
body.page:not(.home) .av-page-hero .av-title{
  max-width:1180px !important;
  width:100% !important;
  text-wrap:balance;
}

/* Keep standard page heroes wide like the header, but with controlled typography */
@media (min-width:1024px){
  body.page:not(.home) .av-hero .av-title,
  body.page:not(.home) .av-page-hero .av-title{
    max-width:1180px !important;
    font-size:clamp(2.45rem,3.1vw,3.75rem) !important;
    line-height:1.08 !important;
    letter-spacing:-0.035em !important;
  }

  body.page:not(.home) .av-hero .av-lead,
  body.page:not(.home) .av-page-hero .av-lead{
    max-width:760px !important;
  }
}

@media (min-width:768px) and (max-width:1023px){
  body.page:not(.home) .av-hero .av-title,
  body.page:not(.home) .av-page-hero .av-title{
    max-width:100% !important;
    font-size:clamp(2.15rem,5.2vw,3.05rem) !important;
    line-height:1.09 !important;
    letter-spacing:-0.032em !important;
  }
}

@media (max-width:767px){
  body.page:not(.home) .av-hero .av-title,
  body.page:not(.home) .av-page-hero .av-title{
    max-width:100% !important;
    font-size:clamp(1.82rem,9.2vw,2.55rem) !important;
    line-height:1.12 !important;
    letter-spacing:-0.026em !important;
    overflow-wrap:break-word;
    word-break:normal;
  }
}


/* v1.8.94: force homepage hero text to bottom on mobile and refresh stylesheet cache */
@media (max-width:767px){
  body.home .av-hero,
  body.front-page .av-hero,
  .home .av-hero,
  .front-page .av-hero{
    position:relative !important;
    display:block !important;
    min-height:520px !important;
    height:520px !important;
    padding-top:76px !important;
    box-sizing:border-box !important;
    background-position:center center !important;
    overflow:hidden !important;
  }

  body.home .av-hero__inner,
  body.front-page .av-hero__inner,
  .home .av-hero__inner,
  .front-page .av-hero__inner{
    position:absolute !important;
    left:50% !important;
    right:auto !important;
    bottom:54px !important;
    transform:translateX(-50%) !important;
    width:min(100% - 36px, 1180px) !important;
    max-width:1180px !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }
}


/* v1.8.96: Villa Renovation hero text alignment matches Home */
@media (min-width:768px){
  .av-villa-hero-stage{
    position:relative !important;
  }

  .av-villa-hero-stage__content{
    position:absolute !important;
    left:50% !important;
    right:auto !important;
    bottom:82px !important;
    transform:translateX(-50%) !important;
    width:min(100% - 72px, 1180px) !important;
    max-width:1180px !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
    text-align:left !important;
  }

  .av-villa-hero-stage__content .av-title{
    max-width:1180px !important;
    width:100% !important;
  }
}

@media (max-width:767px){
  .av-villa-hero-stage{
    position:relative !important;
    display:block !important;
    min-height:520px !important;
    height:520px !important;
    background-position:center center !important;
    overflow:hidden !important;
  }

  .av-villa-hero-stage__content{
    position:absolute !important;
    left:50% !important;
    right:auto !important;
    bottom:54px !important;
    transform:translateX(-50%) !important;
    width:min(100% - 36px, 1180px) !important;
    max-width:1180px !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
    text-align:left !important;
  }

  .av-villa-hero-stage__content .av-title{
    max-width:100% !important;
    width:100% !important;
  }
}


/* v1.8.97: About hero text alignment matches Home */
@media (min-width:768px){
  .av-about-hero{
    position:relative !important;
  }

  .av-about-hero__content{
    position:absolute !important;
    left:50% !important;
    right:auto !important;
    bottom:82px !important;
    transform:translateX(-50%) !important;
    width:min(100% - 72px, 1180px) !important;
    max-width:1180px !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
    text-align:left !important;
  }

  .av-about-hero .av-title{
    max-width:1180px !important;
    width:100% !important;
  }
}

@media (max-width:767px){
  .av-about-hero{
    position:relative !important;
    display:block !important;
    min-height:520px !important;
    height:520px !important;
    background-position:center center !important;
    overflow:hidden !important;
  }

  .av-about-hero__content{
    position:absolute !important;
    left:50% !important;
    right:auto !important;
    bottom:54px !important;
    transform:translateX(-50%) !important;
    width:min(100% - 36px, 1180px) !important;
    max-width:1180px !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
    text-align:left !important;
  }

  .av-about-hero .av-title{
    max-width:100% !important;
    width:100% !important;
  }
}


/* v1.8.98: keep Home mobile hero tall; reduce About and Villa Renovation hero height on mobile */
@media (max-width:767px){
  .av-about-hero,
  .av-villa-hero-stage{
    min-height:430px !important;
    height:430px !important;
  }

  .av-about-hero__content,
  .av-villa-hero-stage__content{
    bottom:42px !important;
  }
}


/* v1.8.99: Home white space after the final Book a Discovery Call section */
body.home #final-discovery-call,
body.front-page #final-discovery-call,
.home #final-discovery-call,
.front-page #final-discovery-call{
  margin-bottom:72px !important;
}

@media (max-width:767px){
  body.home #final-discovery-call,
  body.front-page #final-discovery-call,
  .home #final-discovery-call,
  .front-page #final-discovery-call{
    margin-bottom:52px !important;
  }
}

/* v1.8.100: Home Areas list now mirrors the Area Guides page list while keeping links only for existing published child pages. */
