header{transition:transform .4s ease,background .35s ease,color .35s ease}
header.header-hidden{transform:translateY(-110%);pointer-events:none}
header:focus-within{transform:translateY(0);pointer-events:auto}
.profile-source,.fine{font-size:11px;line-height:1.8;max-width:750px}
.profile-source{margin-top:35px;color:var(--muted)}
.purpose-pair{display:grid;grid-template-columns:1fr 1fr;gap:8%;margin:55px 0}
.profile-purpose,.career-culture,.esg-framework,.destination-amenities,.ecosystem{background:#eee9e0}
.profile-purpose .content-rows,.career-culture .content-rows,.esg-framework .content-rows,.profile-social .content-rows,.governance-principles .content-rows,.partnership-paths .content-rows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin-top:50px}
.content-rows article{border-top:1px solid var(--line);padding-top:25px}
.content-rows article p{font-size:14px}
.content-rows article h3{font-size:27px}
.partnership-paths .content-rows{grid-template-columns:repeat(2,minmax(0,1fr))}
.org-chart{position:relative;margin:65px auto;max-width:1100px;text-align:center}
.org-node{padding:22px 18px;border:1px solid #c7b8a5;background:#f0eae0;font-size:14px;line-height:1.5;min-height:85px;display:flex;align-items:center;justify-content:center}
.org-node.primary{background:var(--ink);color:white;border-color:var(--ink)}
.org-board{width:36%;margin:auto}
.org-audit{width:26%;margin:30px 0 30px auto;position:relative}
.org-audit:before{content:"";position:absolute;top:50%;right:100%;width:92%;height:1px;background:#b9aa97}
.org-board:after{content:"";position:absolute;top:85px;left:50%;height:145px;width:1px;background:#b9aa97}
.org-management{display:grid;grid-template-columns:1fr 1fr;gap:10%;width:72%;margin:40px auto;position:relative}
.org-management:before{content:"";position:absolute;top:-20px;left:25%;right:25%;height:20px;border:1px solid #b9aa97;border-bottom:0}
.org-departments{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;padding-top:35px;border-top:1px solid #b9aa97;position:relative}
.org-departments:before{content:"";position:absolute;top:-40px;left:70%;height:40px;width:1px;background:#b9aa97}
.org-departments .org-node{position:relative}
.org-departments .org-node:before{content:"";position:absolute;top:-36px;left:50%;height:35px;width:1px;background:#b9aa97}
.destination-overview{display:grid;grid-template-columns:1.15fr 1fr;gap:9%;align-items:start}
.destination-facts{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:30px}
.destination-facts>div{padding:20px 0;border-top:1px solid var(--line)}
.destination-facts dt{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.destination-facts dd{margin:15px 0 0;font-size:22px;line-height:1.4}
.destination-facts .big-fact{font-size:clamp(30px,3vw,47px);font-weight:300;letter-spacing:-.04em}
.amenity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:28px;margin:55px 0}
.amenity-grid article{padding:25px 0;border-top:1px solid #d2c7b8}
.amenity-grid svg{width:38px;height:38px;color:var(--terra);margin-bottom:25px}
.amenity-grid h3{font-size:24px;line-height:1.3}
.amenity-grid p{font-size:13px}
.detail-gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:45px}
.detail-gallery-grid button{padding:0;overflow:hidden}
.detail-gallery-grid img{aspect-ratio:1.3;transition:transform .8s ease}
.detail-gallery-grid button:hover img{transform:scale(1.035)}
.destination-next{text-align:center;background:#e9e3d8}
.destination-next p{margin:24px auto}
.destination-next .dialog-actions{justify-content:center;flex-wrap:wrap}
@media(max-width:800px){
.purpose-pair,.destination-overview{grid-template-columns:1fr;gap:35px}
.profile-purpose .content-rows,.career-culture .content-rows,.esg-framework .content-rows,.profile-social .content-rows,.governance-principles .content-rows,.partnership-paths .content-rows{grid-template-columns:1fr;gap:20px}
.amenity-grid{grid-template-columns:1fr 1fr;gap:24px}
.detail-gallery-grid{grid-template-columns:1fr}
.org-board{width:80%}.org-audit{width:55%}.org-management{width:100%;gap:16px}.org-node{font-size:12px;padding:16px 10px}
.org-departments{grid-template-columns:1fr;gap:12px;border-top:0;border-inline-start:1px solid #b9aa97;padding:0 0 0 24px;margin-top:20px}
.org-departments:before{display:none}.org-departments .org-node:before{left:-25px;top:50%;width:24px;height:1px}
.org-audit:before{width:10%}.org-board:after{height:145px}
.destination-facts{gap:20px}
}
@media(prefers-reduced-motion:reduce){header,.detail-gallery-grid img{transition:none}}
.org-board:after{height:185px}
.org-management:before{top:-20px;left:22.5%;right:22.5%}
.org-management{margin-top:40px}
.org-departments:before{left:69.8%}
[dir=rtl] .org-node{direction:rtl}
/* October editorial refinements */
header nav{font-size:12px;gap:17px}.header-actions{font-size:12px}.header-actions .button{font-size:11px}
@media(min-width:1051px) and (max-width:1250px){header nav{font-size:11px;gap:12px}.header-actions{gap:10px}}
body.motion-enabled .project-card:hover .project-open,body.motion-enabled .sector:hover .circle{transform:none}
header.footer-visible,header.footer-visible:focus-within{transform:translateY(-110%);pointer-events:none}
.page-down{width:auto;min-width:45px;padding-inline:18px;gap:16px;border-radius:0;display:flex;font-size:11px;letter-spacing:.08em}
.team-section{background:#ece7dd}.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:50px 32px;margin-top:60px}
.team-card img{aspect-ratio:1;filter:grayscale(1);object-fit:cover;object-position:50% 15%;background:#cbc6bd}
.team-card h3{font-size:22px;letter-spacing:-.02em;line-height:1.3;margin-top:22px}
.team-card p{font-size:12px;color:var(--terra);margin:10px 0 0}
.team-card:first-child{grid-column:span 2;grid-row:span 2}
.team-card:first-child img{aspect-ratio:.83}
.team-card:first-child h3{font-size:32px}
.leadership-text{grid-template-columns:1fr!important}.leadership-text .portrait{display:none}
.leadership-text>div{max-width:850px;margin:auto}
.partnership-editorial,.career-learning{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}
.partnership-editorial img,.career-learning img{height:600px;object-fit:cover}
.partner-process{background:#eae3d7}.partner-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin-top:55px}
.partner-steps article{border-top:1px solid #bfb5a5;padding-top:24px}.partner-steps h3{margin-top:25px}
.partner-brief,.career-enquiry{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#eee9df}
.partner-brief form,.career-enquiry form{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.partner-brief label,.career-enquiry label{display:flex;flex-direction:column;gap:8px;font-size:12px}
.partner-brief label:first-child,.partner-brief label:last-of-type,.career-enquiry label:last-of-type,.partner-brief form>p,.career-enquiry form>p{grid-column:1/-1}
.partner-brief input,.partner-brief select,.partner-brief textarea,.career-enquiry input,.career-enquiry select,.career-enquiry textarea{width:100%;padding:13px;border:1px solid #c8c0b4;background:transparent;color:var(--ink);border-radius:0}
.partner-brief textarea,.career-enquiry textarea{resize:vertical}.partner-brief .button,.career-enquiry .button{grid-column:1/-1;justify-content:space-between}
.career-route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:55px}
.career-route-grid article{padding:35px;border:1px solid var(--line);display:flex;flex-direction:column;align-items:start}
.career-route-grid article p{flex:1}.career-route-grid h3{font-size:30px}
.career-learning{background:#e8e2d7}.culture-tags{font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin-top:30px;color:var(--terra)}
.career-enquiry details{border-top:1px solid var(--line);padding:20px 0}.career-enquiry summary{cursor:pointer}.career-enquiry details p{font-size:14px}
.esg-wide{background:linear-gradient(120deg,#3c4434,#22291e)}

@media(max-width:800px){.team-grid{grid-template-columns:1fr 1fr;gap:32px 20px}.team-card:first-child{grid-column:span 2;grid-row:auto;max-width:500px}.team-card:first-child img{aspect-ratio:1}.team-card h3{font-size:19px}.partnership-editorial,.career-learning,.partner-brief,.career-enquiry{grid-template-columns:1fr;gap:40px}.partnership-editorial img,.career-learning img{height:420px}.partner-steps{grid-template-columns:1fr 1fr;gap:30px}.career-route-grid{grid-template-columns:1fr}.partner-brief form,.career-enquiry form{grid-template-columns:1fr}.page-down{font-size:10px}header.menu-open nav{font-size:18px}}
@media(max-width:450px){.partner-steps{grid-template-columns:1fr}.team-card h3{font-size:17px}.team-card p{font-size:11px}}

@media(max-width:1050px){header.menu-open nav{background:rgba(24,24,24,.98)}}

@media(max-width:800px){.esg-wide img{object-position:70% center}.esg-wide:after{background:linear-gradient(0deg,rgba(0,0,0,.65),transparent 75%)}}

/* Office directory, care topics, partner fields and group companies */
.office-directory{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.25fr);gap:clamp(32px,7vw,112px);align-items:start;background:#ece6da}
.office-directory article{border-inline-start:1px solid #aaa18f;padding-inline-start:clamp(18px,4vw,64px)}
.office-directory h3{font-size:2rem;margin-block:14px}.office-directory p{margin-block:16px}
.care-framework{background:#ece8df}
.care-topics{margin:32px 0;max-width:900px}
.care-topics details{border-top:1px solid #a9a393;padding:20px 0}
.care-topics summary{cursor:pointer;font-size:clamp(20px,2.5vw,34px)}
.care-topics small{font-size:12px;margin-inline-end:20px}
.care-topics p{max-width:64ch;margin-top:12px}
.care-resource{display:flex;align-items:end;justify-content:space-between;gap:30px;border-top:1px solid #b5ad9d;padding-top:28px;margin-top:44px}
.care-resource h3{font-size:clamp(22px,3vw,38px);margin:9px 0}.care-resource p{max-width:65ch}.care-resource .text-link{flex-shrink:0}
.partner-field{margin-block:28px}.partner-field h3{font-size:1.2rem;margin-block:0 14px}
.holding{background:#faf9f6}
.holding-mark{width:min(270px,65%);height:auto;mix-blend-mode:multiply;margin-bottom:32px}
.holding>p{max-width:64ch}
.holding-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:18px;margin-top:36px}
.holding-grid figure{margin:0;padding:15px;background:white}
.holding-grid img{width:100%;height:95px;object-fit:contain}
.holding-grid figcaption{font-size:14px;margin-top:12px}
@media(max-width:760px){.office-directory{grid-template-columns:1fr}}
@media(max-width:700px){.care-resource{display:block}.care-resource .text-link{margin-top:20px}}

/* Home projects carousel: one swipeable row, arrows loop (site.js [data-carousel]). */
.project-grid.project-carousel{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc((100% - 32px)/3);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.project-carousel::-webkit-scrollbar{display:none}
.project-carousel>.project-card{scroll-snap-align:start}
.project-carousel.is-dragging{scroll-snap-type:none;cursor:grabbing}
.project-carousel.is-dragging *{pointer-events:none}
.project-carousel:focus-visible{outline:none}
.projects-intro .carousel-nav{margin-top:24px}
@media(max-width:1000px){.project-grid.project-carousel{grid-auto-columns:calc((100% - 16px)/2)}}
@media(max-width:800px){.project-grid.project-carousel{grid-auto-columns:80%}}

/* Leadership portrait (cut-out photo): whole figure, standing on the bottom edge of the section.
   The section keeps its bottom padding for the text; only the portrait reaches into it. */
.leadership:not(.leadership-text){padding-top:99px;align-items:center}
.leadership:not(.leadership-text) .portrait{align-self:end;line-height:0;margin-bottom:-110px}
.leadership:not(.leadership-text) .portrait img{display:block;width:auto;max-width:100%;height:auto;max-height:440px;object-fit:contain;object-position:bottom;margin-inline:auto}
@media(max-width:800px){.leadership:not(.leadership-text){padding-top:58px}.leadership:not(.leadership-text) .portrait{order:2;margin-bottom:-65px}.leadership:not(.leadership-text) .portrait img{max-height:330px}}
.projects-more{display:flex;justify-content:flex-start;margin-top:32px}

/* Banner text (closing and life banners) lines up with the section content edge (same inline padding as .section). */
:is(.contact-banner,.life-banner)>div{inset-inline-start:max(5.5vw,24px)}
@media(min-width:1500px){:is(.contact-banner,.life-banner)>div{inset-inline-start:max(6vw,calc((100vw - 1380px)/2))}}
@media(max-width:800px){.contact-banner>div{inset-inline:24px}.life-banner>div{inset-inline-start:24px}}

/* Footer phone (LTR link): on Arabic pages the hover arrow sits on the left like the other links. */
[dir=rtl] .footer-grid a[dir=ltr]{flex-direction:row-reverse}
