:root{--gray-0:#FFFFFF;--gray-50:#FAFAF8;--gray-100:#F3F2EF;--gray-200:#E6E4DF;--gray-300:#CFCCC5;--gray-400:#A5A29B;--gray-500:#7A7772;--gray-600:#5E5B56;--gray-700:#43413D;--gray-800:#2A2926;--gray-900:#181816;--gray-950:#0C0C0B;--accent-50:#EBF3EC;--accent-100:#D5E5D8;--accent-200:#AECBB5;--accent-300:#7FAC8B;--accent-400:#4C8A5F;--accent-500:#1F5C38;--accent-600:#174B2D;--accent-700:#123D25;--accent-800:#0E301D;--accent-900:#092015;color-scheme:light;--color-bg:#FAFAF8;--color-bg-elevated:#FFFFFF;--color-bg-subtle:#F3F2EF;--color-bg-inverse:#181816;--color-text:#181816;--color-text-secondary:#5E5B56;--color-text-tertiary:#7A7772;--color-text-inverse:#FAFAF8;--color-text-on-accent:#FFFFFF;--color-border:#E6E4DF;--color-border-strong:#CFCCC5;--color-primary:#1F5C38;--color-primary-hover:#174B2D;--color-primary-active:#123D25;--color-primary-subtle:#EBF3EC;--color-focus:#1F5C38;--color-scrim:rgb(12 12 11/0.6);--font-display:"Inter Tight",ui-sans-serif,system-ui,sans-serif;--font-sans:"Inter Tight",ui-sans-serif,system-ui,sans-serif;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--measure:65ch;--measure-wide:75ch;--measure-narrow:45ch;--text-display-2xl:clamp(3.5rem,2.2rem + 5.5vw,7.5rem);--text-display-xl:clamp(2.75rem,1.7rem + 4.5vw,5.5rem);--text-display-lg:clamp(2.25rem,1.5rem + 3vw,4rem);--text-display-md:clamp(1.75rem,1.3rem + 2vw,2.75rem);--text-heading-lg:clamp(1.5rem,1.3rem + 0.9vw,2rem);--text-heading-md:clamp(1.25rem,1.15rem + 0.4vw,1.5rem);--text-heading-sm:1.125rem;--text-body-lg:clamp(1.125rem,1.05rem + 0.3vw,1.25rem);--text-body-md:1rem;--text-body-sm:0.875rem;--text-label-md:0.875rem;--text-label-sm:0.75rem;--text-ordinal:0.875rem;--text-caption:0.75rem;--space-0:0;--space-px:1px;--space-0-5:0.125rem;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--space-40:10rem;--space-48:12rem;--radius-none:0;--radius-xs:2px;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-xl:16px;--radius-2xl:24px;--radius-full:9999px;--z-base:0;--z-raised:10;--z-sticky:100;--z-header:200;--z-dropdown:300;--z-overlay:400;--z-modal:500;--z-toast:600;--z-tooltip:700;--z-max:9999;--border-hairline:1px;--border-strong:2px;--duration-instant:0ms;--duration-fast:120ms;--duration-base:200ms;--duration-slow:320ms;--duration-editorial:600ms;--ease-standard:cubic-bezier(0.2,0,0,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in:cubic-bezier(0.4,0,1,1);--ease-editorial:cubic-bezier(0.16,1,0.3,1);--shadow-none:none;--shadow-sm:0 1px 2px 0 rgb(0 0 0/0.05);--shadow-md:0 4px 12px -2px rgb(0 0 0/0.08),0 2px 4px -2px rgb(0 0 0/0.04);--shadow-lg:0 16px 40px -8px rgb(0 0 0/0.16),0 4px 12px -4px rgb(0 0 0/0.06);--shadow-focus:0 0 0 2px var(--color-bg),0 0 0 4px var(--color-focus);--gutter:clamp(1rem,0.5rem + 2.5vw,3rem);--container-prose:44rem;--container-narrow:56rem;--container-default:80rem;--container-wide:96rem;--header-height:4rem}
*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:var(--header-height,4rem)}
body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-body-md);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}
input,button,textarea,select{font:inherit;color:inherit}
button{background:none;border:0;padding:0;cursor:pointer}
a{color:var(--color-primary);text-decoration-thickness:1px;text-underline-offset:0.15em;transition:text-decoration-thickness var(--duration-fast) var(--ease-standard)}
a:hover{color:var(--color-primary-hover);text-decoration-thickness:2px}
h1,h2,h3,h4,h5,h6{text-wrap:balance;overflow-wrap:anywhere}
p{text-wrap:pretty}
:focus{outline:none}
:focus-visible{outline:var(--border-strong) solid var(--color-focus);outline-offset:2px;border-radius:inherit}
.focus-inset:focus-visible{outline-offset:-2px}
.focus-ring:focus-visible{outline:none;box-shadow:var(--shadow-focus)}
.container{width:100%;max-width:var(--container-default);margin-inline:auto;padding-inline:var(--gutter)}
.container--prose{max-width:var(--container-prose)}
.container--narrow{max-width:var(--container-narrow)}
.container--wide{max-width:var(--container-wide)}
.container--full{max-width:none;padding-inline:0}
.section{padding-block:var(--space-16)}
@media (min-width:768px){.section{padding-block:var(--space-20)}}
@media (min-width:1024px){.section{padding-block:var(--space-24)}}
.chapter{padding-block:var(--space-24)}
@media (min-width:1024px){.chapter{padding-block:var(--space-32)}}
.stack>*+*{margin-block-start:var(--stack-gap,var(--space-6))}
.grid-editorial{display:grid;gap:var(--space-8)}
@media (min-width:1024px){.grid-editorial{grid-template-columns:4fr 8fr}}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;inset-inline-start:var(--space-4);top:-100%;z-index:var(--z-max);padding:var(--space-3) var(--space-4);background:var(--color-bg-inverse);color:var(--color-text-inverse);border-radius:var(--radius-md)}
.skip-link:focus-visible{top:var(--space-4)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}}
.text-display-2xl{font:var(--weight-regular) var(--text-display-2xl)/0.95 var(--font-display);letter-spacing:-0.03em;text-wrap:balance}
.text-display-xl{font:var(--weight-regular) var(--text-display-xl)/1 var(--font-display);letter-spacing:-0.025em;text-wrap:balance}
.text-display-lg{font:var(--weight-regular) var(--text-display-lg)/1.05 var(--font-display);letter-spacing:-0.02em;text-wrap:balance}
.text-display-md{font:var(--weight-regular) var(--text-display-md)/1.1 var(--font-display);letter-spacing:-0.015em;text-wrap:balance}
.text-heading-lg{font:var(--weight-semibold) var(--text-heading-lg)/1.2 var(--font-sans);letter-spacing:-0.01em}
.text-heading-md{font:var(--weight-semibold) var(--text-heading-md)/1.3 var(--font-sans);letter-spacing:-0.005em}
.text-heading-sm{font:var(--weight-medium) var(--text-heading-sm)/1.4 var(--font-sans)}
.text-body-lg{font:var(--weight-regular) var(--text-body-lg)/1.6 var(--font-sans)}
.text-body-md{font:var(--weight-regular) var(--text-body-md)/1.6 var(--font-sans)}
.text-body-sm{font:var(--weight-regular) var(--text-body-sm)/1.5 var(--font-sans)}
.text-label-md{font:var(--weight-medium) var(--text-label-md)/1.2 var(--font-sans)}
.text-label-sm{font:var(--weight-medium) var(--text-label-sm)/1.2 var(--font-sans);letter-spacing:0.01em}
.text-ordinal{font:var(--weight-regular) var(--text-ordinal)/1 var(--font-sans);letter-spacing:0.04em;font-variant-numeric:tabular-nums;color:var(--color-text-tertiary)}
.text-caption{font:var(--weight-regular) var(--text-caption)/1.4 var(--font-sans)}
.text-display-2xl,.text-display-xl,.text-display-lg,.text-display-md{font-weight:var(--weight-medium)}
.pull-quote,.hero .tagline{font-style:normal;font-weight:var(--weight-medium)}
.site-nav{position:fixed;inset:0 0 auto;height:var(--header-height);z-index:var(--z-header);display:flex;align-items:center;color:var(--color-text-inverse);transition:background-color var(--duration-base) var(--ease-standard),color var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard)}
.site-nav.is-scrolled{background:color-mix(in srgb,var(--color-bg) 80%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);color:var(--color-text)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);width:100%}
.brand{display:inline-flex;align-items:center;gap:var(--space-3);font:400 22px/1 var(--font-display);letter-spacing:-0.01em;color:inherit;text-decoration:none}
.brand-mark{width:30px;height:30px;flex:none}
.brand:hover{color:inherit}
.nav-links{display:none;gap:var(--space-8);list-style:none;padding:0;margin:0 auto}
.nav-links a{font:var(--weight-medium) var(--text-label-md)/1 var(--font-sans);color:inherit;text-decoration:none;opacity:.75;transition:opacity var(--duration-fast) var(--ease-standard)}
.nav-links a:hover{opacity:1;color:inherit}
.btn{display:inline-flex;align-items:center;gap:var(--space-2);font:var(--weight-medium) var(--text-label-md)/1 var(--font-sans);padding:var(--space-3) var(--space-5);border-radius:var(--radius-full);text-decoration:none;border:1px solid transparent;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}
.btn:active{transform:scale(0.98)}
.btn-primary{background:var(--color-primary);color:var(--color-text-on-accent)}
.btn-primary:hover{background:var(--color-primary-hover);color:var(--color-text-on-accent)}
.nav-cta{display:none;background:var(--gray-50);color:var(--gray-900)}
.nav-cta:hover{background:var(--gray-200);color:var(--gray-900)}
.site-nav.is-scrolled .nav-cta{background:var(--color-primary);color:var(--color-text-on-accent)}
.site-nav.is-scrolled .nav-cta:hover{background:var(--color-primary-hover)}
.nav-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;align-items:center}
.nav-toggle span{display:block;width:20px;height:1.5px;background:currentColor;transition:transform var(--duration-fast) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard)}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.nav-menu{position:absolute;top:var(--header-height);inset-inline:0;background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;padding:var(--space-4) var(--gutter) var(--space-6)}
.nav-menu a{font:var(--weight-medium) var(--text-heading-sm)/1.4 var(--font-sans);color:var(--color-text);text-decoration:none;padding-block:var(--space-3);border-bottom:1px solid var(--color-border)}
.nav-menu a:last-child{border-bottom:0}
.nav-menu a:hover{color:var(--color-primary)}
@media (min-width:860px){.nav-links{display:flex}.nav-cta{display:inline-flex}.nav-toggle,.nav-menu{display:none}}
.hero{position:relative;overflow:hidden;background:var(--gray-950);color:var(--color-text-inverse);display:flex;align-items:flex-end;min-height:58vh}
.hero-tall{min-height:92vh}
.hero canvas{position:absolute;inset:0;width:100%;height:100%}
.hero-inner{position:relative;z-index:1;padding-block:calc(var(--header-height) + var(--space-20)) var(--space-16)}
@media (min-width:1024px){.hero-inner{padding-bottom:var(--space-20)}}
.hero h1{margin:0;max-width:14ch;font-size:80px}
.hero .lead{color:var(--gray-400);max-width:var(--measure);margin-top:var(--space-6)}
.hero .tagline{font:italic 400 var(--text-display-md)/1.2 var(--font-display);letter-spacing:-0.015em;color:var(--gray-400);margin-top:var(--space-5);max-width:24ch}
.bg-subtle{background:var(--color-bg-subtle)}
.inverse{background:linear-gradient(rgb(12 12 11/.86),rgb(12 12 11/.92)),url("assets/abu-dhabi-marina.jpg") center/cover no-repeat;color:var(--color-text-inverse)}
.inverse .muted,.prose-inverse p{color:var(--gray-400)}
.inverse a{color:var(--accent-300)}
.muted{color:var(--color-text-secondary)}
.measure{max-width:var(--measure)}
.ord{font-size:var(--text-body-md)}
.card .sec-icon{position:static}
@media (min-width:1024px){.grid-editorial{grid-template-columns:auto 1fr;column-gap:var(--space-10)}.service-row{grid-template-columns:auto 1fr;column-gap:var(--space-10)}}
.rows{list-style:none;padding:0;margin:0}
.rows li{display:flex;gap:var(--space-5);align-items:baseline;padding-block:var(--space-4);border-top:1px solid var(--color-border)}
.sec-icon{display:inline-flex;color:var(--color-primary)}
.sec-icon svg{width:28px;height:28px}
.inverse .sec-icon{color:var(--accent-300)}
.cookie-pop{position:fixed;right:var(--space-5);bottom:var(--space-5);left:var(--space-5);z-index:calc(var(--z-header) + 10);max-width:380px;margin-left:auto;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-5);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard)}
.cookie-pop.is-open{opacity:1;transform:none;pointer-events:auto}
.cookie-pop h2{font:400 var(--text-heading-md)/1.3 var(--font-display);margin:0}
.cookie-pop>p{margin:0;color:var(--color-text-secondary);font:var(--weight-regular) var(--text-body-sm)/1.55 var(--font-sans)}
.cookie-rows{display:flex;flex-direction:column}
.cookie-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-3);border-top:1px solid var(--color-border)}
.cookie-row .lbl{font:var(--weight-medium) var(--text-label-md)/1.3 var(--font-sans)}
.cookie-row .sub{color:var(--color-text-tertiary);font:var(--weight-regular) var(--text-caption)/1.4 var(--font-sans);margin-top:2px}
.switch{position:relative;flex:none;width:40px;height:22px;border-radius:var(--radius-full);background:var(--gray-300);border:0;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard)}
.switch::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform var(--duration-fast) var(--ease-standard)}
.switch[aria-checked="true"]{background:var(--color-primary)}
.switch[aria-checked="true"]::after{transform:translateX(18px)}
.switch:disabled{opacity:.55;cursor:default}
.cookie-actions{display:flex;gap:var(--space-3)}
.cookie-actions .btn{flex:1;justify-content:center}
.btn-ghost{border-color:var(--color-border-strong);color:var(--color-text)}
.btn-ghost:hover{border-color:var(--color-text);color:var(--color-text)}
.rows li:last-child{border-bottom:1px solid var(--color-border)}
.q-rows .q{font:400 clamp(1.375rem,1.2rem + 0.8vw,1.875rem)/1.25 var(--font-display);letter-spacing:-0.01em;text-wrap:balance}
#questions h2{padding-bottom:20px}
.cross li a{font:var(--weight-medium) var(--text-heading-sm)/1.4 var(--font-sans);text-decoration:none}
.cross li a:hover{text-decoration:underline}
.card-grid{display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);transition:border-color var(--duration-fast) var(--ease-standard)}
.card:hover{border-color:var(--color-border-strong)}
.card p{margin:0}
.card h3{margin:0}
.card-link{color:var(--color-text);text-decoration:none}
.card-link:hover{color:var(--color-primary)}
.service-row{display:grid;gap:var(--space-6);padding-block:var(--space-10);border-top:1px solid var(--color-border)}
.service-row:first-child{border-top:0;padding-top:0}
@media (min-width:1024px){.service-row{grid-template-columns:4fr 8fr}}
.pull-quote{font:italic 400 var(--text-display-md)/1.2 var(--font-display);letter-spacing:-0.015em;text-wrap:balance;max-width:26ch}
.handle-grid{display:grid;gap:var(--space-8) var(--space-10);grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
.handle{border-top:1px solid var(--color-border);padding-top:var(--space-5)}
.handle dt{margin:0}
.handle dd{margin:var(--space-2) 0 0}
.partners{display:flex;flex-direction:column}
.partner{display:grid;gap:var(--space-3) var(--space-10);padding-block:var(--space-6);border-top:1px solid var(--color-border)}
@media (min-width:768px){.partner{grid-template-columns:5fr 7fr}}
.partner-name{font:400 var(--text-heading-lg)/1.2 var(--font-display);letter-spacing:-0.01em;margin:0}
.partner-name a{color:var(--color-text);text-decoration:none}
.partner-name a:hover{color:var(--color-primary);text-decoration:underline;text-decoration-thickness:1px}
.partner .role,.job .role{color:var(--color-text-tertiary);margin-top:var(--space-2)}
.partner p{margin:0}
.job{border-top:1px solid var(--color-border);padding-top:var(--space-8);margin-top:var(--space-10)}
.job h3{margin:0;padding-bottom:30px}
.job .role{margin-top:calc(-1 * var(--space-4))}
.job-list{padding-left:1.25em;margin:0;display:flex;flex-direction:column;gap:var(--space-2);max-width:var(--measure)}
.job-list li{font:var(--weight-regular) var(--text-body-md)/1.6 var(--font-sans)}
.contact-block{font-style:normal;display:flex;flex-direction:column;gap:var(--space-2);border-top:1px solid var(--color-border);padding-top:var(--space-5);max-width:20rem}
.contact-name{font:400 var(--text-heading-lg)/1.2 var(--font-display)}
.contact-form{display:flex;flex-direction:column;gap:var(--space-8);max-width:var(--container-prose)}
.field{display:flex;flex-direction:column;gap:var(--space-2)}
.field label{color:var(--color-text-secondary)}
.field input,.field textarea{background:transparent;border:0;border-bottom:1px solid var(--color-border-strong);border-radius:0;padding:var(--space-2) 0 var(--space-3);transition:border-color var(--duration-fast) var(--ease-standard)}
.field input:focus,.field textarea:focus{border-bottom-color:var(--color-primary)}
.field textarea{resize:vertical}
.contact-form p{margin:0}
.site-footer{border-top:1px solid var(--color-border);padding:var(--space-12) 0 var(--space-8)}
.footer-inner{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-4)}
.footer-brand{display:inline-flex;align-items:center;gap:var(--space-3);font:400 22px/1 var(--font-display)}
.footer-copy{color:var(--color-text-tertiary);margin:0}
.reveal{opacity:0;transform:translateY(16px);transition:opacity var(--duration-editorial) var(--ease-editorial),transform var(--duration-editorial) var(--ease-editorial)}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}
.media{margin:0}
.section > .media{margin-top:var(--space-12);margin-bottom:calc(-1 * var(--space-16))}
@media (min-width:768px){.section > .media{margin-bottom:calc(-1 * var(--space-20))}}
@media (min-width:1024px){.section > .media{margin-bottom:calc(-1 * var(--space-24))}}
.media img{display:block;width:100%;height:clamp(280px,42vw,520px);object-fit:cover}
.media-parallax{height:clamp(280px,42vw,520px);background-size:cover;background-position:center;background-attachment:fixed}
@supports (-webkit-touch-callout:none){.media-parallax{background-attachment:scroll}}
.bg-skyline{background-image:url("assets/abu-dhabi-skyline.jpg")}
.bg-meeting{background-image:url("assets/meeting-room.jpg")}
.bg-residence{background-image:url("assets/residence.jpg")}
.bg-interior{background-image:url("assets/office-interior.jpg")}
.bg-daylight{background-image:url("assets/office-daylight.jpg")}
.bg-charts{background-image:url("assets/charts.jpg")}
.bg-documents{background-image:url("assets/documents.jpg")}
.bg-family{background-image:url("assets/family-dusk.jpg")}
.media-band{padding-block:0 var(--space-16)}
.policy{margin-left:0}
.policy h2{margin-top:var(--space-10)}
.policy h3{margin-top:var(--space-6)}
.policy p,.policy h4{margin:0}
.policy-list{padding-left:1.25em;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}
.policy-list li{font:var(--weight-regular) var(--text-body-md)/1.6 var(--font-sans)}
