/* Shared visual system. Resting content is complete without script or motion. */
:root{--media-radius:16px;--media-gap:clamp(24px,3.5vw,48px);--chapter-space:clamp(80px,9vw,144px);--media-ease:cubic-bezier(.22,1,.36,1)}
.section,.v2-section{padding-block:var(--chapter-space)}
.section.compact{padding-block:clamp(36px,5vw,72px)}
main p{line-height:1.7}main .lede,main .v2-lede{max-width:54ch}
main :is(h1,h2,h3){text-wrap:balance}main :is(p,li,address){overflow-wrap:break-word}
.display,.inner-hero h1{font-size:clamp(3rem,6vw,6.25rem);line-height:1.02;letter-spacing:-.045em}
.v2-section h2,.v3-land h2{font-size:clamp(2.8rem,5.4vw,6.25rem);line-height:1.02;letter-spacing:-.04em}
.v11-mini-icon{width:34px;height:34px;flex:0 0 34px;box-shadow:none;background:transparent;border-color:rgba(23,63,50,.22)}
.v11-mini-icon svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.v11-icon-label{align-items:center;gap:12px;line-height:1.4}
.v11-icon-label>.v11-mini-icon{width:30px;height:30px;flex-basis:30px;align-self:center}
.v11-icon-label>.eyebrow{margin:0;line-height:1.4}.v11-icon-label .v11-mini-icon svg{width:16px;height:16px}
.forest .v11-mini-icon,.v2-dark .v11-mini-icon,.dark .v11-mini-icon{color:var(--accent-on-dark);border-color:rgba(226,201,159,.4);background:transparent}
/* One gallery rhythm: a lead view, then pairs, with captions outside the photos. */
.gallery-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(40px,5vw,72px) var(--media-gap);align-items:start;margin-top:clamp(32px,4vw,56px)}
.gallery-grid .gallery-item,.gallery-grid .gallery-item:nth-child(even),.gallery-grid .gallery-item:nth-child(3n){grid-column:span 6;margin:0;height:auto;min-height:0;overflow:visible;background:transparent;border:0;box-shadow:none}
.gallery-grid .gallery-item:first-child,.gallery-grid .gallery-item:last-child:nth-child(even){grid-column:1/-1}
.gallery-grid .gallery-open{height:auto;display:block;overflow:hidden;border-radius:var(--media-radius);background:var(--paper-2)}
.gallery-grid .gallery-item img,.gallery-grid .gallery-item.tall img,.gallery-grid .gallery-item.half:nth-child(even) img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;max-height:none;border:0;border-radius:0;filter:none;box-shadow:none}
.gallery-grid .gallery-item:first-child img,.gallery-grid .gallery-item:last-child:nth-child(even) img{aspect-ratio:16/10;max-height:76svh}
.gallery-caption,.forest .gallery-caption{position:static;display:block;padding:0;margin-top:16px;background:transparent;backdrop-filter:none;color:inherit;letter-spacing:0;text-transform:none;font-size:14px;line-height:1.5}
/* Large photographs introduce a chapter; framing stays steady during scrolling. */
.v7-photo-reveal{clip-path:none}
.v8-depth-active [data-depth-photo]{transform:none;will-change:auto}
.v3-project-image img{height:clamp(400px,72svh,900px);object-fit:cover;border-radius:var(--media-radius);filter:none}
.v11-project-photo,.v2-photo{border:0;box-shadow:none;background:transparent;overflow:visible}
.v11-photo-band{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--media-gap);margin:0}
.v11-photo-band img,.v11-photo-band img:first-child,.v11-photo-band img:last-child{min-width:0;min-height:0;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--media-radius);filter:none}
.v2-site-photos{gap:var(--media-gap);align-items:start}
.v2-site-photos img,.v2-site-photos img:last-child{height:auto;aspect-ratio:4/5;filter:none;border-radius:var(--media-radius);box-shadow:none}
.premium-narrative{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:clamp(32px,5vw,64px)!important;align-items:start!important}
.premium-narrative>div:last-child{max-width:64ch}
body[data-page="about"] .section.forest .premium-narrative .panel-image{position:static;width:100%;height:clamp(400px,70svh,820px);object-fit:cover;transform:none;border-radius:var(--media-radius);filter:none}
.premium-plan .panel-image,body[data-page="ownership"] .section .premium-plan .panel-image{position:static!important;width:100%;height:auto!important;max-height:78svh;object-fit:contain;transform:none;border-radius:0;filter:none}
.premium-plan>picture{display:block;background:var(--paper);padding:clamp(18px,3vw,40px);border-radius:var(--media-radius)}
.v11-editorial-visual{margin-block:clamp(40px,5vw,72px)}
.v11-editorial-visual.v11-wide img{aspect-ratio:16/10;max-height:72svh;border-radius:var(--media-radius);border:0;box-shadow:none;filter:none}
.v11-editorial-visual figcaption{font-size:13px;line-height:1.55;letter-spacing:0;text-transform:none;gap:20px;margin-top:16px;padding-top:0;border:0}
.v11-editorial-visual figcaption span:last-child{color:inherit}
.v7-managed .v2-split{grid-template-columns:minmax(0,1fr);gap:clamp(36px,5vw,72px)}
.v7-managed .v2-image-card{margin:0;overflow:hidden;border-radius:var(--media-radius)}
.v7-managed .v2-image-card img{height:clamp(400px,70svh,820px);width:100%;object-fit:cover;filter:none}
/* Authentic office photography: one reception view and three quieter details. */
.office-gallery{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto;gap:clamp(36px,4vw,60px) var(--media-gap)}
.office-gallery figure:first-child{grid-column:1/-1;grid-row:auto}
.office-gallery figure:nth-child(2){grid-column:auto}
.office-gallery .gallery-open{flex:none;min-height:0;height:auto;background:transparent}
.office-gallery img{height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:var(--media-radius)}
.office-gallery figure:first-child img{aspect-ratio:16/10;max-height:72svh}
.office-gallery figcaption,.plot-concept figcaption,.villa-grid figcaption{font-size:14px;letter-spacing:0;text-transform:none;margin-top:6px}
.villa-grid{gap:var(--media-gap);margin-block:clamp(36px,5vw,64px)}
.villa-grid img{border-radius:var(--media-radius);object-fit:contain;background:#e9e6dd}
.plot-concept figure{max-width:507px}.plot-concept img{aspect-ratio:auto;object-fit:contain}
.archive-detail-photo img,.archive-card>img{animation:none!important}
/* Brochure images are a spaced, keyboard-scrollable collection, never a ticker. */
.orchard-mosaic,.orchard-home .orchard-mosaic,.orchard-management .orchard-mosaic{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(12px,1.5vw,24px);height:auto;overflow:visible;background:transparent;border-radius:0}
.orchard-mosaic figure{margin:0;min-width:0;overflow:hidden}
.orchard-mosaic img{display:block;width:100%;height:clamp(320px,36vw,520px);object-fit:cover;border-radius:12px;filter:none}
.orchard-mosaic figure figcaption{font-size:13px;margin:14px 0 0;padding:0;letter-spacing:0;color:inherit;line-height:1.5}
.orchard-mosaic:focus-visible{outline:2px solid var(--gold);outline-offset:6px}
.orchard-composition>figcaption{margin-top:26px;max-width:60ch;font-size:14px;line-height:1.65}
/* Hover feedback is small. Text/forms/plot values never wait for decorative motion. */
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .gallery-open img,.office-gallery img,.v11-photo-band img{transition:transform 1.25s var(--media-ease)}
 .gallery-open:hover img{transform:scale(1.018)}
}
.gallery-open:focus-visible,.home-plan-open:focus-visible{outline:3px solid var(--gold);outline-offset:6px}
.button,.footer-invite-link{transition:background-color .22s ease,color .22s ease,border-color .22s ease}
@media(max-width:820px){
 .gallery-grid{gap:40px 24px}.gallery-grid .gallery-item:first-child img,.gallery-grid .gallery-item:last-child:nth-child(even) img{aspect-ratio:4/3;max-height:none}
 .v11-photo-band{gap:24px}.v2-site-photos{gap:24px}
 .office-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}.office-gallery figure:last-child{grid-column:1/-1}.office-gallery figure:last-child img{aspect-ratio:4/3}
 .orchard-mosaic,.orchard-home .orchard-mosaic,.orchard-management .orchard-mosaic{grid-template-columns:repeat(7,150px);gap:20px;overflow-x:auto;padding:2px 2px 14px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--gold) transparent}
 .orchard-mosaic figure{scroll-snap-align:start}.orchard-mosaic img{height:380px}
 .v11-editorial-visual figcaption{flex-wrap:wrap}.v11-editorial-visual figcaption span:last-child{text-align:left}
}
@media(max-width:600px){
 .gallery-grid{grid-template-columns:minmax(0,1fr);gap:40px}.gallery-grid .gallery-item,.gallery-grid .gallery-item:nth-child(even),.gallery-grid .gallery-item:nth-child(3n),.gallery-grid .gallery-item:first-child,.gallery-grid .gallery-item:last-child:nth-child(even){grid-column:1}
 .gallery-grid .gallery-item img{aspect-ratio:4/3}
 .v11-photo-band{grid-template-columns:minmax(0,1fr);gap:28px}.v11-photo-band img{aspect-ratio:4/3}
 .v3-project-image img{height:62svh;min-height:340px}.premium-narrative{gap:32px!important}
 .office-gallery{grid-template-columns:minmax(0,1fr);gap:32px}.office-gallery figure:first-child,.office-gallery figure:last-child{grid-column:1}
 .office-gallery img,.office-gallery figure:first-child img,.office-gallery figure:last-child img{aspect-ratio:4/3;max-height:none}
 .orchard-mosaic img{height:340px}
}
@media(prefers-reduced-motion:reduce){.gallery-open img,.office-gallery img,.v11-photo-band img,.button,.footer-invite-link{animation:none!important;transition:none!important;transform:none!important}}

