/* AVARIS 2.5: genuinely new editorial / operational design.
   This stylesheet is loaded LAST, after both legacy stylesheets. */
:root{--av250-ink:#12201c;--av250-dark:#0d1916;--av250-deep:#182a23;--av250-muted:#51625a;--av250-paper:#f7f6f1;--av250-pale:#edf1e9;--av250-line:#d8e0d5;--av250-acid:#c9f35a;--av250-orange:#ff8550;--av250-max:1216px;--av250-gutter:clamp(20px,4.2vw,74px)}
html{scroll-padding-top:90px}
body{background:var(--av250-paper);color:var(--av250-ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}
body :where(h1,h2,h3,h4){font-family:Arial,Helvetica,sans-serif;letter-spacing:-.045em;text-wrap:balance}
body :where(p,li){line-height:1.66}
.site-header{height:86px;padding:0 max(var(--av250-gutter),calc((100vw - 1510px)/2));background:#101c18;box-shadow:0 5px 26px rgba(0,0,0,.12);border-bottom:1px solid #34433a;gap:25px}
.site-header:after{content:"";position:absolute;bottom:-3px;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--av250-acid) 0 57%,var(--av250-orange) 57%)}
.site-header .brand img{width:150px;height:52px;object-fit:contain}
.site-header nav{gap:clamp(10px,1.35vw,24px)}
.site-header nav a{letter-spacing:0!important;font-size:clamp(.7rem,.76vw,.86rem)!important;font-weight:700;line-height:1.2;padding-block:13px;text-decoration:none}
.site-header nav a:not(.nav-cta):hover,.site-header nav a[aria-current="page"]{color:var(--av250-acid)!important}
.site-header .nav-cta{background:var(--av250-acid);color:#132218!important;padding:14px 20px;border-radius:5px;box-shadow:0 4px 0 rgba(164,206,67,.22);font-weight:850}
.site-header .nav-cta:hover{background:#e1ff91}
.button,.av-card-link,.av-archive-link,.av-inline{transition:background .18s ease,transform .18s ease,color .18s ease}
.button{background:var(--av250-acid);color:#102017;border:0;border-radius:5px;padding:15px 23px;display:inline-flex;gap:10px;align-items:center;justify-content:center;min-height:49px;font-weight:800;text-decoration:none;box-shadow:none}
.button:hover{background:#dcff8f;transform:translateY(-1px);color:#101d15}
.button.secondary{background:transparent;border:1px solid currentColor;color:inherit;box-shadow:none}
.button.secondary:hover{background:#ffffff18}
/* Headlines and local layout rhythm */
.av-kicker,.av-archive-label,.eyebrow,.av-number{font-family:Arial,Helvetica,sans-serif;letter-spacing:.14em!important;font-size:.74rem!important;font-weight:850!important;text-transform:uppercase}
.av-kicker{color:#557a32}
.av-hero h1,.av-operational-hero h1,.av-page-hero h1,.av-vol-hero h1,.reference-hero h1{font-size:clamp(2.6rem,4.5vw,5.05rem)!important;line-height:1.045!important;letter-spacing:-.06em!important;margin:17px 0 26px!important;max-width:14ch}
.av-hero p,.av-operational-hero p,.av-page-hero p,.av-vol-hero p,.reference-hero p{max-width:62ch}
.av-lead{font-family:Arial,Helvetica,sans-serif!important;font-weight:500!important;font-size:clamp(1.08rem,1.5vw,1.28rem)!important;line-height:1.57!important}
.av-actions{margin-top:26px!important;display:flex;flex-wrap:wrap;gap:12px}
.av-actions .button{font-size:.91rem}
/* Hero: readable two-column editorial spreads, no page-length images */
.av-hero,.av-operational-hero,.av-page-hero-split,.av-vol-hero,.reference-hero{display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;align-items:stretch!important;gap:0!important;max-width:none!important;min-height:0!important;margin:0!important;overflow:hidden}
.av-hero{background:var(--av250-dark);color:#fff}
.av-hero-content,.av-operational-hero>div,.av-page-hero-copy,.av-vol-hero-copy,.reference-hero-copy{padding:clamp(48px,6vw,98px) clamp(26px,6vw,110px)!important;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}
.av-hero .av-hero-content{order:0;background:#0d1916}
.av-hero .av-hero-visual{order:1;min-height:0!important;height:clamp(440px,47vw,635px)!important;max-height:635px}
.av-hero-visual img{object-position:50% 36%!important}
.av-hero .av-lead,.av-operational-hero .av-lead,.av-vol-hero .av-lead{color:#f6faf4!important}
.av-hero .av-hero-content p:not(.av-lead),.av-operational-hero p:not(.av-lead),.av-vol-hero-copy p:not(.av-lead){color:#ccd9ce!important}
.av-hero .av-kicker,.av-operational-hero .av-kicker,.av-vol-hero .av-kicker{color:var(--av250-acid)!important}
.av-hero-content:before{background:var(--av250-orange)!important;height:4px;width:56px;margin-bottom:18px}
.av-hero .av-hero-reassurance{color:#dfe9e0!important;font-size:.85rem;margin-top:17px}
.av-hero .av-hero-secondary{color:#fff}
.av-hero .av-inline{font-size:.85rem;color:var(--av250-acid)}
.av-operational-hero{background:var(--av250-dark);color:#fff}
.av-operational-hero>img{height:clamp(420px,47vw,630px)!important;min-height:0!important;max-height:630px;object-fit:cover!important;object-position:50% 41%!important}
.av-operational-hero>div{max-width:none}
.av-operational-hero h1{color:#fff}
.av-page-hero-split{background:var(--av250-paper)!important;color:var(--av250-ink);padding:0!important;min-height:0!important}
.av-page-hero-copy{background:#edeee7;padding:clamp(44px,5.7vw,92px) clamp(24px,6vw,110px)!important}
.av-page-hero-photo,.av-profile-photo{height:clamp(440px,47vw,630px)!important;min-height:0!important;max-height:630px!important;margin:0!important;border:0!important;border-radius:0!important}
.av-page-hero-photo img,.av-profile-photo img{position:absolute!important;inset:0;width:100%;height:100%!important;object-fit:cover!important;object-position:48% 30%}
.av-page-hero-photo:after,.av-profile-photo:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(0deg,rgba(8,18,11,.28),transparent);pointer-events:none}
.av-page-hero-photo figcaption,.av-profile-photo figcaption{z-index:1;background:#111d18e0;color:white;border:0;border-radius:4px;font-size:.72rem;letter-spacing:.04em}
.av-profile-photo img{object-position:center 23%!important}
.av-profile-hero .av-page-hero-copy{background:#f1f0ea!important}
.av-signature{padding-top:15px;margin-top:20px;border-top:1px solid #ccd6c7;flex-wrap:wrap;max-width:520px}
.av-signature strong{color:#1b3023}
.av-vol-hero{background:#12241c;color:white}
.av-vol-hero-image{height:clamp(420px,45vw,625px)!important;min-height:0!important;order:1!important}
.av-vol-hero-image img{object-position:center 35%}
.reference-hero{background:#f1f2ea;padding:0!important}
.reference-hero-copy{padding:clamp(43px,5.5vw,90px) clamp(28px,6vw,110px)!important}
.reference-hero .reference-hero-archive{height:clamp(420px,45vw,630px)!important;margin:0!important}
.reference-hero .reference-hero-archive img{min-height:0!important;max-height:none!important;height:100%!important;object-fit:cover!important;object-position:center 50%!important}
.reference-hero .reference-hero-archive figcaption{z-index:1}
/* Main content has deliberate compact spacing rather than vast vertical gaps */
.av-section,.av-section.av-cases,.av-section.av-proof,.av-section.av-quick-faq{width:min(var(--av250-max),calc(100% - 2*var(--av250-gutter)))!important;margin:0 auto!important;padding:clamp(56px,6.2vw,86px) 0!important}
.av-section-top{max-width:850px;margin-bottom:32px}
.av-section-top h2,.av-story-text h2,.av-history-copy h2{font-size:clamp(2rem,3.25vw,3.45rem)!important;line-height:1.11!important;max-width:22ch;letter-spacing:-.05em}
.av-section-top p{font-size:1.06rem;color:#4a6053}
.av-sales-prose,.av-seo-prose,.av-prose,.av-story-text p{font-size:1.02rem!important;line-height:1.75!important;opacity:1!important}
.av-sales-prose{max-width:67ch}
.av-sales-prose p,.av-seo-prose p{margin-bottom:12px}
.av-sales-prose p:last-child,.av-seo-prose p:last-child{margin-bottom:0}
.av-services,.av-proof,.av-credentials,.av-team-gallery,.av-experience-images{background:transparent!important}
.av-service-grid{gap:18px}
.av-service-card{background:#fff;border:1px solid var(--av250-line);border-radius:14px!important;box-shadow:0 16px 40px rgba(12,37,26,.06)!important;min-height:0!important;overflow:hidden;display:flex;flex-direction:column}
.av-service-card.av-service-dark{background:#172b20;color:#fff}
.av-service-card .av-service-visual{height:clamp(170px,19vw,245px)!important;flex:none;position:relative;overflow:hidden}
.av-service-card .av-service-visual img{width:100%;height:100%!important;object-fit:cover}
.av-service-card .av-service-inner{padding:clamp(25px,3.2vw,42px)!important;flex:1}
.av-service-card h3{font-size:clamp(1.65rem,2.4vw,2.45rem)!important}
.av-service-card p{font-size:1rem}
.av-service-card .av-card-link{margin-top:25px}
.av-three-grid,.av-four-grid,.av-faq-grid,.av-two-grid,.av-credential-list{gap:17px!important}
.av-three-grid article,.av-four-grid>div,.av-faq-grid article,.av-two-grid>.av-info-panel,.av-seo-topics article{background:#fff!important;color:var(--av250-ink)!important;padding:clamp(22px,2.7vw,36px)!important;border:1px solid var(--av250-line)!important;border-radius:12px!important;box-shadow:0 4px 18px rgba(20,37,24,.035)}
.av-three-grid article h3,.av-faq-grid article h3,.av-four-grid h3{font-size:clamp(1.25rem,1.8vw,1.75rem)!important;line-height:1.22}
.av-four-grid>div b{display:inline-grid;place-items:center;background:#183728;color:#c9f35a;min-height:40px;min-width:40px;border-radius:6px;margin-bottom:17px}
.av-steps{background:#f2f4ed!important}
.av-quick-faq{background:transparent!important}
.av-seo-topics{background:transparent!important}
.av-reviewer{display:grid;grid-template-columns:105px minmax(0,1fr);max-width:var(--av250-max);margin:30px auto;background:#1c3126;color:#fff;padding:25px clamp(20px,3vw,35px);border-radius:12px;gap:23px}
.av-reviewer img{width:105px;height:120px;object-fit:cover;border-radius:7px}
.av-reviewer h2{font-size:clamp(1.5rem,2.15vw,2.2rem);line-height:1.18}
.av-reviewer p{margin-bottom:7px}
/* Story images: their captions and aspect ratio are controlled, never a screen high */
.av-story{grid-template-columns:1fr 1fr!important;min-height:0!important;background:#e8eee5;margin:28px auto;max-width:1450px;border-radius:12px;overflow:hidden}
.av-story-image{height:clamp(365px,39vw,550px)!important;min-height:0!important}
.av-story-image img{object-fit:cover;object-position:center 39%}
.av-story-text{padding:clamp(32px,4.6vw,68px)!important;justify-content:center}
.av-story-text h2{font-size:clamp(1.85rem,3.2vw,3.1rem)!important}
.av-story-text p{color:#32483d!important}
.av-home-archive,.av-heritage,.av-special-conditions{border-radius:12px;overflow:hidden;margin-block:34px;max-width:1450px}
.av-home-archive,.av-heritage{grid-template-columns:1fr 1fr!important}
.av-home-archive-photo,.av-heritage-photos{min-height:0!important;height:clamp(365px,39vw,550px)}
.av-home-archive-photo img{object-fit:cover;object-position:center 48%}
.av-home-archive-content,.av-heritage-copy{padding:clamp(32px,5vw,74px)!important}
.av-home-archive h2,.av-heritage h2,.av-special-conditions h2{font-size:clamp(1.95rem,3.3vw,3.5rem)!important}
.av-heritage-photos figure{height:100%;min-height:0!important}
.av-special-conditions{grid-template-columns:1fr 1fr!important;min-height:0!important}
.av-special-conditions figure{height:clamp(365px,37vw,535px)!important;min-height:0!important}
.av-special-conditions img{object-fit:cover!important;object-position:center 46%!important}
.av-special-conditions>div{padding:clamp(30px,4vw,65px)!important}
.av-team-gallery .av-photo-grid,.av-experience-images .av-photo-grid{gap:15px}
.av-photo-grid figure{border-radius:12px!important;box-shadow:0 3px 15px rgba(0,0,0,.045)}
.av-photo-grid img{aspect-ratio:1.65!important;max-height:255px!important;object-fit:cover}
.av-photo-grid figcaption{padding:12px 15px!important;color:#44564c;font-size:.83rem}
.av-reference-strip{background:#14241d;color:#fff}
.av-reference-strip h2{color:#fff}
.av-reference-strip .av-reference-names span{border-color:#667867!important}
.av-proof-grid>div{background:#eaf0e7;border-top:3px solid #87bc4c;padding:23px}
.av-proof-grid strong{font-size:clamp(1.7rem,2.9vw,3.1rem)}
.av-editorial-home-feature{background:#fff;border:1px solid var(--av250-line);border-radius:12px!important}
.av-case-grid>a,.reference-grid>*{border-radius:12px!important}
/* Conversion blocks & forms */
.av-final-cta{max-width:1450px;margin:38px auto;background:#173127!important;color:#fff!important;border-radius:12px;padding:clamp(38px,5.1vw,75px)!important;display:flex;justify-content:space-between;align-items:center;gap:30px}
.av-final-cta h2{color:#fff;font-size:clamp(1.95rem,3.6vw,3.6rem)!important;max-width:16ch}
.av-final-cta p{color:#e0ebe1}
.av-final-cta .button.secondary{border-color:#e0ebd5;color:#fff}
.av-intake{background:#edf1e9!important;border-radius:14px;padding:clamp(26px,3.7vw,55px)!important;max-width:1260px;margin:25px auto 65px!important;width:calc(100% - 2*var(--av250-gutter))!important;grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);gap:35px}
.av-intake-form{box-shadow:none!important;border:1px solid #dce4d8!important;border-radius:10px!important}
.av-intake-form :where(input,textarea,select){border-radius:5px!important}
.av-credential-list span{background:#fff!important;border:1px solid var(--av250-line);border-left:4px solid #98c46d!important;border-radius:5px;padding:16px 20px}
/* Newsletter was nearly illegible due to legacy colors. Hard enforce contrast. */
.newsletter-strip{background:#e5eddb!important;color:#102318!important;display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,.8fr);gap:clamp(30px,6vw,90px);align-items:center;padding:clamp(40px,5vw,70px) max(var(--av250-gutter),calc((100vw - var(--av250-max))/2))!important}
.newsletter-strip *{opacity:1!important}
.newsletter-strip h2{font-size:clamp(1.8rem,3vw,3rem);max-width:17ch;line-height:1.12;color:#12251b!important;margin:10px 0 16px}
.newsletter-strip p,.newsletter-strip label,.newsletter-strip span:not(.eyebrow){color:#1d3828!important}
.newsletter-strip .eyebrow{color:#506e3d!important}
.newsletter-strip a{color:#19492b!important;text-decoration:underline}
.newsletter-strip .newsletter-form{display:grid;gap:12px;color:#172f21!important}
.newsletter-form input[type=email]{background:#fff;color:#122218;border:1px solid #81958a;border-radius:5px;min-height:52px;padding:12px 14px;width:100%}
.newsletter-form input[type=checkbox]{accent-color:#153b29;width:16px;height:16px;min-width:16px}
.newsletter-consent{display:flex!important;align-items:flex-start;gap:11px;font-size:.85rem;line-height:1.45}
.newsletter-strip .button.light,.newsletter-strip button{background:#10281d!important;color:#fff!important;min-height:49px;border-radius:5px;border:0;font-weight:800;cursor:pointer}
.newsletter-strip .button.light:hover,.newsletter-strip button:hover{background:#2a4d32!important}
.site-footer{background:#0b1512!important;color:#e6f0e7;padding-top:65px}
.site-footer a{color:#cbd9cd!important}
.site-footer a:hover{color:#d4fa90!important}
/* Give contact and editorial pages a coherent reading experience */
main :where(.press-list,.article-grid,.reference-section,.av-personal-stand,.av-credentials){scroll-margin-top:90px}
main :where(article,section) img{max-width:100%}
/* Mobile: copy above imagery, no giant portrait or giant dead air */
@media(max-width:1050px){.site-header{height:75px;padding:0 22px}.site-header nav{gap:10px}.site-header nav a{font-size:.72rem!important}.site-header .brand img{width:125px}.av-hero-content,.av-operational-hero>div,.av-page-hero-copy,.av-vol-hero-copy,.reference-hero-copy{padding:42px clamp(24px,4vw,50px)!important}}
@media(max-width:900px){
 .av-hero,.av-operational-hero,.av-page-hero-split,.av-vol-hero,.reference-hero,.av-story,.av-heritage,.av-home-archive,.av-special-conditions{grid-template-columns:1fr!important}
 .av-hero-content,.av-operational-hero>div,.av-page-hero-copy,.av-vol-hero-copy,.reference-hero-copy{order:0!important;padding:44px 25px 38px!important}
 .av-hero .av-hero-visual,.av-operational-hero>img,.av-page-hero-photo,.av-profile-photo,.av-vol-hero-image,.reference-hero .reference-hero-archive{order:1!important;height:clamp(250px,47vw,380px)!important;min-height:0!important;max-height:380px!important}
 .av-page-hero-photo,.av-profile-photo{position:relative!important}
 .av-profile-photo img{object-position:center 26%}
 .av-hero h1,.av-operational-hero h1,.av-page-hero h1,.av-vol-hero h1,.reference-hero h1{font-size:clamp(2.45rem,6vw,4.2rem)!important;max-width:18ch}
 .av-story-image,.av-home-archive-photo,.av-special-conditions figure,.av-heritage-photos{height:clamp(280px,45vw,400px)!important;min-height:0!important}
 .av-heritage-photos figure{min-height:0!important}
 .av-reviewer{margin:18px var(--av250-gutter)}
 .av-final-cta{margin:28px var(--av250-gutter)}
 .av-intake{grid-template-columns:1fr!important}
 .newsletter-strip{grid-template-columns:1fr;gap:20px}
}
@media(max-width:680px){
 .site-header{height:70px!important;padding:0 18px}
 .site-header .brand img{width:112px!important;height:43px}
 .site-header .menu-btn{display:block}
 .site-header nav{position:absolute;top:70px;left:0;right:0;max-height:calc(100vh - 70px);overflow:auto;padding:12px 20px 22px;background:#0e1b16;display:none;flex-direction:column;align-items:stretch;gap:3px}
 .site-header nav.open{display:flex}
 .site-header nav a{padding:13px!important;font-size:.92rem!important;border-bottom:1px solid #2c4034}
 .site-header nav .nav-cta{text-align:center;border:0}
 .av-hero h1,.av-operational-hero h1,.av-page-hero h1,.av-vol-hero h1,.reference-hero h1{font-size:clamp(2.2rem,9.2vw,3.25rem)!important;line-height:1.06!important;margin:15px 0 17px!important}
 .av-hero-content,.av-operational-hero>div,.av-page-hero-copy,.av-vol-hero-copy,.reference-hero-copy{padding:35px 20px 35px!important}
 .av-hero .av-hero-visual,.av-operational-hero>img,.av-page-hero-photo,.av-profile-photo,.av-vol-hero-image,.reference-hero .reference-hero-archive{height:270px!important;max-height:270px!important}
 .av-hero .av-hero-visual img{object-position:center 30%!important}
 .av-operational-hero>img{object-position:center 34%!important}
 .av-actions{width:100%;gap:10px}.av-actions .button{width:100%;min-height:47px}
 .av-section,.av-section.av-cases,.av-section.av-proof,.av-section.av-quick-faq{padding:46px 0!important;width:calc(100% - 36px)!important}
 .av-section-top h2,.av-story-text h2{font-size:clamp(1.83rem,7vw,2.7rem)!important}
 .av-three-grid,.av-four-grid,.av-two-grid,.av-service-grid,.av-case-grid,.av-photo-grid,.av-faq-grid{grid-template-columns:1fr!important}
 .av-service-card .av-service-visual{height:190px!important}
 .av-story{margin:15px 12px}.av-story-image{height:260px!important}.av-story-text{padding:28px 20px!important}
 .av-heritage,.av-home-archive,.av-special-conditions{margin:14px 12px;border-radius:9px}
 .av-heritage-photos{height:265px!important;grid-template-columns:1fr 1fr}
 .av-home-archive-photo,.av-special-conditions figure{height:270px!important}
 .av-home-archive-content,.av-heritage-copy,.av-special-conditions>div{padding:29px 21px!important}
 .av-reviewer{grid-template-columns:72px minmax(0,1fr);gap:15px;padding:19px;margin:18px}
 .av-reviewer img{width:72px;height:92px}.av-reviewer h2{font-size:1.36rem!important}
 .av-final-cta{padding:30px 22px!important;align-items:stretch}.av-final-cta .button{width:100%}
 .av-intake{padding:22px 16px!important;width:calc(100% - 24px)!important;margin-inline:12px!important}
 .newsletter-strip{padding:35px 20px!important}.newsletter-strip h2{font-size:2rem}
 .site-footer{padding:45px 20px!important}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}}

/* Final hero sizing: the photographic split must not become a full-screen portrait. */
@media(min-width:901px){
 .av-page-hero-copy,.av-operational-hero>div,.reference-hero-copy,.av-vol-hero-copy,.av-hero-content{padding-top:clamp(40px,4vw,64px)!important;padding-bottom:clamp(40px,4vw,64px)!important}
 .av-hero h1,.av-operational-hero h1,.av-page-hero h1,.av-vol-hero h1,.reference-hero h1{font-size:clamp(2.7rem,3.85vw,4.35rem)!important;max-width:16ch}
 .av-hero .av-hero-visual,.av-operational-hero>img,.av-page-hero-photo,.av-profile-photo,.av-vol-hero-image,.reference-hero .reference-hero-archive{max-height:630px!important}
}
/* Stable photo layering in Safari/Chromium: pseudo overlays must not paint over photographs. */
.av-page-hero-photo img,.av-profile-photo img{z-index:2!important;opacity:1!important;visibility:visible!important}
.av-page-hero-photo:after,.av-profile-photo:after{display:none!important}
