/* Broadsheet — Nations of Sky. Tokens are the source of truth; see the active design. */

:root{
  --bs-bg:#f3f2f2;
  --bs-surface:#eae9e9;
  --bs-ink:#201e1d;
  --bs-accent:#0088b0;
  --bs-accent-2:#d6006c;
  --bs-accent-600:#1186ac;
  --bs-accent-700:#006786;
  --bs-accent-2-700:#aa0b56;
  --bs-n200:#eae7e7;
  --bs-n300:#d7d3d3;
  --bs-n600:#7d7979;
  --bs-n800:#444141;
  --bs-rule:color-mix(in srgb, #201e1d 12%, transparent);
  --bs-rule-strong:color-mix(in srgb, #201e1d 14%, transparent);
  --bs-font:"Source Serif 4","Amiri",Georgia,serif;
  --bs-radius:2px;
  --bs-edge:clamp(18px,5vw,72px);
  --bs-measure:60ch;
}

/* — ground — */
body.bs{background:var(--bs-bg);color:var(--bs-ink);font-family:var(--bs-font);direction:rtl;overflow-x:hidden;text-wrap:pretty}
body.bs .elementor-widget-container{font-family:var(--bs-font)}
body.bs h1,body.bs h2,body.bs h3,body.bs h4{font-family:var(--bs-font);font-weight:600;letter-spacing:-0.005em}
body.bs a{text-decoration:none}
body.bs img{display:block;max-width:100%}
body.bs ::selection{background:color-mix(in srgb,var(--bs-accent) 22%,transparent)}
body.bs :focus-visible{outline:2px solid var(--bs-accent);outline-offset:2px}

/* Astra chrome that would box the open sheet */
body.bs .site-content .ast-container{max-width:none;padding:0}
body.bs .ast-page-builder-template .site-content>.ast-container{padding:0}
body.bs #primary,body.bs .entry-content{margin:0;padding:0}
body.bs .ast-single-post .entry-header,body.bs .site-header,body.bs .site-footer{display:none}

/* — page rhythm: sections separated by whitespace, never by rules — */
.bs-wrap{max-width:1240px;margin-inline:auto;width:100%}
.bs-projbody{padding:clamp(18px,2.2vw,26px)}
.bs-closepad{padding:clamp(28px,5vw,64px)}
.bs-pad{padding-block:clamp(48px,7vw,96px);padding-inline:var(--bs-edge)}
.bs-edge{padding-inline:var(--bs-edge)}

.bs-cols{display:grid!important;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3.4vw,48px)}
@media (max-width:860px){.bs-cols{grid-template-columns:1fr}}

.bs-pgrid{display:grid!important;grid-template-columns:repeat(2,1fr);gap:clamp(20px,2.6vw,36px)}
@media (max-width:760px){.bs-pgrid{grid-template-columns:1fr}}

.bs-statgrid{display:grid!important;grid-template-columns:repeat(4,1fr);gap:0}
@media (max-width:720px){.bs-statgrid{grid-template-columns:repeat(2,1fr)}
  .bs-stat:nth-child(3)::after{display:none}
  .bs-stat:nth-child(-n+2){border-bottom:1px solid var(--bs-rule)}}

.bs-split{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,4vw,64px);align-items:center}
@media (max-width:860px){.bs-split{grid-template-columns:1fr}.bs-split .bs-portrait{order:-1}}

.bs-closegrid{display:grid!important;grid-template-columns:1.1fr .9fr;gap:clamp(24px,4vw,56px);align-items:center}
@media (max-width:860px){.bs-closegrid{grid-template-columns:1fr}}

/* — masthead — */
.bs-bar .bs-brand{margin-inline-end:auto}
.bs-bar{position:sticky;top:0;z-index:99;
  background:color-mix(in srgb,var(--bs-bg) 88%,transparent);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--bs-rule)}
.bs-bar .bs-brand img{height:clamp(46px,6.4vw,68px);width:auto;filter:invert(1)}
.bs-navlink a,.bs-navlink{font-family:var(--bs-font);font-size:clamp(15px,1.5vw,17px);color:var(--bs-ink);opacity:.78;white-space:nowrap;transition:opacity .2s ease}
.bs-navlink:hover,.bs-navlink a:hover{opacity:1;color:var(--bs-accent-700)}
@media (max-width:820px){.bs-navlink{display:none!important}}

