/* Company profile brochure. Each .pf-sheet is an A4 page on screen and in print.
   Also embedded in the standalone files written by tools/export-profile.php. */
.profile-document{--pf-ink:#142f36;--pf-navy:#10272f;--pf-copper:#bb754b;--pf-copper-dark:#a3623b;--pf-gold:#e2ac79;--pf-muted:#5f6d71;--pf-line:#dfe2dc;--pf-cream:#f6f3ee;background:#e4e6e1;padding:48px 0 16px;color:var(--pf-ink)}
.pf-sheet{position:relative;display:flex;flex-direction:column;width:210mm;height:297mm;margin:0 auto 32px;padding:14mm 16mm 11mm;overflow:hidden;background:#fff;box-shadow:0 12px 40px #10272f1f}
.pf-sheet h2{margin:0 0 18px;font-size:40px;line-height:1.08;letter-spacing:-1.4px}
.pf-sheet h3{margin:0 0 8px;font-size:19px;line-height:1.25;letter-spacing:-.3px}
.pf-sheet p{margin:0 0 10px;font-size:12.5px;line-height:1.7;color:var(--pf-muted)}
.pf-sheet .eyebrow{margin-bottom:12px;font-size:9px;letter-spacing:2.2px}
.pf-sheet .eyebrow.dark{display:flex;align-items:center;gap:10px;color:var(--pf-copper-dark)}
.pf-sheet .eyebrow.dark:before{content:'';width:18px;height:1px;background:currentColor;flex:none}
.pf-sheet .fineprint{margin:10px 0 0;font-size:9.5px;line-height:1.6;color:#7c878a}
.pf-intro{max-width:560px;font-size:13.5px!important}

/* Running header and footer */
.pf-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;padding-bottom:11px;border-bottom:1px solid var(--pf-line);font-size:9px;font-weight:700;letter-spacing:1.8px;color:var(--pf-muted)}
.pf-mark{display:inline-flex;align-items:center;gap:10px;color:var(--pf-ink)}
.pf-mark .brand-symbol{font-size:18px;letter-spacing:-4px;padding-inline-end:3px}
.pf-mark .brand-symbol span{top:4px}
.pf-foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:10px;border-top:1px solid var(--pf-line);font-size:9px;letter-spacing:.4px;color:#7c878a}
.pf-page b{color:var(--pf-copper-dark);font-size:11px}

/* Cover and closing page */
.pf-cover,.pf-end{padding:15mm 16mm 12mm;color:#fff;background:var(--pf-navy);isolation:isolate}
.pf-cover-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 60%}
.pf-cover:after,.pf-end:after{content:'';position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),#ffffff0a 25%),linear-gradient(180deg,#071b22d9 0%,#091f2780 38%,#071b22f5 78%)}
.pf-end:after{background:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),#ffffff0a 25%),linear-gradient(180deg,#071b22b8 0%,#10272f8c 35%,#071b22f5 72%)}
.pf-cover-top{display:flex;justify-content:space-between;align-items:flex-start}
.pf-cover .brand-symbol,.pf-end .brand-symbol{color:#fff}
.pf-cover .brand-name,.pf-end .brand-name{color:#fff}
.pf-edition{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:9px;font-weight:700;letter-spacing:2.2px;color:#cfdbdc;text-align:end}
.pf-edition b{padding:5px 10px;border:1px solid #ffffff40;border-radius:999px;font-size:9px;color:var(--pf-gold)}
.pf-cover-main{margin-top:auto}
.pf-cover-main .eyebrow{display:flex;align-items:center;gap:12px;color:#e4c4a3}
.pf-cover h1{margin:18px 0 20px;font-size:74px;line-height:1.02;font-weight:500;letter-spacing:-3.5px;color:#fff}
.pf-end h2{margin:18px 0 20px;font-size:56px;line-height:1.05;font-weight:500;letter-spacing:-2.2px;color:#fff}
.pf-cover h1 em,.pf-end h2 em{color:#edbe93}
.pf-cover-main p{max-width:470px;font-size:14px;line-height:1.7;color:#cfdbdc}
.pf-cover-stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:42px;border-top:1px solid #ffffff33}
.pf-cover-stats div{padding:18px 16px 0;border-inline-start:1px solid #ffffff22}
.pf-cover-stats div:first-child{padding-inline-start:0;border:0}
.pf-cover-stats strong{display:block;font-size:34px;font-weight:500;letter-spacing:-1.2px;line-height:1.1;color:#fff}
.pf-cover-stats span{display:block;margin-top:6px;font-size:10px;line-height:1.45;color:#b8c9cb}
.pf-cover-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:34px;padding-top:14px;border-top:1px solid #ffffff26;font-size:9px;font-weight:700;letter-spacing:1.6px;color:#cfdbdc}
.pf-cover-foot span{display:inline-flex;align-items:center;gap:8px}
.pf-cover-foot svg{width:14px;height:14px;color:var(--pf-gold)}

/* Contents and at a glance */
.pf-toc-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:34px;flex:1}
.pf-toc{margin:26px 0 0;padding:0;list-style:none;counter-reset:none}
.pf-toc li{display:flex;align-items:baseline;gap:18px;padding:13px 0;border-bottom:1px solid var(--pf-line)}
.pf-toc-num{flex:none;width:26px;font-size:12px;font-weight:700;color:var(--pf-copper)}
.pf-toc strong{display:block;font-size:17px;font-weight:600;letter-spacing:-.2px}
.pf-toc small{display:block;margin-top:2px;font-size:11px;color:var(--pf-muted)}
.pf-glance{display:flex;flex-direction:column;overflow:hidden;border-radius:14px;background:var(--pf-navy);color:#fff}
.pf-glance img{width:100%;height:250px;object-fit:cover}
.pf-glance-body{padding:24px 24px 18px}
.pf-glance .eyebrow{color:var(--pf-gold)}
.pf-glance dl{margin:0}
.pf-glance dl div{padding:11px 0;border-top:1px solid #ffffff1f}
.pf-glance dt{font-size:9px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:#9fb4b7}
.pf-glance dd{margin:3px 0 0;font-size:13px;line-height:1.5;color:#fff}

/* Overview */
.pf-overview{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:30px;align-items:start}
.pf-lead{font-size:16px!important;line-height:1.6!important;color:var(--pf-ink)!important}
.pf-figure{position:relative;margin:0}
.pf-figure img{width:100%;height:250px;object-fit:cover;border-radius:10px}
.pf-figure figcaption{position:absolute;inset-inline-start:-14px;bottom:-16px;display:flex;align-items:center;gap:12px;padding:12px 16px;border-inline-start:3px solid var(--pf-gold);background:var(--pf-navy);color:#fff;font-size:11px;line-height:1.4;box-shadow:0 10px 25px #0a20262e}
.pf-figure figcaption span{font-family:Georgia,serif;font-size:22px;color:var(--pf-gold)}
.pf-quote{margin:34px 0 22px;padding:18px 22px;border-inline-start:3px solid var(--pf-copper);background:var(--pf-cream);font-family:Georgia,'Times New Roman',serif;font-size:19px;font-style:italic;line-height:1.45;color:var(--pf-ink)}
.pf-cards{display:grid;gap:16px}
.pf-cards.two{grid-template-columns:1fr 1fr}
.pf-cards article{position:relative;padding:20px 20px 12px;border:1px solid var(--pf-line);border-top:3px solid var(--pf-copper);border-radius:0 0 10px 10px;background:#fff}
.pf-card-num{position:absolute;top:14px;inset-inline-end:18px;font-family:Georgia,serif;font-size:30px;line-height:1;color:#ead8c8}

/* How we work */
.pf-steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:26px 0 30px;padding:0;list-style:none}
.pf-steps:before{content:'';position:absolute;top:19px;inset-inline:20px;height:1px;background:repeating-linear-gradient(90deg,var(--pf-copper) 0 6px,transparent 6px 11px)}
.pf-steps li{position:relative}
.pf-step-num{position:relative;display:grid;place-items:center;width:40px;height:40px;margin-bottom:14px;border-radius:50%;background:var(--pf-navy);color:#fff;font-size:12px;font-weight:700;box-shadow:0 0 0 5px #fff}
.pf-steps h3{font-size:16px}
.pf-steps p{font-size:11.5px}
.pf-model{display:grid;grid-template-columns:1fr 150px 1fr;gap:16px;align-items:center;padding:20px;border-radius:14px;background:var(--pf-cream)}
.pf-model-col{display:grid;gap:8px}
.pf-model-label{margin-bottom:2px;font-size:8.5px;font-weight:700;letter-spacing:1.8px;color:var(--pf-copper-dark)}
.pf-chip{padding:10px 13px;border:1px solid var(--pf-line);border-radius:8px;background:#fff;font-size:12px;font-weight:600;line-height:1.35}
.pf-chip small{display:block;margin-top:2px;font-size:9.5px;font-weight:700;letter-spacing:1px;color:var(--pf-copper-dark)}
.pf-model-hub{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1;padding:14px;border-radius:50%;background:var(--pf-navy);color:#fff;text-align:center;box-shadow:0 0 0 8px #10272f14}
.pf-model-hub .brand-symbol{font-size:26px;letter-spacing:-6px;color:#fff;padding-inline-end:5px}
.pf-model-hub .brand-symbol span{top:6px}
.pf-model-hub strong{margin-top:8px;font-size:11.5px;line-height:1.3}
.pf-model-hub small{margin-top:4px;font-size:8.5px;line-height:1.35;color:#b2c5c9}
.pf-band{position:relative;margin:22px 0 0;flex:1;min-height:120px;overflow:hidden;border-radius:12px}
.pf-band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pf-band figcaption{position:absolute;inset-inline-start:14px;bottom:12px;padding:6px 11px;border-radius:999px;background:#10272fd9;color:#fff;font-size:9.5px;letter-spacing:.4px}

/* Capabilities */
.pf-service{display:grid;grid-template-columns:190px minmax(0,1fr);gap:24px;padding:18px 0;border-top:1px solid var(--pf-line)}
.pf-service-image{position:relative}
.pf-service-image img{width:100%;height:190px;object-fit:cover;border-radius:10px}
.pf-service-image span{position:absolute;top:10px;inset-inline-start:10px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;color:var(--pf-ink);font-size:11px;font-weight:700;box-shadow:0 4px 12px #0002}
.pf-service p{font-size:12px}
.pf-scope{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;margin:10px 0 0;padding:0;list-style:none}
.pf-scope li{position:relative;padding-inline-start:18px;font-size:11px;line-height:1.45;color:var(--pf-ink)}
.pf-scope li:before{content:'';position:absolute;inset-inline-start:1px;top:.35em;width:8px;height:4px;border-left:1.6px solid var(--pf-copper);border-bottom:1.6px solid var(--pf-copper);transform:rotate(-45deg)}

/* Projects */
.pf-featured{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 190px;min-height:230px;overflow:hidden;border-radius:12px;background:var(--pf-navy);color:#fff;isolation:isolate}
.pf-featured>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.pf-featured:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#071b22f2 0%,#091f27b3 55%,#091f2740 100%)}
[dir=rtl] .pf-featured:after{background:linear-gradient(270deg,#071b22f2 0%,#091f27b3 55%,#091f2740 100%)}
.pf-featured-body{align-self:end;padding:22px}
.pf-badge{display:inline-block;margin-bottom:10px;padding:5px 10px;border-radius:999px;background:var(--pf-gold);color:var(--pf-navy);font-size:8.5px;font-weight:700;letter-spacing:1.4px}
.pf-featured h3{font-size:22px;color:#fff}
.pf-featured p{margin:0;font-size:11.5px;color:#cfdbdc}
.pf-featured-metric{align-self:end;margin:16px;padding:16px;border:1px solid #ffffff30;border-radius:10px;background:#10272fa6}
.pf-featured-metric strong{display:block;font-size:30px;font-weight:500;line-height:1.1;letter-spacing:-1px}
.pf-featured-metric span{display:block;margin-top:5px;font-size:10px;color:#cfdbdc}
.pf-projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}
.pf-project{overflow:hidden;border:1px solid var(--pf-line);border-radius:10px}
.pf-project-image{position:relative}
.pf-project-image img{width:100%;height:92px;object-fit:cover}
.pf-project-image span{position:absolute;top:8px;inset-inline-start:8px;padding:3px 8px;border-radius:4px;background:#fff;font-size:9.5px;font-weight:700}
.pf-project-body{padding:11px 12px 12px}
.pf-project-body>small{display:block;font-size:9px;letter-spacing:.3px;color:var(--pf-muted)}
.pf-project h3{margin:3px 0 8px;font-size:13px;line-height:1.3}
.pf-project-metric{padding-top:8px;border-top:1px solid var(--pf-line)}
.pf-project-metric strong{display:block;font-size:18px;font-weight:600;color:var(--pf-copper-dark);line-height:1.2}
.pf-project-metric span{display:block;font-size:9.5px;color:var(--pf-muted)}
.pf-project-summary{display:flex;flex-direction:column;padding:16px;border:0;background:var(--pf-navy);color:#fff}
.pf-project-summary .eyebrow{color:var(--pf-gold);margin-bottom:6px}
.pf-project-summary strong{font-size:44px;font-weight:500;line-height:1.05;letter-spacing:-1.5px}
.pf-project-summary>span:not(.eyebrow){font-size:11.5px;line-height:1.4;color:#dfe8e8}
.pf-project-summary p{margin:auto 0 0;padding-top:10px;border-top:1px solid #ffffff22;font-size:10px;line-height:1.5;color:#b2c5c9}

/* Partners */
.pf-partner{display:grid;grid-template-columns:150px minmax(0,1fr);gap:22px;padding:13px 0;border-top:1px solid var(--pf-line)}
.pf-partner>img{width:100%;height:150px;object-fit:cover;border-radius:10px}
.pf-partner h3{margin-bottom:2px;font-size:21px}
.pf-partner-full{display:block;margin-bottom:8px;font-size:11px;color:var(--pf-muted)}
.pf-partner p{font-size:11.5px;line-height:1.6;margin-bottom:7px}
.pf-refs{padding:9px 12px;border-inline-start:2px solid var(--pf-copper);background:var(--pf-cream);color:var(--pf-ink)!important}
.pf-refs b{display:block;margin-bottom:2px;font-size:8.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--pf-copper-dark)}

/* People and commitments */
.pf-people{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border-radius:12px;background:var(--pf-navy);color:#fff}
.pf-people div{padding:22px 18px;border-inline-start:1px solid #ffffff1a}
.pf-people div:first-child{border:0}
.pf-people strong{display:block;font-size:36px;font-weight:500;letter-spacing:-1.2px;line-height:1.1}
.pf-people span{display:block;margin-top:6px;font-size:10.5px;line-height:1.4;color:#b8c9cb}
.pf-commitments{margin-top:22px}
.pf-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:12px;border-radius:10px;background:#f4e8dd;color:var(--pf-copper-dark)}
.pf-commitments p{font-size:11.5px}

/* Closing contact */
.pf-end .pf-cover-main{margin-top:auto}
.pf-contact{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:34px}
.pf-contact>div{padding:20px;border:1px solid #ffffff26;border-radius:12px;background:#ffffff0d}
.pf-contact .pf-icon{background:#ffffff14;color:var(--pf-gold)}
.pf-contact .eyebrow{color:var(--pf-gold)}
.pf-contact p{margin-bottom:6px;font-size:12.5px;color:#dfe8e8}

/* Arabic */
[dir=rtl] .pf-sheet h2{letter-spacing:0;line-height:1.35}
[dir=rtl] .pf-cover h1{font-size:62px;line-height:1.35;letter-spacing:0}
[dir=rtl] .pf-end h2{font-size:48px;line-height:1.35;letter-spacing:0}
[dir=rtl] .pf-head,[dir=rtl] .pf-edition,[dir=rtl] .pf-cover-foot,[dir=rtl] .pf-model-label,[dir=rtl] .pf-glance dt,[dir=rtl] .pf-badge,[dir=rtl] .pf-refs b,[dir=rtl] .pf-chip small,[dir=rtl] .pf-sheet .eyebrow{letter-spacing:0}
[dir=rtl] .pf-quote{font-family:inherit;font-style:normal;font-size:18px;line-height:1.7}
[dir=rtl] .pf-sheet h3,[dir=rtl] .pf-toc strong,[dir=rtl] .pf-cover-stats strong,[dir=rtl] .pf-people strong{letter-spacing:0}
[dir=rtl] .pf-edition{align-items:flex-start}
[dir=rtl] .pf-steps:before{background:repeating-linear-gradient(270deg,var(--pf-copper) 0 6px,transparent 6px 11px)}
[dir=rtl] .pf-sheet p{line-height:1.8}

/* Phones and small tablets: sheets become flowing sections. */
@media screen and (max-width:900px){
 .profile-document{padding:16px 0 4px}
 .pf-sheet{width:calc(100% - 20px);height:auto;min-height:0;margin-bottom:16px;padding:28px 22px 18px}
 .pf-cover,.pf-end{min-height:640px}
 .pf-cover h1{font-size:50px;letter-spacing:-2px}
 .pf-end h2{font-size:40px}
 .pf-sheet h2{font-size:32px}
 .pf-cover-stats{grid-template-columns:1fr 1fr}
 .pf-cover-stats div:nth-child(3){padding-inline-start:0;border:0}
 .pf-toc-layout,.pf-overview,.pf-cards.two,.pf-contact{grid-template-columns:1fr}
 .pf-steps{grid-template-columns:1fr 1fr;gap:20px}
 .pf-steps:before{display:none}
 .pf-model{grid-template-columns:1fr}
 .pf-model-hub{width:150px;justify-self:center}
 .pf-band{min-height:180px;flex:none}
 .pf-featured{grid-template-columns:1fr}
 .pf-featured-metric{margin:0 22px 22px}
 .pf-projects{grid-template-columns:1fr 1fr}
 .pf-service,.pf-partner{grid-template-columns:1fr;gap:16px}
 .pf-service-image img,.pf-partner>img{height:200px}
 .pf-people{grid-template-columns:1fr 1fr}
 .pf-people div:nth-child(3){border:0}
 .pf-people div:nth-child(n+3){border-top:1px solid #ffffff1a}
 .pf-figure figcaption{inset-inline-start:10px}
 [dir=rtl] .pf-cover h1{font-size:44px}
 [dir=rtl] .pf-end h2{font-size:36px}
}
@media screen and (max-width:520px){
 .pf-scope,.pf-projects,.pf-steps{grid-template-columns:1fr}
 .pf-head{font-size:8px}
 .pf-head>span:last-child{max-width:55%;text-align:end}
 .pf-cover-foot{flex-direction:column;align-items:flex-start;gap:8px}
}

/* Print: one sheet per A4 page, full-bleed covers. */
@page{size:A4 portrait;margin:0}
@media print{
 html,body{background:#fff!important}
 .profile-document{padding:0;background:#fff}
 .pf-sheet{width:210mm;height:297mm;margin:0;box-shadow:none;break-after:page;page-break-after:always}
 .pf-sheet:last-child{break-after:auto;page-break-after:auto}
 .pf-sheet *{animation:none!important;transition:none!important}
}
[dir=rtl] .pf-card-num{display:none}
