/* Shared project presentation: native Pages/articles data and carousel engine. */
.av4 .av4-project-gallery{width:100%;max-width:none;margin-inline:0;scroll-margin-top:110px}
.av4 .av4-portfolio .anagramme-articles{--articles-accent:var(--av4-orange);--articles-ink:var(--av4-ink);padding:0;margin:0;background:none}
.av4 .av4-portfolio .anagramme-articles>.container-fluid{padding:0}
.av4 .av4-portfolio .anagramme-articles__card,.av4 .av4-project-preview{border:1px solid #10384a24;border-radius:8px;background:#fff;box-shadow:0 3px 10px #10384a0a;overflow:hidden;transition:border-color .3s,box-shadow .3s}
.av4 .av4-portfolio .anagramme-articles__card:hover,.av4 .av4-portfolio .anagramme-articles__card:focus-within,.av4 .av4-project-preview:hover,.av4 .av4-project-preview:focus-visible{border-color:#10384a55;box-shadow:0 4px 14px #10384a18}
.av4 .av4-portfolio .anagramme-articles__media{aspect-ratio:4/5;max-height:none;overflow:hidden;border-radius:3px;background:#edf1f0}
.av4 .av4-portfolio .anagramme-articles{width:100%;max-width:none;margin-inline:0}
.av4 .av4-portfolio .anagramme-articles__media img{width:100%;height:auto;min-height:100%;object-fit:cover;object-position:top;transition:transform .6s}
.av4 .av4-portfolio .anagramme-articles__card:hover img{transform:scale(1.025)}
.av4 .av4-portfolio .anagramme-articles__body{padding:18px 18px 20px;border-top:1px solid #10384a12;border-bottom:0}
.av4 .av4-portfolio .anagramme-articles__title{font-size:18px;line-height:1.3;margin:0 0 6px;font-weight:500}
.av4 .av4-portfolio .anagramme-articles__excerpt{font-size:12px;line-height:1.5;margin:0;color:var(--av4-muted)}
.av4 .av4-portfolio .anagramme-articles__nav{justify-content:flex-end;margin:16px 0 22px}
.av4 .av4-project-gallery__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 28px}
.av4 .av4-project-preview{min-width:0;display:block;color:var(--av4-ink)}
.av4 .av4-project-preview[hidden]{display:none}
.av4 .av4-project-preview figure{aspect-ratio:4/5;overflow:hidden;margin:0;background:#edf1f0;border:0;border-radius:0}
.av4 .av4-project-preview img{display:block;width:100%;height:auto;min-height:100%;object-fit:cover;object-position:top;transition:transform 3s ease}
.av4 .av4-project-preview:hover img,.av4 .av4-project-preview:focus-visible img{transform:translateY(var(--preview-scroll,0px))}
.av4 .av4-project-preview__caption{position:relative;padding:18px 44px 20px 18px;border-top:1px solid #10384a12}
.av4 .av4-project-preview__caption h3{font-size:22px;line-height:1.3;margin:0 0 7px;font-weight:400}
.av4 .av4-project-preview__caption p{font-size:14px;margin:0;color:var(--av4-muted)}
.av4 .av4-project-preview__caption>span{position:absolute;right:18px;top:20px;color:var(--av4-orange)}
.av4 .av4-project-preview:hover h3{color:var(--av4-orange)}
/* The home builder carousel uses the same card surface, portrait, caption and reveal as /realisations. */
.av4 .av4-portfolio .anagramme-articles--carousel .av4-project-preview{flex:0 0 calc((100% - (var(--articles-columns-desktop) - 1)*var(--articles-gap))/var(--articles-columns-desktop));height:auto;scroll-snap-align:start;text-decoration:none}
.av4 .av4-portfolio .anagramme-articles--carousel .av4-project-preview figure{width:100%}
.av4 .av4-portfolio .anagramme-articles--carousel .av4-project-preview__caption{min-height:148px}
.av4 .av4-project-filters{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 14px}
.av4 .av4-project-filters[hidden]{display:none}
.av4 .av4-project-filters button,.av4 .av4-project-filters a,.av4 .av4-project-pagination a{border:1px solid #b6c7cc;border-radius:24px;padding:9px 15px;background:transparent;color:var(--av4-ink);font:inherit;font-size:13px;transition:background .2s,color .2s}
.av4 .av4-project-filters button[aria-pressed=true],.av4 .av4-project-filters a[aria-current],.av4 .av4-project-pagination a[aria-current]{background:var(--av4-ink);color:#fff;border-color:var(--av4-ink)}
.av4 .av4-project-filters a:hover,.av4 .av4-project-pagination a:hover{background:var(--av4-mint,#8ddbc9);color:var(--av4-ink)}
.av4 .av4-project-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:40px}
.av4 .av4-project-count{font-size:12px;color:var(--av4-muted);margin:0 0 28px}
@media(max-width:991px){.av4 .av4-project-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.av4 .av4-portfolio .anagramme-articles--carousel .av4-project-preview{flex-basis:calc((100% - (var(--articles-columns-tablet) - 1)*var(--articles-gap))/var(--articles-columns-tablet))}}
@media(max-width:575px){.av4 .av4-project-gallery__grid{grid-template-columns:1fr;gap:30px}.av4 .av4-portfolio .anagramme-articles--carousel .av4-project-preview{flex-basis:calc((100% - (var(--articles-columns-mobile) - 1)*var(--articles-gap))/var(--articles-columns-mobile))}}
@media(prefers-reduced-motion:reduce){.av4 .av4-project-preview img{transition:none;transform:none!important}}

/* Shared transparent, image-only presentation for responsive web projects. */
.av4-inner:not(.page-contact) main .case-overview.case-overview--editorial{padding:96px 0 100px;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:64px}
.av4-inner:not(.page-contact) main .case-copy{max-width:690px;margin-bottom:26px;color:#345461;font-size:18px;font-weight:300;line-height:1.7}
.av4-inner:not(.page-contact) main .case-copy p{margin:0 0 18px}
.av4-inner:not(.page-contact) main .case-copy p:last-child{margin-bottom:0}
.av4-inner:not(.page-contact) main .case-copy a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:4px;transition:color .2s,text-decoration-color .2s}
.av4-inner:not(.page-contact) main .case-copy a:hover,.av4-inner:not(.page-contact) main .case-copy a:focus-visible{color:var(--orange);text-decoration-color:var(--ink)}
.av4-inner:not(.page-contact) main .case-overview--editorial .case-rich>.button{margin:10px 0 18px}
.av4-inner:not(.page-contact) main .case-overview:has(.case-project-nav){padding-bottom:72px}
.av4-inner:not(.page-contact) main .case-project-nav{display:grid;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:18px;border-top:1px solid #cbd7da}
.av4-inner:not(.page-contact) main .case-project-nav__item{display:flex;min-width:0;min-height:96px;flex-direction:column;justify-content:flex-start;gap:8px;padding:22px 0 0;color:var(--ink);text-decoration:none}
.av4-inner:not(.page-contact) main .case-project-nav__item--next{text-align:right;align-items:flex-end}
.av4-inner:not(.page-contact) main .case-project-nav__item span{color:#66808b;font-size:11px;font-weight:600;letter-spacing:.11em;text-transform:uppercase}
.av4-inner:not(.page-contact) main .case-project-nav__item strong{font-size:clamp(20px,2vw,29px);font-weight:400;line-height:1.2;transition:color .2s,transform .2s}
.av4-inner:not(.page-contact) main .case-project-nav__item:hover strong,.av4-inner:not(.page-contact) main .case-project-nav__item:focus-visible strong{color:var(--orange)}
.av4-inner:not(.page-contact) main .case-project-nav__item--previous:hover strong,.av4-inner:not(.page-contact) main .case-project-nav__item--previous:focus-visible strong{transform:translateX(-4px)}
.av4-inner:not(.page-contact) main .case-project-nav__item--next:hover strong,.av4-inner:not(.page-contact) main .case-project-nav__item--next:focus-visible strong{transform:translateX(4px)}
/* Pilot case study: refine the approved layout before rolling it out to other projects. */
.av4-inner.page.case-page--pilot main .case-hero::before{top:245px;right:-230px;width:600px;height:600px;border-width:70px;opacity:.7}
.av4-inner.case-page--pilot main .case-intro{color:#d5e1e5}
.av4-inner.case-page--pilot main .case-overview.case-overview--editorial{padding-top:84px;column-gap:64px;row-gap:44px}
.av4-inner.case-page--pilot main .case-project-nav{margin-top:10px;border-top-color:#dbe3e6}
.av4-inner.case-page--pilot main .case-project-nav__item{gap:7px;padding-top:19px}
.av4-inner.case-page--pilot main .case-project-nav__item span{font-size:10px;letter-spacing:.12em}
.av4-inner.case-page--pilot main .case-project-nav__item strong{font-size:clamp(20px,1.8vw,26px);font-weight:300;letter-spacing:-.025em}
.av4-inner.case-page--pilot .av4-header .cms-element-button__content{display:inline-flex;align-items:center;gap:14px}
.av4-inner.case-page--pilot .av4-header .cms-element-button__icon{display:grid;place-items:center;flex:none;width:20px;height:20px;line-height:1}
.av4-inner.case-page--pilot .av4-header .cms-element-button__icon::before{content:'';display:block;width:18px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M4 16 16 4M6 4h10v10' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;font-size:0}
.av4-inner.case-page--pilot main .button{gap:14px}
.av4-inner.case-page--pilot main .button span{display:grid;place-items:center;flex:none;width:19px;height:19px;overflow:hidden;font-size:0;line-height:1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M4 16 16 4M6 4h10v10' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.av4-inner:not(.page-contact) main .case-hero:has(.case-device-cover){padding-bottom:50px}
.av4-inner:not(.page-contact) main .case-device-cover{position:relative;z-index:3;width:min(var(--max),100%);margin:42px auto 0;transform:none}
.av4-inner.page.case-page main .cta-band{padding-inline:max(var(--side),calc((100vw - var(--max))/2))}
.av4-project-devices{position:relative;width:100%;aspect-ratio:1.68;background:transparent;isolation:isolate}
.av4-project-device{position:absolute;padding:1.05%;background:#263841;box-shadow:0 25px 55px #061f2a46,0 5px 14px #061f2a2e}
.av4-project-device__screen{width:100%;height:100%;overflow:hidden;background:#fff}
.av4-project-device__screen img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.av4-project-device--desktop{z-index:1;top:5%;left:1%;width:80%;aspect-ratio:1440/900;border-radius:1.5% 1.5% .5% .5%}
.av4-project-device--desktop .av4-project-device__screen{border-radius:.4% .4% 0 0}
.av4-project-device--desktop::before{content:"";position:absolute;top:-.6%;left:49.8%;width:.35%;aspect-ratio:1;border-radius:50%;background:#70818a}
.av4-project-device--desktop::after{content:"";position:absolute;top:100%;left:-3%;width:106%;height:1.65%;border-radius:0 0 50% 50%;background:linear-gradient(#dce4e7,#a7b5bb);box-shadow:0 10px 18px #061f2a26}
.av4-project-device--tablet{z-index:2;top:16%;right:7%;width:32%;aspect-ratio:1640/2360;padding:1.2%;border-radius:4%;transform:rotate(2deg)}
.av4-project-device--tablet .av4-project-device__screen{border-radius:2%}
.av4-project-device--tablet::after{content:"";position:absolute;top:.65%;left:50%;width:1%;aspect-ratio:1;border-radius:50%;background:#6c7c84}
.av4-project-device--mobile{z-index:3;top:35%;right:0;width:17%;aspect-ratio:1081/2401;padding:1.1%;border-radius:8%;transform:rotate(-4deg);box-shadow:0 25px 55px #061f2a75,0 5px 14px #061f2a36}
.av4-project-device--mobile .av4-project-device__screen{border-radius:6%}
.av4-project-device--mobile::after{content:"";position:absolute;top:.7%;left:38%;width:24%;height:1.2%;border-radius:0 0 8px 8px;background:#263841}
.av4-inner.case-page--archive:not(.page-contact) main .case-cover{width:min(100%,1010px);height:auto;margin-top:44px;transform:none;border-radius:12px;overflow:hidden}
.av4-inner.case-page--archive:not(.page-contact) main .case-cover img{display:block;width:100%;height:auto;object-fit:contain}
.av4-inner.case-page--archive:not(.page-contact) main .case-cover:hover img{transform:none}
@media(max-width:991px){.av4-inner:not(.page-contact) main .case-overview.case-overview--editorial{grid-template-columns:1fr;gap:38px}}
@media(max-width:767px){.av4-inner:not(.page-contact) main .case-overview.case-overview--editorial{padding:76px 0 80px;gap:28px}.av4-inner:not(.page-contact) main .case-overview:has(.case-project-nav){padding-bottom:64px}.av4-inner:not(.page-contact) main .case-project-nav{gap:14px;margin-top:6px}.av4-inner:not(.page-contact) main .case-project-nav__item{min-height:86px;padding-top:18px}.av4-inner:not(.page-contact) main .case-project-nav__item span{font-size:9px;letter-spacing:.06em}.av4-inner:not(.page-contact) main .case-project-nav__item strong{font-size:17px}.av4-inner:not(.page-contact) main .case-copy{font-size:16px}.av4-inner:not(.page-contact) main .case-device-cover{width:100%;margin-top:28px}.av4-inner.page.case-page main .cta-band{padding-inline:22px}.av4-project-devices{aspect-ratio:1.08}.av4-project-device--desktop{top:2%;left:0;width:94%}.av4-project-device--tablet{top:25%;right:8%;width:45%}.av4-project-device--mobile{top:43%;right:0;width:24%}}
@media(max-width:767px){.av4-inner.page.case-page--pilot main .case-hero::before{top:250px;right:-260px;width:470px;height:470px;border-width:52px}.av4-inner.case-page--pilot main .case-overview.case-overview--editorial{padding-top:72px;row-gap:28px}.av4-inner.case-page--pilot main .case-project-nav{margin-top:4px}.av4-inner.case-page--pilot main .case-project-nav__item strong{font-size:17px}}
@media(max-width:480px){.av4-inner.case-page--pilot .av4-header .av4-logo img{width:138px}.av4-inner.case-page--pilot .av4-header .av4-button .cms-element-button{padding-inline:10px}.av4-inner.case-page--pilot .av4-header .cms-element-button__content{gap:8px}.av4-inner.case-page--pilot .av4-header .cms-element-button__icon{width:16px;height:16px}.av4-inner.case-page--pilot .av4-header .cms-element-button__icon::before{width:16px;height:16px}}