/* — hero — */
.bs-hero{position:relative;min-height:clamp(460px,76vh,760px);overflow:hidden}
.bs-hero::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top,rgba(18,22,28,.86) 0%,rgba(18,22,28,.45) 42%,rgba(18,22,28,.12) 78%)}
.bs-hero>.e-con-inner,.bs-hero>.elementor-widget-wrap{position:relative;z-index:2}
.bs-hero h1{color:#fff;font-size:clamp(28px,4.6vw,58px);line-height:1.25;margin:0;max-width:20ch}
.bs-hero .bs-herotext{color:#fff;opacity:.88;font-size:clamp(15px,1.5vw,18px);line-height:1.7;max-width:56ch}
.bs-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.14em;color:#fff;opacity:.82}
.bs-eyebrow::before{content:"";width:26px;height:1px;background:var(--bs-accent);display:inline-block}

/* — buttons — */
.bs-btn .elementor-button{font-family:var(--bs-font);border-radius:var(--bs-radius);font-size:16px;padding:12px 22px;transition:background .2s ease,color .2s ease}
.bs-btn-primary .elementor-button{background:var(--bs-accent);color:#fff}
.bs-btn-primary .elementor-button:hover{background:var(--bs-accent-600)}
.bs-btn-light .elementor-button{background:#fff;color:#141a20}
.bs-btn-light .elementor-button:hover{background:color-mix(in srgb,#fff 88%,var(--bs-accent))}
.bs-btn-outline .elementor-button{background:transparent;border:1px solid rgba(255,255,255,.55);color:#fff}
.bs-btn-outline .elementor-button:hover{background:rgba(255,255,255,.12)}

/* — statistics rail (front-page furniture) — */
.bs-stats{border-block:1px solid var(--bs-rule)}
.bs-stat{position:relative}
.bs-stat:not(:last-child)::after{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:1px;background:var(--bs-rule)}
.bs-stat .bs-statnum{font-family:var(--bs-font);font-weight:600;font-size:clamp(22px,3vw,34px);line-height:1.1;color:var(--bs-accent-700);margin:0}
.bs-stat .bs-statlab{font-size:13px;line-height:1.5;opacity:.7;margin:6px 0 0}

/* — section furniture — */
.bs-kicker{font-size:12px;letter-spacing:.14em;color:var(--bs-accent-700);margin:0}
.bs-sec h2{font-size:clamp(24px,3.2vw,40px);line-height:1.28;margin:0;max-width:24ch}
.bs-lede{font-size:clamp(15px,1.4vw,17px);line-height:1.75;opacity:.82;max-width:var(--bs-measure)}

/* three-up: hierarchy from a cyan rule above the head, never a box */
.bs-col h3{font-size:clamp(18px,2vw,22px);line-height:1.3;margin:0;padding-top:14px;border-top:2px solid var(--bs-accent)}
.bs-col p{font-size:15px;line-height:1.75;opacity:.8;margin:10px 0 0}

/* — project tiles (the one boxed component) — */
.bs-proj{background:var(--bs-surface);border-radius:var(--bs-radius);overflow:hidden;transition:box-shadow .25s ease,transform .25s ease}
.bs-proj:hover{transform:translateY(-2px);box-shadow:0 10px 30px -12px color-mix(in srgb,var(--bs-ink) 28%,transparent)}
.bs-proj .bs-shot img{width:100%;aspect-ratio:16/11;object-fit:cover;transition:transform .5s ease;background:var(--bs-n200)}
.bs-proj:hover .bs-shot img{transform:scale(1.03)}
.bs-tag{display:inline-block;font-size:12.5px;line-height:1;padding:7px 10px;border-radius:var(--bs-radius)}
.bs-tag-cyan{background:#cbeeff;color:#004961}
.bs-tag-mag{background:#ffdee6;color:#790e3d}
.bs-proj h3{font-size:clamp(19px,2.2vw,24px);line-height:1.25;margin:0}
.bs-place{font-size:13.5px;opacity:.62;margin:0}
.bs-desc{font-size:14.5px;line-height:1.7;opacity:.82;margin:0}
.bs-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px 20px;
  margin:4px 0 0;padding-top:14px;border-top:1px solid var(--bs-rule)}
.bs-facts dt{font-size:11.5px;letter-spacing:.06em;opacity:.6;margin:0}
.bs-facts dd{margin:2px 0 0;font-family:var(--bs-font);font-weight:600;font-size:15px;line-height:1.35}

/* — leadership — */
.bs-role{color:var(--bs-accent-700);font-size:15px;margin:8px 0 0}
.bs-note{font-size:15.5px;line-height:1.78;opacity:.82;max-width:52ch}
.bs-pull{font-family:var(--bs-font);font-style:italic;font-weight:400;
  font-size:clamp(18px,2vw,24px);line-height:1.6;margin:0;
  padding-inline-start:18px;border-inline-start:2px solid var(--bs-accent-2);max-width:44ch}
.bs-portrait img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--bs-radius);background:var(--bs-surface)}

/* — comparison list — */
.bs-clist ul{list-style:none;margin:0;padding:0;counter-reset:c;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px clamp(24px,4vw,56px)}
.bs-clist li{counter-increment:c;display:grid;grid-template-columns:auto 1fr;gap:14px;font-size:16px;line-height:1.7}
.bs-clist li::before{content:counter(c,decimal-leading-zero);font-family:var(--bs-font);font-size:15px;color:var(--bs-accent);opacity:.9;padding-top:5px}
.bs-clist b{font-family:var(--bs-font);font-weight:600;display:block;font-size:clamp(19px,2vw,23px);line-height:1.3}
.bs-clist span{display:block;opacity:.78;margin-top:6px}

/* — contact panel — */
.bs-close{background:var(--bs-surface);border-radius:var(--bs-radius)}
.bs-close h2{font-size:clamp(22px,2.8vw,34px);line-height:1.3;margin:0}
.bs-close p{font-size:15.5px;line-height:1.75;opacity:.8;max-width:48ch}
.bs-form .wpcf7 input[type=text],.bs-form .wpcf7 input[type=tel],
.bs-form .wpcf7 input[type=email],.bs-form .wpcf7 textarea{
  width:100%;min-height:46px;font-family:var(--bs-font);font-size:16px;
  background:var(--bs-bg);color:var(--bs-ink);
  border:1px solid var(--bs-n300);border-radius:var(--bs-radius);padding:10px 14px}
.bs-form .wpcf7 textarea{min-height:110px;resize:vertical}
.bs-form .wpcf7 ::placeholder{color:var(--bs-n600);opacity:1}
.bs-form .wpcf7 input:focus,.bs-form .wpcf7 textarea:focus{outline:2px solid var(--bs-accent);outline-offset:1px;border-color:transparent}
.bs-form .bs-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:520px){.bs-form .bs-two{grid-template-columns:1fr}}
.bs-form .wpcf7 p{margin:0 0 14px}
.bs-form .wpcf7 input[type=submit]{width:100%;min-height:46px;border:0;border-radius:var(--bs-radius);
  background:var(--bs-accent);color:#fff;font-family:var(--bs-font);font-size:16px;cursor:pointer;transition:background .2s ease}
.bs-form .wpcf7 input[type=submit]:hover{background:var(--bs-accent-600)}
.bs-form .wpcf7-spinner{margin-inline-start:8px}
.bs-form .wpcf7-response-output{border-radius:var(--bs-radius);border-color:var(--bs-accent);font-size:14px}
.bs-form .wpcf7-not-valid-tip{color:var(--bs-accent-2-700);font-size:13px;margin-top:4px}

/* — FAQ: hairlines and a cyan plus, no boxes — */
.bs-faq .e-n-accordion-item{border-bottom:1px solid var(--bs-rule-strong);background:transparent}
.bs-faq .e-n-accordion-item:first-child{border-top:1px solid var(--bs-rule-strong)}
.bs-faq .e-n-accordion-item-title{padding:clamp(16px,2.2vw,24px) 0;background:transparent;
  font-family:var(--bs-font);font-weight:600;font-size:clamp(17px,2vw,22px);line-height:1.4;cursor:pointer}
.bs-faq .e-n-accordion-item-title:hover{color:var(--bs-accent-700)}
.bs-faq .e-n-accordion-item-title-text{font-family:var(--bs-font)}
.bs-faq .e-n-accordion-item-title-icon{color:var(--bs-accent)}
.bs-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon{transform:rotate(45deg)}
.bs-faq .e-n-accordion-item-title-icon svg{width:20px;height:20px;transition:transform .2s ease}
.bs-faq p{font-size:15.5px;line-height:1.8;opacity:.8;max-width:68ch;margin:0 0 clamp(16px,2.2vw,24px)}

/* — footer — */
.bs-foot{border-top:1px solid var(--bs-rule)}
.bs-foot .bs-footline{font-size:13px;opacity:.65;margin:0}

@media (max-width:860px){
  .bs-pull{max-width:none}
  .bs-note{max-width:none}
}
