@font-face{font-family:"Raleway";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/raleway-400.woff") format("woff")}
@font-face{font-family:"Raleway";font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/raleway-500.woff") format("woff")}
@font-face{font-family:"Raleway";font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/raleway-600.woff") format("woff")}
:root{color-scheme:light;--bg:#fff;--ink:#383838;--muted:#686868;--line:#e5e5e5;--accent:#d62b30;--space:clamp(24px,5vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Raleway",Helvetica,Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;text-align:start}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1{font-size:clamp(3rem,5.8vw,6rem);line-height:1.04;letter-spacing:normal}h2{font-size:clamp(2rem,3.4vw,3.6rem);line-height:1.14;letter-spacing:normal}h3{font-size:clamp(1.6rem,2.5vw,2.3rem);line-height:1.3}
.header{display:flex;align-items:center;gap:36px;padding:22px var(--space);border-bottom:1px solid var(--line)}.brand{flex-shrink:0;width:127px}.brand img{filter:none}nav{display:flex;gap:34px;margin-inline-start:auto}nav a{font-size:14px;padding-block:10px}nav a:hover{color:var(--accent)}.header-controls,.dialog-actions{display:flex;align-items:center;gap:18px}.language{font-size:14px;min-height:44px;padding:8px 14px;border-inline-start:1px solid var(--line);white-space:nowrap}.menu-toggle{display:none;width:44px;height:44px;padding:8px}.menu-toggle span{display:block;width:25px;height:1px;background:var(--ink);margin:7px auto}
.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:5%;align-items:center;padding:56px var(--space) 65px;max-width:1550px;margin:auto}.eyebrow{text-transform:uppercase;font-size:13px;letter-spacing:.14em;color:var(--muted);margin-bottom:22px}.eyebrow.accent{color:var(--accent)}.hero-text{max-width:335px;color:var(--muted);font-size:18px;margin:26px 0 28px}.text-link{display:inline-flex;align-items:center;gap:24px;padding:10px 0;border-bottom:1px solid var(--accent);font-size:16px}.text-link:hover{color:var(--accent)}.hero-visual{display:grid;grid-template-columns:1fr .67fr;gap:16px;align-items:end;max-width:560px;margin-inline-start:auto}.hero-main{width:100%}.hero-secondary{padding-bottom:8px}.hero-secondary img{width:100%}.cover-caption{display:flex;gap:10px;font-size:12px;line-height:1.6;color:var(--muted);padding:15px 0 0}.cover-caption>span:last-child{color:var(--accent)}
.section{padding:65px var(--space);border-top:1px solid var(--line)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:32px}.section-heading>p{max-width:320px;color:var(--muted)}.section-heading .eyebrow{margin-bottom:15px}.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}.category-card{display:block;min-width:0;min-height:76px;width:100%;padding:22px 0;border-bottom:1px solid var(--line);transition:color .2s}.category-name{display:block;font-size:clamp(1.45rem,2.5vw,2.4rem);line-height:1.25;letter-spacing:normal;overflow-wrap:anywhere}.category-card:hover .category-name{color:var(--accent)}
.about,.vision{display:grid;grid-template-columns:1fr 2fr;gap:50px}.about-copy{max-width:760px}.about-copy p{font-size:18px;color:var(--muted);margin-top:24px;line-height:1.8}.year{display:flex;gap:18px;align-items:center;font-size:clamp(2.5rem,5vw,5rem);line-height:1.1;letter-spacing:normal;color:var(--accent);margin-top:65px;font-variant-numeric:lining-nums;direction:ltr;justify-content:flex-start}.year span{font-size:.7em;color:var(--line)}.vision>div{max-width:760px}.vision h2{max-width:700px;font-size:clamp(1.9rem,3.3vw,3.4rem)}.vision p:not(.eyebrow){color:var(--muted);font-size:18px;line-height:1.8;margin-top:24px}
.contact{display:flex;justify-content:space-between;align-items:center;gap:40px}.contact h2{font-size:clamp(2.8rem,6vw,6rem);color:var(--accent)}.contact-text{max-width:475px;color:var(--muted);margin-top:20px}.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:20px}.handle{font-size:14px;color:var(--muted)}.handle:hover{color:var(--ink)}
.clients{padding-bottom:50px}.clients h2{font-size:clamp(1.8rem,3vw,3rem)}.client-grid{list-style:none;padding:24px;margin:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:26px 32px;background:#fff}.client-grid li{height:56px;display:flex;align-items:center;justify-content:center}.client-grid img{max-width:115px;max-height:49px;object-fit:contain;width:auto;height:auto}footer{border-top:1px solid var(--line);padding:28px var(--space);display:flex;align-items:center;justify-content:space-between;gap:25px;color:var(--muted);font-size:13px}footer strong{font-weight:400;color:var(--ink)}footer strong,footer>div>span{display:block}footer a{min-height:44px;display:flex;align-items:center;gap:12px}.skip{position:fixed;top:-150px;inset-inline-start:20px;padding:12px;background:var(--accent);color:#191919;z-index:30}.skip:focus{top:10px}
.modal-open{overflow:hidden}dialog{color:var(--ink);background:var(--bg);border:1px solid var(--line);padding:0}dialog::backdrop{background:#000d}.category-dialog{width:min(1220px,calc(100vw - 40px));height:calc(100dvh - 40px);max-width:100%;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 34px;border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:2}.dialog-brand{font-size:14px;letter-spacing:.05em}.close-button{display:grid;place-items:center;width:44px;height:44px;font-size:32px;line-height:1;padding:0}.close-button:hover{color:var(--accent)}#category-content{padding:38px 34px}.gallery-heading{margin-bottom:28px}.gallery-heading .eyebrow{margin-bottom:16px}.gallery-heading h2{font-size:clamp(2.5rem,5vw,4.5rem)}.gallery-client-list{color:var(--muted);margin-top:16px;font-size:16px}.gallery-category-nav{display:flex;flex-wrap:wrap;gap:8px 23px;padding:18px 0 22px;border-block:1px solid var(--line)}.gallery-category-nav button{font-size:14px;padding:6px 0;border-bottom:1px solid transparent}.gallery-category-nav button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.gallery-project{padding-top:38px;margin-bottom:40px}.gallery-project-heading{display:flex;align-items:baseline;justify-content:space-between;gap:25px;margin-bottom:24px}.gallery-project-heading p{color:var(--muted);font-size:13px}.gallery-grid{columns:3;column-gap:18px}.gallery-photo{display:block;break-inside:avoid;width:100%;padding:0;margin:0 0 18px;background:#f3f3f3}.gallery-photo img{width:100%;height:auto}.gallery-photo:hover{opacity:.88}.single-photo .gallery-grid{columns:1;max-width:900px;margin-inline:auto}.single-photo.portrait-photo .gallery-grid{max-width:480px}
.photo-dialog{width:calc(100vw - 32px);height:calc(100dvh - 32px);max-width:1500px;max-height:100dvh;overflow:hidden;background:#111}.photo-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.photo-top{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:12px 24px;border-bottom:1px solid var(--line)}.photo-top p{font-size:16px;text-align:center}.photo-back{display:flex;gap:15px;align-items:center;font-size:14px;min-height:44px}.photo-stage{min-height:0;display:flex;align-items:center;justify-content:center;padding:16px;touch-action:pan-y pinch-zoom}.photo-stage img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.photo-stage p{color:var(--muted)}.photo-controls{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px 24px;border-top:1px solid var(--line)}.photo-controls p{font-size:14px;color:var(--muted);min-width:56px;text-align:center}.photo-nav{font-size:14px;min-width:78px;min-height:44px;padding:10px 14px;text-align:center;background:#252525}.photo-nav:hover{color:var(--accent)}.photo-nav:disabled{opacity:.4;cursor:default}.noscript-message{padding:30px}.noscript-message a{text-decoration:underline}[hidden]{display:none!important}
[dir=rtl] body{font-family:"Raleway",Tahoma,Arial,sans-serif}[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3,[dir=rtl] .category-name{letter-spacing:0;line-height:1.45}[dir=rtl] .eyebrow{letter-spacing:0;font-size:14px}[dir=rtl] .year{justify-content:flex-end}
@media(min-width:1700px){body{max-width:1800px;margin:auto}}
@media(max-width:1050px){.category-grid{gap:0 28px}.category-name{font-size:1.6rem}.client-grid{gap:24px 22px}.client-grid img{max-width:100px}.hero{gap:4%}.hero .eyebrow{max-width:270px;font-size:12px}h1{font-size:clamp(2.6rem,5.8vw,4.7rem)}}
@media(max-width:760px){.header{gap:20px}.brand{width:110px}nav{gap:22px}.hero{padding-top:40px;padding-bottom:45px;grid-template-columns:1fr 1fr;gap:25px}.hero-visual{grid-template-columns:1fr}.hero-secondary{display:none}.hero-text{font-size:17px}.section{padding-top:45px;padding-bottom:45px}.category-grid{grid-template-columns:1fr}.category-name{font-size:1.9rem}.about,.vision{grid-template-columns:1fr;gap:28px}.about-side{display:flex;align-items:baseline;justify-content:space-between;gap:30px}.about-side .eyebrow{margin:0}.year{margin:0;font-size:2rem}.year span{display:none}.section-heading>p{max-width:270px;font-size:16px}.about-copy p,.vision p:not(.eyebrow){font-size:17px}.client-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:24px 18px}.gallery-grid{columns:2}.gallery-project-heading{display:block}.gallery-project-heading p{margin-top:10px}.dialog-top{padding:12px 22px}#category-content{padding:28px 22px}.photo-top{padding:12px 16px}.photo-top p{font-size:14px}}
@media(max-width:540px){.header{position:relative;padding-block:15px;gap:10px}.brand{width:100px}.header-controls{margin-inline-start:auto;gap:4px}.language{padding:8px 10px}.menu-toggle{display:block}nav{display:none;position:absolute;top:100%;inset-inline:0;margin:0;background:var(--bg);padding:20px var(--space);z-index:5;border-block:1px solid var(--line);gap:10px}nav.open{display:flex;flex-direction:column}nav a{font-size:16px}.hero{display:block;padding-top:35px}.hero h1{font-size:clamp(2.7rem,11vw,4rem)}.hero .eyebrow{margin-bottom:24px;max-width:none}.hero-text{max-width:290px;margin:23px 0 20px}.hero-visual{display:grid;grid-template-columns:1fr .65fr;max-width:420px;margin:34px auto 0;gap:12px}.hero-secondary{display:block}.cover-caption{font-size:12px;padding-top:10px;gap:6px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{max-width:330px;margin-top:18px}.category-name{font-size:1.6rem}.contact{display:block}.contact-actions{margin-top:26px;gap:14px}.contact h2{font-size:2.8rem}.client-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 16px;padding:22px 15px}.client-grid li{height:50px}.client-grid img{max-width:100%;max-height:40px}footer{align-items:start;flex-wrap:wrap;font-size:12px;gap:18px}footer>div{width:100%}footer a{margin-inline-start:auto}.category-dialog{width:100vw;height:100dvh;margin:0;border:0}.dialog-top{padding:10px 18px}.dialog-actions{gap:8px}#category-content{padding:28px 18px}.gallery-category-nav{gap:7px 18px}.gallery-grid{columns:1}.gallery-project{margin-bottom:20px;padding-top:28px}.gallery-photo{margin-bottom:16px}.gallery-heading h2{font-size:2.6rem}.gallery-client-list{font-size:15px}.photo-dialog{width:100vw;height:100dvh;border:0;margin:0}.photo-top{display:grid;grid-template-columns:1fr auto;gap:0 15px}.photo-top p{grid-row:2;grid-column:1/-1;text-align:start;color:var(--muted);padding:6px 0}.photo-stage{padding:8px}.photo-controls{padding-bottom:max(12px,env(safe-area-inset-bottom))}.photo-top .close-button{grid-row:1;grid-column:2}}
@media(max-width:360px){.category-name{font-size:1.4rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
.hero-copy,.hero-visual,.hero-secondary{min-width:0}.hero-visual{width:100%}

/* Light palette and restrained project presentation, following the Different reference. */
.header{background:#fff;padding-block:18px}.brand{width:114px}nav a{text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:500}.hero{max-width:none;background:#f6f6f6;padding-top:48px;padding-bottom:48px;grid-template-columns:1.05fr 1fr;gap:7%}.hero h1{font-size:clamp(2.6rem,4.2vw,4.5rem);font-weight:400;line-height:1.15;letter-spacing:normal}.hero .eyebrow{color:var(--muted)}.hero-copy .eyebrow::after{content:"";display:block;width:36px;height:2px;background:var(--accent);margin-top:22px}.hero-visual{display:block;width:100%;max-width:420px;margin-inline:auto;padding:0}.hero-stage{position:relative;width:100%;aspect-ratio:4/5;max-height:510px;overflow:hidden;background:#ececec}.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .85s ease;pointer-events:none}.hero-slide.is-active{opacity:1}.hero-controls{display:flex;align-items:center;justify-content:center;gap:16px;padding-top:10px}.hero-dots{display:flex;align-items:center;gap:2px;direction:ltr}.hero-dot{display:grid;place-items:center;width:25px;height:34px;padding:0}.hero-dot span{display:block;width:6px;height:6px;background:#bcbcbc;transition:background .2s}.hero-dot[aria-pressed=true] span{background:var(--accent)}.hero-toggle{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 4px;color:var(--muted);font-size:14px}.hero-toggle:hover{color:var(--ink)}#hero-toggle-icon{font-size:13px;line-height:1}
.section{border-top:0;padding-top:65px;padding-bottom:65px}.section-heading .eyebrow{color:var(--muted)}.projects .section-heading{align-items:center}.projects h2,.clients h2{font-size:clamp(1.8rem,3vw,2.7rem)}.projects h2::after,.clients h2::after{content:"";display:block;width:36px;height:2px;background:var(--accent);margin-top:20px}.category-name{font-size:clamp(1.45rem,2.2vw,2rem);letter-spacing:normal}.about,.contact{background:#f6f6f6}.year{color:#999}.contact h2{color:var(--ink);font-size:clamp(2.5rem,4.5vw,4rem)}.vision h2{font-size:clamp(1.9rem,3vw,2.8rem)}.clients{padding-top:50px;padding-bottom:45px}.clients .section-heading{margin-bottom:22px}.client-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;padding:16px 0;background:transparent}.client-grid li{height:38px}.client-grid img{max-width:min(70px,100%);max-height:30px;width:auto;height:auto}footer{background:#252525;--ink:#eee;--muted:#bdbdbd;--line:#444;color:var(--muted);border:0;font-size:13px}.skip{background:var(--ink);color:#fff}.category-dialog{box-shadow:0 20px 80px #0002}.gallery-heading h2{font-size:clamp(2.2rem,4vw,3.6rem)}.photo-dialog{--ink:#f4f3ef;--muted:#bdbdbd;--line:#444;color:var(--ink);background:#171717}.photo-dialog .close-button:hover,.photo-dialog .photo-nav:hover{color:#fff}.photo-dialog .photo-nav{background:#333}
@media(max-width:1050px){.hero{gap:5%}.hero h1{font-size:clamp(2.6rem,4.4vw,4rem)}.category-name{font-size:1.6rem}}
@media(max-width:900px){.client-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}.client-grid img{max-width:min(64px,100%);max-height:28px}}
@media(max-width:760px){.hero{grid-template-columns:1fr 1fr;gap:26px}.hero-visual{display:block}.hero h1{font-size:2.6rem}.section{padding-top:45px;padding-bottom:45px}.category-name{font-size:1.7rem}.hero-dot{width:20px}.hero-controls{gap:7px}.hero-toggle{font-size:13px}}
@media(max-width:540px){.hero{display:block;padding-top:35px;padding-bottom:36px}.hero h1{font-size:clamp(2.6rem,10vw,3.6rem)}.hero-visual{display:block;width:100%;max-width:340px;margin:30px auto 0}.hero-stage{max-height:425px}.hero-dot{width:25px}.hero-toggle{font-size:14px}.category-name{font-size:1.5rem}.client-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 18px;padding:12px 0}.client-grid li{height:32px}.client-grid img{max-width:min(56px,100%);max-height:25px}.clients{padding-bottom:34px}.contact h2{font-size:2.6rem}nav a{font-size:15px}.gallery-heading h2{font-size:2.5rem}}
@media(max-width:360px){.category-name{font-size:1.4rem}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}

/* Direct contact details and exterior photographs before interior galleries. */
.contact-details{flex:0 1 440px;min-width:0}.contact-links{display:flex;flex-wrap:wrap;gap:24px 32px}.contact-detail-label{font-size:14px;color:var(--muted);margin-bottom:6px}.contact-detail-link{display:inline-block;font-size:16px;min-height:36px;overflow-wrap:anywhere}.contact-detail-link:hover{color:var(--accent)}.contact-location{margin-top:20px}.contact-location address{font-style:normal;font-size:16px;line-height:1.8}.contact-location address span{display:block}.contact-location .text-link{margin-top:10px}.contact-details .contact-actions{margin-top:24px;gap:6px}
.gallery-exteriors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;columns:auto;margin-bottom:24px}.gallery-exteriors .gallery-photo{margin:0}.gallery-exteriors-single{grid-template-columns:1fr;max-width:480px;margin-inline:auto}
@media(max-width:760px){.contact{align-items:flex-start;flex-direction:column}.contact-details{flex:auto;width:100%}}
@media(max-width:540px){.contact-details{margin-top:30px}.gallery-exteriors{grid-template-columns:1fr;gap:16px;margin-bottom:16px}}

/* Each project has its own one-photograph swipe gallery. */
.project-carousel{display:flex;direction:ltr;position:relative;width:100%;height:clamp(240px,60svh,580px);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;background:#f3f3f3;-webkit-overflow-scrolling:touch}.project-carousel::-webkit-scrollbar{display:none}.project-slide{flex:0 0 100%;width:100%;height:100%;min-width:0;padding:0;display:flex;align-items:center;justify-content:center;scroll-snap-align:start;scroll-snap-stop:always}.project-slide img{width:100%;height:100%;object-fit:contain;user-select:none}.project-carousel:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.project-carousel-controls{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:12px}.project-carousel-controls button{min-height:44px;min-width:80px;padding:8px 12px;font-size:14px}.project-carousel-controls button:hover{color:var(--accent)}.project-carousel-controls button:disabled{opacity:.35;cursor:default}.project-photo-count{min-width:60px;text-align:center;color:var(--muted);font-size:14px}.project-swipe-hint{text-align:center;color:var(--muted);font-size:14px;margin-top:2px}.gallery-project{margin-bottom:44px}.project-slide:focus-visible{outline-offset:-4px}
@media(max-width:540px){.project-carousel-controls{gap:10px}.project-carousel{height:clamp(240px,57svh,480px)}}

/* Center the complete photograph, with narrow previews on both sides. */
.project-carousel.has-peek{padding-inline:28px;gap:12px;background:transparent}.has-peek .project-slide{scroll-snap-align:center;background:#f3f3f3;align-self:center;height:80%;transition:height .32s ease}.has-peek .project-slide[data-current="true"]{height:100%}.has-peek .project-slide[data-current="false"] img{object-fit:cover}.has-peek .project-slide[data-current="true"] img{object-fit:contain}.project-description{max-width:850px;color:var(--muted);font-size:16px;line-height:1.8;margin:0 0 22px}.project-description p+p{margin-top:6px}.gallery-project-heading{margin-bottom:12px}
@media(max-width:540px){.project-carousel.has-peek{padding-inline:22px;gap:10px}}

/* Swipe the cover directly; autoplay resumes after idle time. */
.hero-track{position:absolute;inset:0;display:flex;direction:ltr;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.hero-track::-webkit-scrollbar{display:none}.hero-track .hero-slide{position:relative;inset:auto;flex:0 0 100%;width:100%;height:100%;min-width:0;opacity:1;transition:none;pointer-events:auto;object-fit:contain;scroll-snap-align:start;scroll-snap-stop:always;user-select:none}.hero-track:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}

/* Homepage shows one complete image with no side previews. */
.hero-track{padding-inline:0;gap:0;align-items:center;background:#f3f3f3}
.hero-track .hero-slide{height:100%;object-fit:contain;transition:none}

/* Marouf: a further 108% of its previous 108% size. */
.client-grid img[src="assets/clients/marouf.webp"]{transform:scale(1.1664)}

/* Size these padded source images by their visible wordmarks, not canvas height. */
.client-grid li:has(img[src="assets/clients/abbott.webp"]),.client-grid li:has(img[src="assets/clients/novartis.webp"]){overflow:hidden}
.client-grid img[src="assets/clients/abbott.webp"]{width:88px;max-width:100%;height:auto;max-height:none;transform:none;flex-shrink:1}
.client-grid img[src="assets/clients/novartis.webp"]{width:96px;max-width:100%;height:auto;max-height:none;transform:none;flex-shrink:1}
