.brand-tags{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0;list-style:none;padding:0}
.brand-tag{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border:1px solid var(--brand-line);border-radius:var(--brand-radius-pill);background:#ffffffb3;color:var(--brand-forest);font:400 .875rem/1.4 var(--brand-font);backdrop-filter:blur(12px)}
.brand-tag::before{content:'';width:5px;height:5px;flex:none;border-radius:50%;background:var(--brand-emerald)}
.brand-tags--dark .brand-tag{background:#ffffff12;border-color:#b4efc040;color:var(--brand-ivory)}
.brand-tags--dark .brand-tag::before{background:var(--brand-mint)}
.chapter-opener{display:grid;grid-template-columns:1fr 1fr;min-height:660px;background:var(--brand-ivory);border-bottom:1px solid var(--brand-line)}
.chapter-image{margin:0;position:relative;min-width:0;overflow:hidden}
.chapter-image img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:35% center}
.chapter-image figcaption{position:absolute;left:28px;bottom:28px;border-radius:999px;background:#f5f8efeb;color:var(--brand-forest);padding:9px 16px;font-size:.875rem;backdrop-filter:blur(12px)}
.chapter-copy{padding:85px clamp(30px,5vw,90px);position:relative;align-self:center}
.chapter-number{display:block;font:italic 1.5rem var(--brand-font-editorial);color:var(--brand-emerald);margin-bottom:32px}
.chapter-copy h2{font-size:clamp(42px,4.6vw,70px)}
.chapter-copy>p:not(.eyebrow){font-size:1.125rem;color:var(--brand-muted);max-width:480px}
.editorial-aside{display:flex;align-items:center;gap:10px;font:italic 1rem/1.4 var(--brand-font-editorial);color:var(--brand-emerald);margin-top:32px}
.sketch-arrow{width:74px;height:54px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transform:rotate(-6deg)}
.journey>.section-heading .eyebrow{color:var(--brand-emerald)}
.photo-editorial{background:var(--brand-ivory);overflow:hidden}
.photo-editorial .section-heading{align-items:start}
.photo-editorial .section-heading>p{color:var(--brand-muted)}
.editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:44px auto 0;padding-bottom:76px;max-width:1280px;align-items:start}
.editorial-grid figure{margin:0;min-width:0}
.editorial-grid figure:nth-child(2){margin-top:76px}
.editorial-grid figure:nth-child(3){margin-top:24px}
.editorial-photo{aspect-ratio:3/4;overflow:hidden;border-radius:8px;background:var(--brand-wash)}
.editorial-photo img{width:100%;height:100%;display:block;object-fit:cover}
.editorial-photo--desk img{object-position:31% center}
.editorial-photo--beach img{object-position:65% center}
.editorial-grid figcaption{padding:17px 0;border-bottom:1px solid var(--brand-line);display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:var(--brand-muted);font-size:.875rem}
.editorial-grid figcaption strong{font:italic 1.3rem var(--brand-font-editorial);color:var(--brand-forest)}
.ecosystem-intro .brand-tags{justify-content:center}
.card-meta>span:first-child{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--brand-line);border-radius:999px;background:#ffffffb3;color:var(--brand-forest);font-size:.875rem;letter-spacing:0}
.card-meta>span:first-child::before{content:'';width:5px;height:5px;background:var(--brand-emerald);border-radius:50%;flex:none}
.brand-tag:focus-visible{outline:2px solid var(--brand-emerald);outline-offset:4px}
@media(max-width:940px){.chapter-opener{min-height:530px}.chapter-copy{padding:45px 28px}.chapter-copy h2{font-size:44px}.editorial-grid{gap:18px}}
@media(max-width:650px){.chapter-opener{grid-template-columns:1fr;min-height:0}.chapter-image{aspect-ratio:4/3;min-height:0}.chapter-image img{position:absolute;object-position:32% center}.chapter-image figcaption{left:20px;bottom:20px}.chapter-copy{padding:40px 6% 50px}.chapter-number{margin-bottom:24px}.chapter-copy h2{font-size:42px}.editorial-grid{grid-template-columns:1fr;gap:32px;padding-bottom:0}.editorial-grid figure:nth-child(n){margin-top:0}.editorial-photo{max-height:620px}.photo-editorial .section-heading{grid-template-columns:1fr}.brand-tag{font-size:.875rem}}
@media(prefers-reduced-transparency:reduce){.brand-tag,.card-meta>span:first-child,.chapter-image figcaption{background:var(--brand-ivory);backdrop-filter:none}.brand-tags--dark .brand-tag{background:var(--brand-forest)}}
@media print{.chapter-opener{min-height:0}.chapter-copy{padding:24px}.editorial-grid{padding-bottom:0}.editorial-grid figure:nth-child(n){margin-top:0}}

/* Focal positions for Sonia’s supplied portrait collection. */
.editorial-photo--phones img{object-position:50% 65%}
.orbit-photo img[src="/assets/sonia-seated.webp"]{object-position:50% 64%}
.ribbon-image img[src="/assets/sonia-outdoor.webp"]{object-position:50% 48%}
.ribbon-travel img{object-position:50% 64%}

.editorial-photo--process img{object-position:center center}

/* Consistent touch, focus and readable enquiry details. */
[id]{scroll-margin-top:110px}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}button:disabled{cursor:default;opacity:.65;box-shadow:none;transform:none!important}.enquiry-brief{border-top:1px solid var(--brand-line);background:#f0ede5}.enquiry-brief h2{font-size:clamp(32px,4vw,52px);max-width:700px}.enquiry-brief>p:not(.eyebrow){max-width:620px;color:var(--brand-muted)}.enquiry-brief pre{font:inherit;font-size:15px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;background:#fff8;padding:26px;border:1px solid var(--brand-line);border-radius:16px;max-width:760px;margin:24px 0}.enquiry-brief .copy-status{display:block;margin-top:14px;font-size:14px}.contact-links a>div{min-width:0}.contact-links strong{overflow-wrap:anywhere}.search-label input{min-height:44px}.filter-list button{min-height:44px}.motion-toggle,.motion-control{min-height:44px}@media(max-width:650px){[id]{scroll-margin-top:90px}.enquiry-brief pre{padding:20px;font-size:14px}.contact-links strong{font-size:clamp(18px,5vw,24px)}}

/* Balanced two-line ecosystem heading on Home and About. */
.ecosystem-teaser .section-heading{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
.ecosystem-teaser .section-heading h2{font-size:clamp(25px,3.5vw,50px);line-height:1.12;letter-spacing:-.04em}
.ecosystem-headline-line{display:block;white-space:nowrap}
@media(max-width:700px){.ecosystem-teaser .section-heading{grid-template-columns:1fr}.ecosystem-teaser .section-heading h2{font-size:clamp(23px,6.1vw,40px)}}

/* Keep contact email readable on narrow screens. */
.contact-email{max-width:100%;font-size:clamp(13px,1.5vw,16px);padding:17px 20px;overflow-wrap:anywhere}.contact-hero>.eyebrow{line-height:1.8}
