/* Adaptations WordPress ; la charte source est conservée. */
.ah-menu{list-style:none;margin:0;padding:0}.primary-nav>.ah-menu{display:flex;align-items:center;gap:2rem}.footer-links .ah-menu{display:grid;gap:.5rem}.footer-legal .ah-menu{display:flex;gap:1rem}.ah-single-column{grid-template-columns:1fr!important}.ah-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem}.ah-list{padding-top:3rem;min-height:50vh}.ah-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.ah-gallery img{width:100%;height:auto}.ah-page{max-width:960px;min-height:50vh}.footer-contacts .v2-arrow-icon{width:28px;height:28px;flex-shrink:0}.footer-brand img,.brand img{max-width:100%;height:auto}.ah-contact-links{display:grid;gap:1rem;margin-block:2rem}.unified-hero:not(:has(img)){min-height:0}.unified-hero:not(:has(img)) .unified-hero-copy{position:relative;inset:auto;color:var(--ink,#27342b);padding:3rem}.unified-hero:not(:has(img))::after{display:none}.admin-bar .site-header{top:32px}:focus-visible{outline:3px solid #8a693e;outline-offset:4px}.finish-material-image:not(a .finish-material-image){cursor:default}
@media(max-width:800px){.primary-nav>.ah-menu{flex-direction:column;align-items:flex-start;gap:1rem}.admin-bar .site-header{top:46px}.ah-card-grid{grid-template-columns:1fr}.ah-menu a{min-height:44px;display:inline-flex;align-items:center}}

/* Keep the pause control available for an automatically changing hero. */
body.v2 .v2-carousel-pause{display:block;position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
body.v2 .v2-carousel-controls[hidden]{display:none!important}
body.v2 .v2-carousel-pause:focus-visible{position:relative;width:auto;height:auto;min-height:44px;padding:8px 12px;overflow:visible;clip-path:none;background:var(--paper);color:var(--ink);outline:2px solid currentColor;outline-offset:4px}

@media(max-width:800px){.ah-menu .nav-mobile-contact{display:list-item}}

/* Homothetic filling: crop to a square without stretching the material. */
body.v2 .finish-material-image{aspect-ratio:1;object-fit:cover;object-position:50% 50%;padding:0}
body.v2 .finish-material-zoom{width:80px;height:80px;flex-basis:80px;aspect-ratio:1}
@media(max-width:767px){body.v2 .finish-material-zoom{width:56px;height:56px;flex-basis:56px}}
@media(prefers-reduced-motion:reduce){body.v2 .v2-hero-slide{transition:none!important}}

body.v2 .message-ready[hidden],body.v2 .message-ready a[hidden]{display:none!important}

.ah-legal-identity{margin-block:2rem}.ah-legal-identity>div{display:grid;grid-template-columns:minmax(140px,1fr) 3fr;gap:1.5rem;padding-block:1rem;border-bottom:1px solid var(--line)}.ah-legal-identity dd{margin:0}.ah-legal-contact{display:flex;gap:1.5rem;flex-wrap:wrap;margin-block:2rem}@media(max-width:600px){.ah-legal-identity>div{grid-template-columns:1fr;gap:.5rem}}

/* Social links: native inline SVG, approved forest green, 44px touch targets. */
.footer-social{display:flex;flex-wrap:wrap;gap:0;margin-top:18px;color:var(--ink)}
.footer-social a{display:inline-flex;align-items:center;justify-content:center;width:32px;min-height:44px;color:inherit;border-radius:50%;transition:background-color .15s ease}
.footer-social svg{display:block;width:22px;height:22px;fill:currentColor}
.footer-social a:hover{background:rgba(25,55,45,.08)}
.footer-social a:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.footer-social a{transition:none}}

@media(pointer:coarse){.footer-social a{width:44px;min-height:44px}}

/* Keep the social row aligned with the footer logo. */
.footer-identity{--ah-brand-width:176px}
.footer-identity .footer-brand{width:var(--ah-brand-width);max-width:100%}
.footer-social{width:var(--ah-brand-width);max-width:100%;justify-content:space-between}
@media(pointer:coarse){.footer-identity{--ah-brand-width:220px}}

/* Approved footer contacts: fixed circles, white line icons on green interaction. */
body.v2 .site-footer .footer-contact-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border:1px solid #8d9c8d;border-radius:50%;box-sizing:border-box;background:transparent;color:var(--ink);transform:none;transition:background-color .15s ease,color .15s ease,border-color .15s ease}
body.v2 .site-footer .footer-contact-icon svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;transform:none}
body.v2 .site-footer .footer-contacts>a:is(:hover,:focus-visible) .footer-contact-icon{background:var(--ink);border-color:var(--ink);color:var(--paper);transform:none}
body.v2 .site-footer .footer-contacts>a:is(:hover,:focus-visible){background:transparent;color:var(--ink);transform:none;text-decoration:none}
body.v2 .site-footer .footer-contacts>a:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
body.v2 .site-footer .footer-legal{margin-inline-start:auto;align-self:flex-end;justify-content:flex-end;text-align:right}
body.v2 .site-footer .footer-legal .ah-menu{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:20px}
@media(prefers-reduced-motion:reduce){body.v2 .site-footer .footer-contact-icon{transition:none}}

body.v2 .wrap.ah-legal-page{max-width:940px}.ah-legal-date{font-size:12px;color:var(--muted);margin:12px 0 38px}.ah-legal-copy{margin-block:38px}.ah-legal-copy h2{margin-bottom:16px}.ah-legal-copy p,.ah-legal-copy li{font-size:14px;line-height:1.85;overflow-wrap:anywhere}.ah-legal-copy ul,.ah-legal-copy ol{padding-left:24px}.ah-legal-copy a,.ah-privacy-notice a{text-decoration:underline;text-underline-offset:3px}.ah-privacy-notice{margin-top:18px}

/* Project contact banner: consistent label/icon alignment and button geometry. */
body.v2 .project-content .contact-banner .actions>a:is(.btn,.text-link){display:flex;box-sizing:border-box;justify-content:space-between;gap:22px;min-height:66px;padding:14px 23px;border:1px solid #F3EDE2;text-align:left}
body.v2 .project-content .contact-banner .actions>a .arrow{display:flex;align-items:center;flex:0 0 36px}

/* Botanical backgrounds: one static SVG per selected motif; no scripted decoration. */
body.v2 .house-detail::before,body.v2 .house-detail .house-study::after{background-image:var(--ah-botanical-image,none)}
body.ah-botanical-puruhi{--ah-botanical-image:url("../images/botanical/puruhi-line.svg")}
body.ah-botanical-fara{--ah-botanical-image:url("../images/botanical/fara-line.svg")}
body.ah-botanical-mori{--ah-botanical-image:url("../images/botanical/mori-line.svg")}
body.ah-botanical-manono{--ah-botanical-image:url("../images/botanical/manono-line.svg")}
body.ah-botanical-pua{--ah-botanical-image:url("../images/botanical/pua-line.svg")}
body.ah-botanical-mape{--ah-botanical-image:url("../images/botanical/mape-line.svg")}
body.ah-botanical-mave{--ah-botanical-image:url("../images/botanical/mave-line.svg")}
body.ah-botanical-maire{--ah-botanical-image:url("../images/botanical/maire-line.svg")}
body.ah-botanical-rea{--ah-botanical-image:url("../images/botanical/rea-line.svg")}
body.ah-botanical-nahe{--ah-botanical-image:url("../images/botanical/nahe-line.svg")}
body.ah-botanical-faifai{--ah-botanical-image:url("../images/botanical/faifai-line.svg")}
body.ah-botanical-mara{--ah-botanical-image:url("../images/botanical/mara-line.svg")}

/* Compact footer navigation, preserving larger touch targets. */
body.v2 .site-footer .footer-links{gap:0}
body.v2 .site-footer .footer-links .footer-title{margin-bottom:10px}
body.v2 .site-footer .footer-links .ah-menu{gap:2px}
body.v2 .site-footer .footer-links .ah-menu a{min-height:28px;padding-block:2px}
@media(pointer:coarse){body.v2 .site-footer .footer-links .ah-menu a{min-height:44px}}

/* Desktop botanical artwork follows the centered editorial grid, not the viewport edge. */
@media(min-width:1024px){body.v2 .house-detail::before{width:650px;height:900px;right:calc(max(0px, (100% - var(--content-width)) / 2) + var(--content-gutter) - 48px)}}