/* Listing pages: keep each guide together rather than spilling into legacy columns. */
body[data-page="guides"] .inner-hero .lede{max-width:40ch}
body[data-page="guides"] .listing-photo{margin:0}
body[data-page="guides"] .listing-photo img{display:block;width:100%;height:clamp(360px,70svh,820px);aspect-ratio:auto;object-fit:cover}
body[data-page="guides"] .listing-guides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;border:0}
body[data-page="guides"] .listing-guides::before{content:none}
body[data-page="guides"] .listing-guides .guide-card{display:flex;flex-direction:column;gap:28px;min-width:0;min-height:0;margin:0!important;padding:clamp(24px,3vw,42px)!important;border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:none;transform:none;align-items:stretch}
body[data-page="guides"] .listing-guides .guide-card>div{display:block;flex:1;min-width:0}
body[data-page="guides"] .listing-guides .v11-mini-icon{margin:0 0 24px}
body[data-page="guides"] .listing-guides h2{font-size:clamp(1.8rem,2.8vw,2.8rem);line-height:1.08;letter-spacing:-.04em;max-width:24ch;margin:0}
body[data-page="guides"] .listing-guides p{font-size:16px;line-height:1.65;margin:18px 0 0;max-width:48ch}
body[data-page="guides"] .listing-guides .text-link{align-self:flex-start;margin:0;padding:0 0 5px;font-size:13px;line-height:1.5;white-space:normal}
body[data-page="guides"] .listing-guides .guide-card:hover{border-color:var(--gold);box-shadow:0 10px 30px rgba(23,63,50,.06)}
body[data-page="guides"] .listing-guides .guide-card:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
/* Image-free archives are optional, accessible even without JavaScript. */
body[data-page="projects"] .archive-more{margin-top:40px;border-top:1px solid var(--line);padding-top:24px}
body[data-page="projects"] .archive-more summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;cursor:pointer;list-style:none;font-size:16px;font-weight:500;color:var(--ink);padding:8px 0}
body[data-page="projects"] .archive-more summary::-webkit-details-marker{display:none}
body[data-page="projects"] .archive-more summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px;border-radius:4px}
.archive-more-open{display:none}.archive-more[open] .archive-more-open{display:inline}.archive-more[open] .archive-more-closed{display:none}
.archive-more-symbol{font-size:24px;font-weight:400}.archive-more[open] .archive-more-symbol{transform:rotate(45deg)}
.archive-more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px}
body[data-page="projects"] .archive-more-grid .archive-card--plain{min-height:0;background:transparent;border:1px solid var(--line);padding:28px!important;transform:none;opacity:1}
body[data-page="projects"] .archive-more-grid .archive-card--plain h3{font-size:clamp(1.8rem,2.5vw,2.4rem)}
body[data-page="projects"] .featured-project .proof-stage picture{display:block;height:100%;width:100%}
/* Equal container edges for the plantation strip on every page. */
.orchard-composition,.orchard-mosaic{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.orchard-mosaic{justify-self:stretch}
.orchard-mosaic figure{width:100%;min-width:0;max-width:100%}
@media(max-width:700px){
 body[data-page="guides"] .listing-guides{grid-template-columns:minmax(0,1fr);gap:20px}
 body[data-page="guides"] .listing-photo img{height:auto;aspect-ratio:4/3}
 .archive-more-grid{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){body[data-page="guides"] .listing-guides .guide-card{transition:none}}
/* Reset the old editorial edge-to-edge parent, not just its child mosaic. */
.v7-managed .container.v2-split{
 width:min(calc(100% - (var(--gutter) * 2)),var(--max));
 max-width:var(--max);
 margin-inline:auto;
 padding-inline:0;
}
