.gr{position:relative;overflow:hidden;background:var(--pale)}
.gr img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
@media (hover:hover){.card button:hover .gr img{transform:scale(1.04)}}
.hero{position:relative;min-height:max(calc(100svh - var(--header)),600px);color:#fff;background:var(--black);--blue:var(--white);--focus:var(--white);overflow:hidden;isolation:isolate;display:flex;align-items:flex-end;--focus:var(--blue)}
.slides{position:absolute;inset:-6% 0;z-index:-3;will-change:transform}
.sl{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease}
.sl.on{opacity:1}
.sl img{width:100%;height:100%;object-fit:cover;filter:saturate(1.08) contrast(1.03);transform:scale(1.04);transition:transform 9s linear}
.sl.on img{transform:scale(1.11)}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,color-mix(in srgb,var(--black) 68%,transparent) 0,color-mix(in srgb,var(--black) 42%,transparent) 45%,transparent 72%),linear-gradient(to top,color-mix(in srgb,var(--black) 85%,transparent) 6%,color-mix(in srgb,var(--black) 25%,transparent) 50%,transparent 78%,color-mix(in srgb,var(--black) 35%,transparent))}
:root[dir=rtl] .hero::before{background:linear-gradient(-90deg,color-mix(in srgb,var(--black) 68%,transparent) 0,color-mix(in srgb,var(--black) 42%,transparent) 45%,transparent 72%),linear-gradient(to top,color-mix(in srgb,var(--black) 85%,transparent) 6%,color-mix(in srgb,var(--black) 25%,transparent) 50%,transparent 78%,color-mix(in srgb,var(--black) 35%,transparent))}
.hero-in{width:100%;padding-bottom:clamp(40px,6vh,72px);padding-top:80px}
.hero h1{font-size:var(--t-stat);font-weight:300;line-height:1.02;letter-spacing:-.03em;max-width:20ch;text-wrap:balance}
:root[dir=rtl] .hero h1{font-weight:400;letter-spacing:0;line-height:1.3;max-width:22ch}
.hero .sub{margin-top:22px;font-size:var(--t-lead);color:#fff;max-width:44ch;line-height:1.45}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero-foot{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;margin-top:clamp(28px,5vh,56px)}
.hero-foot .sub{grid-column:1/3;margin:0;padding-inline-end:var(--gutter)}
.hero-foot .cta-row{grid-column:3/5;margin:0;justify-content:flex-end}
.ask-row{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:24px;margin-top:clamp(28px,5vh,52px);padding-top:20px}
.ask-row::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:var(--line-d);transform-origin:0 50%}
:root[dir=rtl] .ask-row::before{transform-origin:100% 50%}
.slide-meta{display:flex;align-items:center;gap:18px;font-size:var(--t-s);color:var(--pale)}
.ticks{display:flex;gap:4px}
.ticks button{position:relative;width:34px;height:44px;display:grid;align-items:center}
.ticks button::before{content:"";grid-area:1/1;height:2px;background:rgba(255,255,255,.3)}
.ticks b{grid-area:1/1;height:2px;background:#fff;transform:scaleX(0);transform-origin:0 50%;display:block}
:root[dir=rtl] .ticks b{transform-origin:100% 50%}
.ticks .done b{transform:none}
.ticks .on b{transform:none}
.motion .ticks .on b{transform:scaleX(0);animation:fill 7s linear forwards}
.paused .ticks .on b{animation-play-state:paused}
@keyframes fill{to{transform:scaleX(1)}}
.pause{width:36px;height:36px;border:1px solid rgba(255,255,255,.5);display:grid;place-items:center;border-radius:50%;transition:background-color .2s,color .2s}
.pause:hover{background:#fff;color:var(--black)}
.pause svg{width:10px;height:10px}
.clients{background:var(--pale);color:var(--black)}
.also{margin-top:clamp(28px,3vw,44px);color:var(--grey);font-size:var(--t-ui);max-width:70ch}
.also b{color:var(--black);font-weight:500}
.cred-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(56px,7vw,112px);border-top:1px solid var(--black)}
.cred-list div{display:grid;gap:6px;align-content:start;padding-block-start:22px;padding-inline-end:20px;border-inline-end:1px solid var(--line-l)}
.cred-list div+div{padding-inline-start:20px}
.cred-list div:last-child{border:0}
.cred-list dt{font-size:var(--t-l);font-weight:300;letter-spacing:-.01em;line-height:1.2}
.cred-list dd{color:var(--grey);font-size:var(--t-ui)}
.intro p.lead{font-size:var(--t-xl);font-weight:300;line-height:1.16;letter-spacing:-.022em;max-width:26ch;text-wrap:pretty}
:root[dir=rtl] .intro p.lead{font-weight:400;letter-spacing:0;line-height:1.55}
.tabs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:clamp(24px,4vw,72px) 0;border-top:1px solid var(--line-l);padding-top:28px}
.tablist{position:relative;display:grid;align-content:start;padding-inline-end:var(--gutter)}
.tablist button{text-align:start;padding:14px 0;border-bottom:1px solid var(--line-l);font-size:var(--t-l);font-weight:300;color:var(--grey);display:flex;justify-content:space-between;align-items:center;transition:color .3s}
.pale .tablist button{color:var(--char)}
.tablist button::after{content:"";width:10px;height:10px;border-top:1.5px solid currentColor;border-inline-end:1.5px solid currentColor;transform:rotate(45deg) translate(-4px,4px);opacity:0;transition:opacity .3s,transform .5s var(--ease)}
:root[dir=rtl] .tablist button::after{transform:rotate(-45deg) translate(4px,4px)}
.tablist button[aria-selected=true]{color:var(--black)}
.tablist button[aria-selected=true]::after{opacity:1;transform:rotate(45deg)}
:root[dir=rtl] .tablist button[aria-selected=true]::after{transform:rotate(-45deg)}
.tablist button:hover{color:var(--black)}
.tab-ind{position:absolute;left:0;top:0;width:1px;height:2px;background:var(--line-grad);transform-origin:0 0;transition:transform .7s var(--spring);pointer-events:none}
.panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:clamp(20px,3vw,48px) 0;align-items:start}
.panel .tx{padding-inline-end:var(--gutter)}
.panel h3{font-size:var(--t-l);font-weight:400;line-height:1.25;margin-bottom:14px;text-wrap:balance}
.panel p{color:var(--char);max-width:52ch}
.panel .gr{aspect-ratio:4/3;max-width:520px}
.past-cert{margin-top:18px;padding-top:12px;border-top:1px solid var(--rule);font-size:var(--t-s);color:var(--char)}
.proj-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px 48px;margin-bottom:clamp(24px,3vw,40px)}
.proj-head .h2{margin:0}
.proj-head p{color:var(--pale);max-width:50ch}
.proj-tools{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:20px 32px;padding-bottom:20px}
.filters{display:flex;flex-wrap:wrap;gap:4px 2px;font-size:var(--t-ui)}
.filters button{min-height:40px;padding:0 12px;border-radius:3px;color:var(--pale);transition:background-color .2s,color .2s}
.filters button:hover{background:rgba(255,255,255,.1);color:#fff}
.filters button[aria-pressed=true]{background:#fff;color:var(--black)}
.filters button span{color:var(--pale);opacity:.75;margin-inline-start:5px;font-variant-numeric:tabular-nums}
.filters button[aria-pressed=true] span{color:var(--grey);opacity:1}
.search{display:grid;gap:6px;font-size:var(--t-s);color:var(--pale);min-width:min(100%,340px)}
.search input{min-height:40px;font-size:var(--t-ui);color:#fff;background:transparent;border:0;border-bottom:1px solid var(--pale);padding:6px 0;border-radius:0;outline:0}
.search input::placeholder{color:rgba(255,255,255,.72)}
.search input:focus-visible{border-bottom:2px solid var(--blue);padding-bottom:5px}
.scale{position:relative;margin-block:8px 24px}
.marks{position:relative;height:64px}
.marks span{position:absolute;bottom:calc(var(--k) * 9px);inset-inline-start:calc(var(--x) * (100% - 7px));width:7px;height:7px;background:#fff;transition:background-color .25s,box-shadow .25s,transform .45s var(--spring)}
.marks span.off{background:transparent;box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}
.marks span.hot{background:var(--blue);transform:scale(1.7)}
.ruler{height:11px;border-top:1px solid #fff;margin-top:4px;background:linear-gradient(to right,#fff 1px,transparent 1px) 0 0/calc((100% - 7px) / 4) 11px repeat-x,linear-gradient(to right,rgba(255,255,255,.45) 1px,transparent 1px) 0 0/calc((100% - 7px) / 20) 6px repeat-x}
:root[dir=rtl] .ruler{background-position:100% 0,100% 0}
.years{display:flex;justify-content:space-between;font-size:var(--t-s);color:var(--pale);padding-top:6px;font-variant-numeric:tabular-nums}
.proj-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding-bottom:14px}
.count{font-size:var(--t-s);color:var(--pale)}
.views{display:inline-flex;border:1px solid rgba(255,255,255,.5);border-radius:3px;padding:3px;gap:3px}
.views button{min-height:36px;padding:0 16px;border-radius:2px;font-size:var(--t-ui);font-weight:500;color:var(--pale);transition:background-color .25s,color .25s}
.views button:hover{color:#fff}
.views button[aria-pressed=true]{background:#fff;color:var(--black)}
.cols,.row-head{display:grid;grid-template-columns:4.2rem minmax(0,1fr) 25% 12.5% calc(12.5% - 1.25rem) 1.25rem;column-gap:0;align-items:baseline;font-size:var(--t-ui);line-height:1.4}
.cols>:not(:last-child),.row-head>:not(.c-tog){padding-inline-end:clamp(12px,1.6vw,24px)}
.cols>:nth-child(5),.row-head>.c-value{padding-inline-end:0}
.cols{color:var(--pale);padding-block:10px;border-top:1px solid #fff}
.cols span:nth-child(5),.c-value{text-align:end}
.rows{border-bottom:1px solid var(--line-d)}
.row{border-top:1px solid var(--line-d)}
.row-head{width:100%;text-align:start;align-items:center;padding-block:14px;transition:background-color .15s}
button.row-head:hover,.row.hot .row-head{background:rgba(255,255,255,.07)}
.c-year,.c-value{font-variant-numeric:tabular-nums}
.c-client small{display:block;color:var(--pale);font-size:inherit;font-variant-numeric:tabular-nums}
.c-client,.c-place{color:var(--pale)}
.c-client b{font-weight:inherit;color:#fff}
.c-value abbr{text-decoration:none;color:var(--pale);margin-inline-start:.3em}
.c-tog{position:relative;width:11px;height:11px;justify-self:end;align-self:center}
.c-tog::before,.c-tog::after{content:"";position:absolute;background:#fff;inset:5px 0 auto 0;height:1px;transition:transform .3s var(--ease)}
.c-tog::after{transform:rotate(90deg)}
[aria-expanded=true] .c-tog::after{transform:rotate(0)}
.row-detail{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .4s var(--ease),visibility 0s .4s}
[aria-expanded=true]+.row-detail{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .4s var(--ease),visibility 0s}
.row-detail>div{overflow:hidden;min-height:0}
.detail{display:grid;grid-template-columns:4.2rem minmax(0,1fr) 50%;column-gap:0;padding:6px 0 28px}
.detail-in{display:contents}
.shots{display:flex;gap:10px;margin-inline-end:clamp(12px,1.6vw,24px);overflow-x:auto;scrollbar-width:thin}
.shots .gr{flex:none}
.shots .gr img{width:300px;height:200px;object-fit:cover}
.spec{font-size:var(--t-ui);display:grid;grid-template-columns:auto 1fr;gap:6px 18px;align-content:start}
.spec dt{color:var(--pale)}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 20px}
.card{list-style:none}
.card button{display:grid;gap:12px;align-content:start;width:100%;text-align:start}
.card .gr{aspect-ratio:4/3}
.card .sector{font-size:var(--t-s);font-weight:500;color:var(--pale)}
.card-t{font-size:var(--t-body);font-weight:400;line-height:1.35}
.card-m{font-size:var(--t-s);color:var(--pale)}
.card .open{font-size:var(--t-s);font-weight:600;text-decoration:underline;text-underline-offset:.25em;opacity:0;transform:translateY(4px);transition:opacity .3s,transform .4s var(--ease)}
.card button:hover .open,.card button:focus-visible .open{opacity:1;transform:none}
@media (hover:none){.card .open{opacity:1;transform:none}}
.empty{padding:40px 0;border-top:1px solid #fff;font-size:var(--t-ui)}
.empty p{margin-bottom:12px}
.empty button{text-decoration:underline;text-underline-offset:.22em;min-height:40px}
.peek{position:fixed;top:0;left:0;width:300px;z-index:40;pointer-events:none;opacity:0;transform:translate3d(-999px,0,0);transition:opacity .18s}
.peek.on{opacity:1}
.peek img{width:100%;height:auto;box-shadow:0 18px 40px -18px rgba(90,90,90,.5)}
.stage{position:relative;isolation:isolate;background:var(--indigo);color:var(--white);--blue:var(--white);--focus:var(--white);--pale:#FFFFFF}
.stage-pin::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(55% 70% at 25% 50%,rgba(255,255,255,.08),transparent 72%)}
:root[dir=rtl] .stage-pin::before{background:radial-gradient(55% 70% at 75% 50%,rgba(255,255,255,.08),transparent 72%)}
.stage-pin{position:relative;min-height:clamp(560px,78svh,820px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;overflow:hidden}
.stage canvas{position:absolute;inset:0;width:100%;height:100%}
.stage-text{position:relative;z-index:1;grid-column:2;padding-inline:0 var(--gutter);padding-block:48px}
.stage-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}
.stage-count{white-space:nowrap;font-size:var(--t-ui);color:var(--pale);font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}
.stage-tabs{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:2px 4px}
.stage-tabs button{min-height:40px;padding:0 10px;font-size:var(--t-ui);display:inline-flex;gap:8px;align-items:center;color:var(--pale);position:relative;font-variant-numeric:tabular-nums;transition:color .25s}
.stage-tabs button small{font-size:var(--t-s)}
.stage-tabs button::after{content:"";position:absolute;inset:auto 10px 6px;height:2px;background:var(--blue);transform:scaleX(0);transition:transform .5s var(--spring)}
.stage-tabs button:hover{color:#fff}
.stage-tabs button[aria-selected=true]{color:#fff}
.stage-tabs button[aria-selected=true]::after{transform:none}
.stage-num{height:1em;overflow:hidden;font-size:var(--t-display);font-weight:300;letter-spacing:-.04em;line-height:1;color:var(--blue)}
.stage-num-in{display:block;transition:transform 1s var(--spring)}
.stage-num-in span{display:block;height:1em;font-variant-numeric:tabular-nums}
.stage-items{display:grid;border-top:1px solid var(--line-d);margin-top:14px;padding-top:22px}
.stage-item{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(22px);transition:opacity .5s ease,transform .8s var(--ease),visibility 0s .5s}
.stage-item.on{opacity:1;visibility:visible;transform:none;transition:opacity .7s ease .15s,transform .9s var(--ease) .15s,visibility 0s}
.stage-item h3{font-size:var(--t-l);font-weight:400;margin-bottom:12px}
.stage-item p{color:var(--pale);max-width:46ch}
.stage-item .more{display:inline-flex;margin-top:22px;min-height:44px;align-items:center;gap:10px;font-weight:600;text-decoration:none;color:#fff;border-bottom:2px solid var(--blue);transition:gap .35s var(--ease)}
.stage-item .more:hover{gap:16px}
.stage-item .more svg{width:16px;height:16px}
:root[dir=rtl] .stage-item .more svg{transform:scaleX(-1)}
.s-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:0;row-gap:16px;align-items:center;margin-bottom:clamp(28px,4vw,52px)}
.s-head p{grid-column:2}
@media (max-width:800px){.s-head{grid-template-columns:1fr}.s-head p{grid-column:1}}
.s-head .h2{margin:0;padding-inline-end:24px}
.s-head p{color:var(--char);max-width:52ch}
.char .s-head p{color:var(--pale)}
.fac-hero{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:clamp(24px,5vw,80px);align-items:end}
.fac-hero h2{font-size:var(--t-hero);font-weight:300;letter-spacing:-.035em;line-height:1;max-width:13ch}
:root[dir=rtl] .fac-hero h2{font-weight:300;letter-spacing:0;line-height:1.25}
.fac-hero p{color:var(--char);font-size:var(--t-lead);max-width:40ch;line-height:1.5}
.fac{margin-top:clamp(64px,8vw,128px);display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);column-gap:0}
.fac>.fac-title,.fac>.caps{grid-column:1/-1}
.fac>.fac-photos{grid-column:1;grid-row:2}
.fac>.glance{grid-column:2;grid-row:2;margin-top:0;padding-inline-start:var(--gutter);align-self:stretch;display:flex;flex-direction:column}
.fac:nth-of-type(even){grid-template-columns:minmax(0,1fr) minmax(0,3fr)}
.fac:nth-of-type(even)>.fac-photos{grid-column:2}
.fac:nth-of-type(even)>.glance{grid-column:1;padding-inline:0 var(--gutter)}
.fac-title{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);align-items:start;gap:12px 0;border-top:1px solid var(--black);padding-top:22px;margin-bottom:clamp(24px,3vw,40px)}
.fac-title .tag{justify-self:start;display:inline-flex;padding:3px 12px;font-size:var(--t-s);font-weight:600;background:var(--indigo);color:#fff}
.fac-title h3{font-size:var(--t-xl);font-weight:300;letter-spacing:-.03em;line-height:1.05}
:root[dir=rtl] .fac-title h3{font-weight:300;letter-spacing:0;line-height:1.3}
.fac-photos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.fac-photos .gr{height:clamp(220px,24vw,360px)}
.fac-photos figcaption{font-size:var(--t-s);color:var(--grey);padding-top:8px}
.glance{margin-top:clamp(36px,4vw,60px)}
.glance h4,.caps h4{font-size:var(--t-body);font-weight:600;margin-bottom:16px}
.glance dl{flex:1;display:grid;grid-template-columns:1fr;grid-auto-rows:1fr;border-top:1px solid var(--line-l)}
.glance dl div{padding:18px 0;border-bottom:1px solid var(--line-l);display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:8px}
.glance dt{color:var(--grey);font-size:var(--t-ui);max-width:26ch}
.glance b{font-size:var(--t-stat);font-weight:300;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
:root[dir=rtl] .glance b{letter-spacing:0}
.glance small{font-size:var(--t-body);font-weight:600;color:var(--grey);margin-inline-start:.35em;letter-spacing:0}
.caps{margin-top:clamp(36px,4vw,60px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:clamp(20px,4vw,64px) 0;align-items:start}
.caps>div:first-child{padding-inline-end:var(--gutter)}
.caps h4{font-size:var(--t-l);font-weight:400;margin:0}
.caps .intro-t{color:var(--char);margin-top:10px;max-width:32ch;font-size:var(--t-body);font-weight:400}
.caps ul{border-top:1px solid var(--black)}
.caps li{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,5fr) 8.5rem;gap:6px 24px;padding:16px 0;border-bottom:1px solid var(--line-l);align-items:baseline}
.caps li b{font-weight:600}
.caps li span{color:var(--char)}
.caps li em{font-style:normal;font-variant-numeric:tabular-nums;font-weight:300;font-size:var(--t-lead);white-space:nowrap;text-align:end}
.caps li em small{font-size:var(--t-s);font-weight:600;color:var(--grey)}
.caps .f li{grid-template-columns:minmax(0,1fr) auto}
.caps .f li span{color:var(--black)}
.caps .f li em{font-size:var(--t-ui);font-weight:400;color:var(--grey)}
.fac-cta{margin-top:clamp(48px,6vw,88px);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;border-top:1px solid var(--black);padding-top:24px}
.fac-cta p{font-size:var(--t-l);font-weight:300;letter-spacing:-.01em;max-width:30ch;line-height:1.2}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 0;margin-bottom:clamp(48px,6vw,88px)}
.steps li{border-top:1px solid var(--line-d);padding-top:18px;padding-inline-end:var(--gutter)}
.steps b{display:block;font-weight:400;font-size:var(--t-ui);color:var(--pale);margin-bottom:22px;font-variant-numeric:tabular-nums}
.steps h3{font-size:var(--t-l);font-weight:400;margin-bottom:10px}
.steps p{color:var(--pale);max-width:34ch}
/* Products: one row per product, all visible. Photos sit in the left half at a shared height (never above
   their 437-640px originals), text and test table in the right half, first line level with the photo tops. */
.prods{border-top:1px solid var(--line-d)}
.prod-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 0;align-items:start;padding:clamp(28px,3vw,44px) 0;border-bottom:1px solid var(--line-d)}
.prod-ph{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-inline-end:var(--gutter);min-width:0;position:sticky;top:calc(var(--header) + 24px)}
.prod-ph img{display:block;width:100%;height:clamp(240px,26vw,380px);object-fit:contain} /* sample strips stay whole */
.prod-tx h3{font-size:var(--t-xl);font-weight:300;letter-spacing:-.02em;line-height:1.1;margin:-.15em 0 8px}
:root[dir=rtl] .prod-tx h3{letter-spacing:0;line-height:1.3;margin-top:-.25em}
.prod-tx .sub{color:var(--pale);font-size:var(--t-ui);margin-bottom:18px}
.prod-tx .grades{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:22px}
.prod-tx .grades span{background:rgba(0,0,0,.22);padding:3px 12px;font-size:var(--t-s);font-weight:500}
.scroll-x{overflow-x:auto} /* wide spec tables scroll inside their column on phones */
.spec-t{width:100%;border-collapse:collapse;font-size:var(--t-ui)}
.spec-t th{font-weight:400;color:var(--pale);text-align:start;padding:10px 14px 10px 0;border-bottom:1px solid #fff}
.spec-t td{padding:12px 14px 12px 0;border-bottom:1px solid var(--line-d);vertical-align:baseline}
:root[dir=rtl] .spec-t :is(th,td){padding-inline:0 14px}
.spec-t .num{text-align:end;font-variant-numeric:tabular-nums;white-space:nowrap;padding-inline-start:14px;padding-inline-end:0}
:root[dir=rtl] .spec-t .num{direction:ltr;text-align:left}
.spec-t td.num.res{font-weight:600}
.prod-cta{margin-top:clamp(36px,4vw,56px)}
.eng{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgba(90,90,90,.18)}
.eng li{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:18px;row-gap:2px;align-content:center;padding:22px 0}
.eng li::after{content:"";position:absolute;inset:auto 0 0;height:1px;background:rgba(90,90,90,.18);transform-origin:0 50%}
:root[dir=rtl] .eng li::after{transform-origin:100% 50%}
.eng li:nth-child(odd){padding-inline-end:24px}
.eng b{font-size:var(--t-xl);font-weight:300;letter-spacing:-.04em;line-height:1;grid-row:1/3;align-self:center;font-variant-numeric:tabular-nums;min-width:2.2ch}
.eng b small{display:block;margin-top:6px;font-size:var(--t-s);font-weight:400;letter-spacing:0;color:var(--char)}
.eng span{font-weight:500;align-self:end}
.eng em{font-style:normal;color:var(--char);font-size:var(--t-ui);align-self:start}
/* The page title never starts hidden; other headings fade in as they scroll into view. */
.motion.js [data-split]:not(#h1){opacity:0;transform:translateY(14px);transition:opacity .8s ease,transform .9s var(--ease)}
.motion.js [data-split].in:not(#h1){opacity:1;transform:none}
.motion.js [data-r=fade]{opacity:0;transition:opacity .9s ease .25s}
.motion.js [data-r=fade].in{opacity:1}
.motion.js [data-r=img]{clip-path:inset(0 0 100% 0);transition:clip-path 1.1s var(--ease) calc(var(--i,0) * 120ms)}
.motion.js [data-r=img].in{clip-path:inset(0)}
.motion.js [data-r=rule]::after{transform:scaleX(0);transition:transform 1.2s var(--ease) calc(var(--i,0) * 90ms)}
.motion.js [data-r=rule].in::after{transform:none}
@keyframes drawx{from{transform:scaleX(0)}}
@keyframes stroke{to{stroke-dashoffset:0}}
@keyframes fade{from{opacity:0}}
@keyframes tile{from{opacity:0;transform:translateY(18px)}}
.docs{border-top:1px solid var(--black)}
.docs a{display:grid;grid-template-columns:clamp(88px,9vw,132px) minmax(0,1fr) auto;gap:clamp(16px,2.4vw,40px);align-items:start;padding:22px 0;border-bottom:1px solid var(--line-l);text-decoration:none}
.doc-thumb{aspect-ratio:4/3;overflow:hidden;background:#fff;box-shadow:0 0 0 1px var(--line-l)}
.doc-thumb img{width:100%;height:100%;object-fit:cover;object-position:50% 0;transition:filter .5s var(--ease),opacity .5s,transform .8s var(--ease)}
.docs a:hover .doc-thumb img,.docs a:focus-visible .doc-thumb img{filter:none;opacity:1;transform:scale(1.04)}
.doc-meta{display:grid;gap:4px}
.doc-meta small{font-size:var(--t-s);font-weight:500;color:var(--grey)}
.doc-meta b{font-size:var(--t-l);font-weight:300;letter-spacing:-.01em;line-height:1.2}
.doc-meta span{color:var(--char);font-size:var(--t-ui)}
.doc-link{display:inline-flex;align-items:center;gap:10px;font-size:var(--t-ui);font-weight:500;color:var(--char);white-space:nowrap}
.doc-link svg{width:14px;height:14px;transition:transform .4s var(--spring)}
.docs a:hover .doc-link{color:var(--black)}
.docs a:hover .doc-link svg{transform:translate(3px,-3px)}
:root[dir=rtl] .doc-link svg{transform:scaleX(-1)}
:root[dir=rtl] .docs a:hover .doc-link svg{transform:scaleX(-1) translate(3px,-3px)}
.page-head+.light{padding-top:0}
.notice{border-top:1px solid var(--black)}
.notice div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:8px 0;padding:20px 0;border-bottom:1px solid var(--line-l)}
.notice dt{font-weight:600;padding-inline-end:var(--gutter)}
.notice dd{color:var(--char);max-width:60ch}
.fac:not(:has(.glance))>.fac-photos{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.logo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(28px,3vw,48px) clamp(16px,2.4vw,40px);align-items:start}
.logo-grid li{display:grid;grid-template-rows:clamp(88px,8vw,120px) auto;justify-items:center;align-items:center;gap:12px;text-align:center}
.logo-grid li span{font-size:var(--t-s);color:var(--grey);line-height:1.35;max-width:22ch}
.logo-grid img{width:auto;height:auto;max-width:100%;max-height:var(--h,88px);object-fit:contain;filter:invert(1);opacity:.72}
.hero .doc-inline{flex-basis:100%;justify-content:flex-end;margin-top:6px;color:var(--pale)}
.hero .doc-inline:hover{color:#fff}
.head-link{margin-top:18px}
@media (min-width:801px){
  .tablist button:first-child{padding-top:0}
}
@media (min-width:1101px){
}
@media print{
  .top,.site-foot,#stage,.slides,.peek,.proj-tools,.scale,.views,#cards,.close .btn,.hero .ask-row,.c-tog{display:none!important}
  [data-r],[data-r] *,[data-split]{opacity:1!important;clip-path:none!important;transform:none!important}
  body,.sec,.char,.black,.pale,.clients,.hero{background:#fff!important;color:#000!important}
  .char *,.black *,.hero *{color:#000!important;border-color:#999!important}
  .sec{padding-block:24px}
  .hero{min-height:0}
  #view-register[hidden]{display:block!important}
  .row-detail{grid-template-rows:1fr!important;visibility:visible!important}
  .shots{display:none}
  .row,.fac,.docs li,.caps li{break-inside:avoid}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:.8em}
}
@media (max-width:1100px){
  .hero-foot .cta-row,.hero .doc-inline{justify-content:flex-start}
  .cards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cols,.row-head{grid-template-columns:4rem minmax(0,3fr) minmax(0,1.6fr) minmax(8rem,1fr) 1.25rem}
  .cols span:nth-child(4),.c-place{display:none}
  .detail{grid-template-columns:4rem minmax(0,1fr)}
  .detail-in{display:grid;grid-template-columns:1fr;gap:24px}
  .shots{margin-inline-end:0}
  .fac-hero,.caps,.prod-row{grid-template-columns:minmax(0,1fr)}
  .prod-ph{padding-inline-end:0;position:static}
  .fac-photos{grid-template-columns:1fr 1fr}
  .fac,.fac:nth-of-type(even){grid-template-columns:1fr}
  .fac-title{grid-template-columns:1fr}
  .fac>.fac-photos,.fac>.glance,.fac:nth-of-type(even)>.fac-photos,.fac:nth-of-type(even)>.glance{grid-column:1;grid-row:auto}
  .fac>.glance,.fac:nth-of-type(even)>.glance{margin-top:clamp(36px,4vw,60px);padding-inline:0}
  .glance dl{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto}
  .glance dl div{border-bottom:0;border-inline-end:1px solid var(--line-l);padding-inline-end:20px}
  .glance dl div+div{padding-inline-start:20px}
  .glance dl div:last-child{border:0}
  .steps{grid-template-columns:1fr;gap:28px}
  .steps li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"n p" "t p";align-items:center;padding-inline-end:0}
  .steps b{grid-area:n}
  .steps h3{grid-area:t;margin:0}
  .steps p{grid-area:p;max-width:52ch}
}
@media (max-width:800px){
  .notice div{grid-template-columns:1fr}
  .stage-top{flex-direction:column;gap:6px}
  .stage-count{display:none}
  .stage-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .stage-tabs button{padding:0}
  .stage-tabs button::after{inset-inline:0}
  .stage-pin{grid-template-columns:1fr;align-items:start;min-height:0;padding-top:300px}
  .stage-text{grid-column:1;padding-inline:var(--gutter);padding-block:0 48px}
  :root{--t-display:clamp(3.5rem,16vw,5.5rem)}
  .glance dl{grid-template-columns:1fr}
  .glance dl div{border:0;border-bottom:1px solid var(--line-l);padding:16px 0!important}
  .caps li{grid-template-columns:1fr auto}
  .caps li span{grid-column:1/-1;grid-row:2}
  .cred-list{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}
  .cred-list div:nth-child(2){border:0}
  .cred-list div:nth-child(3){padding-inline-start:0}
  .hero-foot{grid-template-columns:1fr;row-gap:24px}
  .hero-foot .sub,.hero-foot .cta-row{grid-column:1;padding:0}
  .tablist{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 44px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 44px),transparent);padding-inline-end:44px}
  :root[dir=rtl] .tablist{-webkit-mask-image:linear-gradient(to left,#000 calc(100% - 44px),transparent);mask-image:linear-gradient(to left,#000 calc(100% - 44px),transparent)}
  .tabs{grid-template-columns:1fr}
  .tablist{grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;gap:22px;scrollbar-width:none}
  .tablist button{border:0;padding:6px 0 8px;font-size:var(--t-body);white-space:nowrap;justify-content:flex-start}
  .tablist button::after{display:none}
  .panel{grid-template-columns:1fr}
  .panel .gr{order:-1;justify-self:start}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}
  .eng{grid-template-columns:1fr}
  .eng li:nth-child(odd){padding-inline-end:0}
  .cols{display:none}
  .row-head{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"t g" "m v";row-gap:4px}
  .c-title{grid-area:t}
  .c-tog{grid-area:g}
  .c-year{grid-area:m;color:var(--grey)}
  .c-client{display:none}
  .c-value{grid-area:v}
  .detail{grid-template-columns:1fr}
  .detail>span{display:none}
  .shots .gr img{width:240px;height:160px}
  .docs a{grid-template-columns:88px minmax(0,1fr);align-items:start}
  .doc-link{grid-column:2}
}
@media (max-width:540px){
  .steps li{display:block}
  .steps h3{margin-bottom:10px}
  .hero-foot .cta-row .btn{flex:1 1 100%;justify-content:space-between}
  .logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .logo-grid li{grid-template-rows:84px auto}
  .logo-grid img{max-height:min(var(--h,88px),72px)}
  .cred-list{grid-template-columns:1fr 1fr}
  .cred-list div,.cred-list div:nth-child(n){border:0;padding:16px 0 0;border-top:1px solid var(--line-l)}
  .cred-list div:nth-child(-n+2){border-top:0}
  .cards{grid-template-columns:1fr}
  .slide-meta .cap{display:none}
}
.tablist button:first-child>span:first-child,.caps h4,.glance h4,.doc-meta small,.doc-link>span:first-child,.fac-title h3{text-box-trim:trim-start;text-box-edge:cap alphabetic}
:root[dir=rtl] :is(.tablist button:first-child>span:first-child,.caps h4,.glance h4,.fac-title h3){padding-top:.14em}
.ph-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(36px,4vw,56px);border-top:1px solid var(--black)}
.ph-facts div{padding-block-start:18px;padding-inline-end:20px}
.ph-facts dt{font-size:var(--t-s);color:var(--grey)}
.ph-facts dd{font-size:var(--t-lead);font-weight:400;line-height:1.35;font-variant-numeric:tabular-nums}
@media (max-width:800px){.ph-facts{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:12px}}
.pf-sec{padding-bottom:clamp(64px,8vw,120px)}
.pf-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px;border-top:1px solid var(--black);padding-top:28px}
.pf-list button{display:grid;gap:8px;align-content:start;width:100%;text-align:start}
.pf-list .gr{aspect-ratio:3/2;position:relative}
.pf-list .gr-doc{object-position:top}
.pf-list .gr-none{position:absolute;inset:0;display:grid;place-items:center;color:var(--grey);font-size:var(--t-s);font-style:normal}
.pf-list .gr small{position:absolute;inset-block-end:10px;inset-inline-start:10px;background:rgba(0,0,0,.6);color:#fff;font-size:var(--t-s);font-weight:500;padding:2px 10px}
.pf-list b{font-size:var(--t-lead);font-weight:400;line-height:1.3;text-wrap:pretty}
.pf-list button:hover b,.pf-list button:focus-visible b{text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}
.pf-k{font-size:var(--t-s);font-weight:500;color:var(--grey)}
.pf-c{font-size:var(--t-s);color:var(--grey)}
.pfile{width:min(1240px,100vw - 32px);max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:0;background:var(--white);color:var(--black);overflow:auto;overscroll-behavior:contain}
.pfile::backdrop{background:rgba(40,40,44,.72)}
.pf-in{position:relative;padding:clamp(24px,4vw,56px)}
.pf-x{position:sticky;top:0;float:inline-end;margin:-8px -8px 0 0;width:44px;height:44px;display:grid;place-items:center;background:var(--white);z-index:2}
:root[dir=rtl] .pf-x{margin:-8px 0 0 -8px}
.pf-x svg{width:18px;height:18px}
.pfile h2{font-size:var(--t-xl);font-weight:300;letter-spacing:-.02em;line-height:1.1;margin:8px 0 clamp(24px,3vw,40px);max-width:30ch;text-wrap:balance}
:root[dir=rtl] .pfile h2{letter-spacing:0;line-height:1.4}
.pf-gal{display:grid;gap:10px;margin-bottom:clamp(28px,4vw,48px)}
.pf-main{position:relative;background:var(--pale);height:min(62vh,620px)}
.pf-main img{width:100%;height:100%;object-fit:contain}
.pf-main figcaption{position:absolute;inset-block-end:12px;inset-inline-end:12px;background:rgba(0,0,0,.6);color:#fff;font-size:var(--t-s);padding:2px 10px;font-variant-numeric:tabular-nums}
.pf-nav{position:absolute;top:0;bottom:0;width:22%;cursor:pointer}
.pf-nav[data-step="-1"]{inset-inline-start:0;cursor:w-resize}
.pf-nav[data-step="1"]{inset-inline-end:0;cursor:e-resize}
:root[dir=rtl] .pf-nav[data-step="-1"]{cursor:e-resize}
:root[dir=rtl] .pf-nav[data-step="1"]{cursor:w-resize}
.pf-thumbs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin;padding-bottom:4px}
.pf-thumbs button{flex:none;width:96px;height:68px;opacity:.55;transition:opacity .2s;outline-offset:-2px}
.pf-thumbs button[aria-current],.pf-thumbs button:hover{opacity:1;box-shadow:inset 0 -3px 0 var(--black)}
.pf-thumbs img{width:100%;height:100%;object-fit:cover}
.pf-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);border-top:1px solid var(--black);padding-top:24px}
.pf-facts{display:grid;align-content:start;padding-inline-end:var(--gutter)}
.pf-facts div{padding:10px 0;border-bottom:1px solid var(--line-l)}
.pf-facts div:first-child{padding-top:0}
.pf-facts dt{font-size:var(--t-s);color:var(--grey)}
.pf-facts dd{font-weight:500}
.pf-text h3{font-size:var(--t-s);font-weight:600;color:var(--grey);margin:0 0 8px}
.pf-text p{font-size:var(--t-lead);line-height:1.6;max-width:62ch;margin-bottom:24px}
.pf-pager{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:clamp(32px,4vw,56px);border-top:1px solid var(--line-l);padding-top:20px}
.pf-pager button{display:grid;gap:4px;text-align:start}
.pf-pager button+button{text-align:end}
.pf-pager small{font-size:var(--t-s);color:var(--grey)}
.pf-pager span{font-weight:500}
.pf-pager button:hover span{text-decoration:underline;text-underline-offset:.2em}
.pf-open{margin-top:16px;justify-self:start}
@media (max-width:1000px){.pf-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){
  .pf-list{grid-template-columns:1fr}
  .pf-cols{grid-template-columns:1fr;row-gap:24px}
  .pf-main{height:52vh}
  .pf-pager{grid-template-columns:1fr}
  .pf-pager button+button{text-align:start}
}
.ph-facts{grid-template-columns:repeat(5,minmax(0,1fr))}
.svc{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--black)}
.svc li{padding:22px 24px 0 0}
:root[dir=rtl] .svc li{padding:22px 0 0 24px}
.svc h3{font-size:var(--t-l);font-weight:400;margin-bottom:12px}
.svc p{color:var(--char);max-width:34ch}
@media (max-width:1000px){.svc,.ph-facts{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}}
@media (max-width:560px){.svc{grid-template-columns:1fr}}
.nw{white-space:nowrap}
/* Mission, vision and values (About): photo beside the text on a lavender band. The photo's yellow sky
   clashes with the palette, so it is shown in greys over the lavender (luminosity blend). */
.mvv{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px) 0;align-items:start}
.mvv-photo{margin:0;padding-inline-end:var(--gutter)}
.mvv-photo .gr{aspect-ratio:9/5;background:transparent}
.mvv-photo img{mix-blend-mode:luminosity;filter:contrast(1.05)}
.mvv-list{display:grid;gap:28px;margin:clamp(24px,3vw,40px) 0 clamp(36px,4vw,56px)}
.mvv-list dt,.mvv-h3{font-size:var(--t-s);font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin:0 0 8px}
:root[dir=rtl] :is(.mvv-list dt,.mvv-h3){letter-spacing:0}
.mvv-list dd{margin:0;font-size:var(--t-lead);line-height:1.5;max-width:52ch}
.values{border-top:1px solid var(--line-d)}
.values li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:6px 24px;padding:16px 0;border-bottom:1px solid var(--line-d);align-items:baseline}
.values b{font-weight:600}
.values span{color:var(--pale)}
@media (max-width:1100px){.mvv{grid-template-columns:1fr}.mvv-photo{padding-inline-end:0}}
@media (max-width:540px){.values li{grid-template-columns:1fr}}
/* Stone and aggregates (Home): text in the first page column, three products in the other three, as in
   the clients section. Each photo is centred in an equal frame so frames, names and text line up; the
   originals are 162-480px wide, so they are fitted inside the frame and never enlarged. */
.prod-links{display:grid;justify-items:start;gap:16px;margin-top:clamp(24px,3vw,36px)}
.prod-links a:not(.btn){font-weight:500;color:var(--black)}
.prod-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,40px) clamp(16px,2vw,28px)}
.pc-ph{position:relative;aspect-ratio:4/5;background:var(--pale);margin-bottom:18px;overflow:hidden}
.pc-ph img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain} /* whole sample photo, same frame size */
.prod-cards h3{font-size:var(--t-l);font-weight:400;line-height:1.2;margin-bottom:8px}
.prod-cards p{color:var(--char);font-size:var(--t-ui);max-width:34ch}
@media (max-width:640px){.prod-cards{grid-template-columns:1fr}}
.prod-links .btn{white-space:nowrap;padding-inline:20px;gap:10px}
/* Arabic is set one weight heavier than Latin across the site; these light headings follow that rule. */
:root[dir=rtl] :is(.cred-list dt,.prod-tx h3,.steps h3,.svc h3){font-weight:400}
/* Projects register on the light page background (it was a lavender band): ink and lines from the
   light palette instead of white. */
#projects.light .filters button,#projects.light .filters button span{color:var(--grey)}
#projects.light .filters button span{opacity:1}
#projects.light .filters button:hover{background:rgba(90,90,90,.08);color:var(--black)}
#projects.light .filters button[aria-pressed=true]{background:var(--black);color:#fff}
#projects.light .filters button[aria-pressed=true] span{color:rgba(255,255,255,.75)}
#projects.light .search,#projects.light .years,#projects.light .count,#projects.light .cols,#projects.light :is(.c-client,.c-place,.c-client small,.c-value abbr,.spec dt,.card .sector,.card-m){color:var(--grey)}
#projects.light .search input{color:var(--black);border-bottom-color:var(--rule)}
#projects.light .search input::placeholder{color:var(--grey)}
#projects.light .search input:focus-visible{border-bottom-color:var(--black)}
#projects.light .marks span{background:var(--indigo)}
#projects.light .marks span.off{background:transparent;box-shadow:inset 0 0 0 1px rgba(90,90,90,.35)}
#projects.light .marks span.hot{background:var(--black)}
#projects.light .ruler{border-top-color:var(--black);background:linear-gradient(to right,var(--black) 1px,transparent 1px) 0 0/calc((100% - 7px) / 4) 11px repeat-x,linear-gradient(to right,rgba(90,90,90,.4) 1px,transparent 1px) 0 0/calc((100% - 7px) / 20) 6px repeat-x}
:root[dir=rtl] #projects.light .ruler{background-position:100% 0,100% 0}
#projects.light .views{border-color:rgba(90,90,90,.35)}
#projects.light .views button{color:var(--grey)}
#projects.light .views button:hover{color:var(--black)}
#projects.light .views button[aria-pressed=true]{background:var(--black);color:#fff}
#projects.light .cols,#projects.light .empty{border-top-color:var(--black)}
#projects.light :is(.rows,.row){border-color:var(--line-l)}
#projects.light button.row-head:hover,#projects.light .row.hot .row-head{background:rgba(90,90,90,.05)}
#projects.light .c-client b{color:var(--black)}
#projects.light .c-tog::before,#projects.light .c-tog::after{background:var(--black)}

/* Partners (home and about): an index of the manufacturers Al-Ateed represents, one row each, logos in matching tiles. */
.pt-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-l)}
.pt-row{display:grid;grid-template-columns:clamp(150px,15vw,210px) minmax(0,1.2fr) minmax(0,1fr) auto;align-items:center;column-gap:clamp(20px,3vw,48px);row-gap:6px;padding-block:clamp(20px,2.4vw,32px);border-bottom:1px solid var(--line-l)}
.pt-tile{display:grid;place-items:center;aspect-ratio:16/10;overflow:hidden}
.pt-tile img{max-width:92%;max-height:64%;width:auto;height:auto;transition:transform .8s var(--ease)}
.pt-row:hover .pt-tile img{transform:scale(1.05)}
.pt-who b{display:block;font-size:var(--t-l);font-weight:400;line-height:1.2;letter-spacing:-.01em}
:root[dir=rtl] .pt-who b{font-weight:500;letter-spacing:0}
.pt-who span{display:block;margin-top:6px;color:var(--grey)}
.pt-meta{margin:0;font-size:var(--t-ui);color:var(--grey)}
@media (max-width:800px){.pt-row{grid-template-columns:112px minmax(0,1fr)}.pt-row>.pt-tile{grid-row:span 3;align-self:start}.pt-meta,.pt-row>.doc-inline{grid-column:2}}

/* Home partners: on the clients band, logos in the same dark mono as the client logos. */
.ph-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(20px,3vw,48px);list-style:none;margin:0;padding:0}
.ph-grid li{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding-block:clamp(16px,2vw,28px)}
.ph-logo{height:clamp(48px,5vw,72px);width:auto;max-width:100%;margin-bottom:clamp(24px,3vw,40px);filter:brightness(0);opacity:.72;transition:opacity .4s}
.ph-grid li:hover .ph-logo{opacity:.9}
.ph-grid b{font-size:var(--t-l);font-weight:400;line-height:1.2}
:root[dir=rtl] .ph-grid b{font-weight:500}
.ph-grid span{color:var(--char)}
.ph-grid .doc-inline{margin-top:auto;padding-top:14px} /* pinned to the bottom so both links sit on one line */
@media (max-width:800px){.ph-grid{grid-template-columns:1fr;row-gap:16px}}
