/* ==========================================================================
   Horizon Delta — Stylesheet
   Design language: engineering / architectural drawing.
   Palette derived from the company mark blue.
   ========================================================================== */

:root{
  --navy-950:#0a1c2c;
  --navy-900:#0e2438;
  --navy-800:#153450;
  --navy-700:#1c4266;
  --blue-600:#1e69ab;
  --blue-400:#5c9bd4;
  --blue-200:#a9cbe8;
  --stone-50:#efeee6;
  --stone-100:#e7e5da;
  --paper:#f5f4ee;
  --ink:#131c24;
  --ink-soft:#42505c;
  --brass:#b5893f;
  --brass-light:#d9b370;
  --line:rgba(19,28,36,0.14);
  --line-dark:rgba(169,203,232,0.22);

  --font-display:'Space Grotesk', 'IBM Plex Sans', sans-serif;
  --font-body:'IBM Plex Sans', sans-serif;
  --font-mono:'IBM Plex Mono', monospace;

  --maxw:1200px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  line-height:1.55;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:600;
  line-height:1.12;
  margin:0 0 .5em;
  letter-spacing:-0.01em;
}
p{margin:0 0 1em;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}

/* respect reduced motion */
@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-behavior:auto !important;}
}

/* ---------- eyebrow / mono labels ---------- */
.eyebrow{
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--brass);
  display:flex;
  align-items:center;
  gap:.6em;
  margin-bottom:1em;
}
.eyebrow::before{
  content:"";
  width:22px;height:1px;
  background:var(--brass);
  display:inline-block;
}
.on-dark .eyebrow{color:var(--blue-200);}
.on-dark .eyebrow::before{background:var(--blue-200);}

/* ---------- buttons ---------- */
.btn{
  font-family:var(--font-mono);
  font-size:.82rem;
  letter-spacing:.03em;
  display:inline-flex;
  align-items:center;
  gap:.6em;
  padding:.95em 1.6em;
  border:1px solid currentColor;
  background:transparent;
  cursor:pointer;
  transition:background .18s ease, color .18s ease, border-color .18s ease;
  white-space:nowrap;
}
.btn svg{width:14px;height:14px;flex:none;transition:transform .18s ease;}
.btn:hover svg{transform:translate(3px,-3px);}
.btn[download] svg{transform:none;}
.btn[download]:hover svg{transform:translateY(3px);}
.btn-primary{
  background:var(--brass);
  border-color:var(--brass);
  color:var(--navy-950);
}
.btn-primary:hover{background:var(--brass-light);border-color:var(--brass-light);}
.btn-outline-light{color:var(--stone-50);border-color:var(--line-dark);}
.btn-outline-light:hover{border-color:var(--stone-50);}
.btn-whatsapp{background:#25D366;border-color:#25D366;color:#0a1c2c;}
.btn-whatsapp:hover{background:#1ebe5b;border-color:#1ebe5b;}

/* ---------- flash banner (homepage) — rotating messages + shimmer ---------- */
.flash-banner{
  background:var(--brass);
  color:var(--navy-950);
  position:relative;
  overflow:hidden;
}
.flash-banner::after{
  content:"";
  position:absolute;top:0;left:-40%;width:30%;height:100%;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,0.45), transparent);
  animation:flash-sweep 3.6s ease-in-out infinite;
  pointer-events:none;
}
.flash-banner .wrap{
  position:relative;
  height:2.8em;
  padding:0 28px;
}
.flash-msg{
  position:absolute;top:0;left:0;right:0;bottom:0;
  display:flex;align-items:center;justify-content:center;gap:.7em;
  font-family:var(--font-mono);
  font-size:.8rem;
  text-align:center;
  flex-wrap:wrap;
  opacity:0;
  animation:flash-rotate 13.5s infinite;
}
.flash-msg:nth-child(1){animation-delay:0s;}
.flash-msg:nth-child(2){animation-delay:4.5s;}
.flash-msg:nth-child(3){animation-delay:9s;}
.flash-banner a{
  text-decoration:underline;
  text-underline-offset:2px;
  font-weight:600;
  white-space:nowrap;
  position:relative;
}
.flash-banner a:hover{opacity:.7;}
@keyframes flash-rotate{
  0%{opacity:0;transform:translateY(6px);}
  3%{opacity:1;transform:translateY(0);}
  30%{opacity:1;transform:translateY(0);}
  34%{opacity:0;transform:translateY(-6px);}
  100%{opacity:0;}
}
@keyframes flash-sweep{
  0%{left:-40%;}
  60%{left:120%;}
  100%{left:120%;}
}
@media (max-width:600px){
  .flash-banner .wrap{height:5.2em;}
  .flash-msg{font-size:.74rem;gap:.4em;}
}
@media (prefers-reduced-motion: reduce){
  .flash-banner::after{display:none;}
  .flash-msg{animation:none;opacity:1;position:relative;}
  .flash-msg:nth-child(2),.flash-msg:nth-child(3){display:none;}
}
.btn-ghost{color:var(--ink);border-color:var(--line);}
.btn-ghost:hover{border-color:var(--ink);}
.on-dark .btn-ghost{color:var(--stone-50);border-color:var(--line-dark);}
.on-dark .btn-ghost:hover{border-color:var(--stone-50);}
.blueprint .btn-ghost{color:var(--stone-50);border-color:var(--line-dark);}
.blueprint .btn-ghost:hover{border-color:var(--stone-50);}
.hero .btn-ghost{color:var(--stone-50);border-color:rgba(255,255,255,0.35);}
.hero .btn-ghost:hover{border-color:var(--stone-50);}

/* ---------- header ---------- */
.site-header{
  position:sticky;top:0;z-index:100;
  background:var(--navy-950);
  border-bottom:1px solid var(--line-dark);
}
.site-header .wrap{
  display:flex;align-items:center;justify-content:space-between;
  height:78px;
}
.brand{display:flex;align-items:center;gap:.7em;color:var(--stone-50);}
.brand img{height:30px;width:auto;}
.brand-name{
  font-family:var(--font-display);
  font-weight:600;
  font-size:1rem;
  letter-spacing:.01em;
  line-height:1.15;
}
.brand-name span{display:block;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.16em;color:var(--blue-200);text-transform:uppercase;font-weight:400;margin-top:.2em;}
.brand-name .brand-short{
  display:inline;
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.02em;
  color:var(--blue-200);
  text-transform:none;
  font-weight:400;
  margin:0;
}

nav.main-nav{display:flex;align-items:center;gap:2.2em;}
nav.main-nav a{
  font-family:var(--font-mono);
  font-size:.8rem;
  letter-spacing:.03em;
  color:var(--blue-200);
  position:relative;
  padding:.3em 0;
  display:inline-flex;
  align-items:center;
  gap:.5em;
}
nav.main-nav a svg{
  flex:none;
  opacity:.8;
  transition:opacity .2s ease, transform .2s ease;
}
nav.main-nav a:hover svg,nav.main-nav a.active svg{opacity:1;}
nav.main-nav a:hover svg{transform:translateY(-1px);}
nav.main-nav a::after{
  content:"";position:absolute;left:0;bottom:0;width:0;height:1px;
  background:var(--brass-light);transition:width .2s ease;
}
nav.main-nav a:hover::after,nav.main-nav a.active::after{width:100%;}
nav.main-nav a.active{color:var(--stone-50);}
.header-cta{display:flex;align-items:center;gap:1.4em;}
.icon-links{
  display:none;
  align-items:center;
  gap:1.1em;
}
.icon-link{
  color:var(--blue-200);
  display:flex;
  transition:color .18s ease;
}
.icon-link:hover{color:var(--stone-50);}
.icon-link:first-child:hover{color:#25D366;}
@media (min-width:860px){
  .icon-links{display:flex;}
}
.lang-switch{
  font-family:var(--font-mono);
  font-size:.78rem;
  letter-spacing:.03em;
  color:var(--blue-200);
  border:1px solid var(--line-dark);
  padding:.5em .9em;
  transition:border-color .18s ease, color .18s ease;
}
.lang-switch:hover{color:var(--stone-50);border-color:var(--stone-50);}
.nav-toggle{display:none;}

@media (max-width:860px){
  nav.main-nav{
    position:fixed;top:78px;left:0;right:0;height:calc(100vh - 78px);
    background:var(--navy-950);
    z-index:99;
    flex-direction:column;
    padding:2.2em 28px;
    gap:1.6em;
    transform:translateY(-8px);
    opacity:0;
    pointer-events:none;
    transition:opacity .2s ease, transform .2s ease;
    overflow-y:auto;
  }
  nav.main-nav.open{opacity:1;transform:translateY(0);pointer-events:auto;}
  nav.main-nav a{font-size:1rem;}
  .header-cta .btn-ghost{display:none;}
  .nav-toggle{
    display:flex;flex-direction:column;justify-content:center;gap:5px;
    width:34px;height:34px;background:none;border:0;cursor:pointer;
  }
  .nav-toggle span{width:100%;height:1px;background:var(--stone-50);}
}

/* ---------- blueprint grid backgrounds ---------- */
.blueprint{
  position:relative;
  background-color:var(--navy-950);
  background-image:
    linear-gradient(var(--line-dark) 1px, transparent 1px),
    linear-gradient(90deg, var(--line-dark) 1px, transparent 1px);
  background-size:56px 56px;
  color:var(--stone-50);
}
.blueprint::before{
  content:"";position:absolute;top:0;left:0;right:0;bottom:0;
  background:radial-gradient(ellipse at 20% 0%, rgba(30,105,171,0.35), transparent 55%);
  pointer-events:none;
}

/* corner registration marks */
.crop-marks{position:absolute;top:24px;left:24px;right:24px;bottom:24px;pointer-events:none;z-index:2;}
.crop-marks span{position:absolute;width:16px;height:16px;}
.crop-marks span::before,.crop-marks span::after{content:"";position:absolute;background:var(--blue-400);}
.crop-marks span::before{width:100%;height:1px;top:50%;}
.crop-marks span::after{height:100%;width:1px;left:50%;}
.crop-marks .tl{top:0;left:0;}
.crop-marks .tr{top:0;right:0;}
.crop-marks .bl{bottom:0;left:0;}
.crop-marks .br{bottom:0;right:0;}

/* ---------- hero ---------- */
.hero{
  padding:170px 0 110px;
  position:relative;
  overflow:hidden;
  background-color:var(--navy-950);
}
.hero-bg{
  position:absolute;top:0;left:0;right:0;bottom:0;
  width:100%;height:100%;
  object-fit:cover;
  z-index:0;
  opacity:0;
  transition:opacity 1.8s ease;
}
.hero-bg.active{opacity:1;}
.hero-overlay{
  position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;
  background:linear-gradient(100deg, rgba(8,18,30,.94) 0%, rgba(8,18,30,.8) 32%, rgba(8,18,30,.55) 62%, rgba(8,18,30,.72) 100%);
}
.hero .wrap{position:relative;z-index:2;}
.hero-mark{
  width:64px;height:auto;margin-bottom:2em;
  opacity:0;
  animation:fade-up .7s ease forwards .1s;
}
.hero h1{
  font-size:clamp(2.3rem,4.6vw,4.1rem);
  max-width:16ch;
  color:var(--stone-50);
  opacity:0;
  animation:fade-up .7s ease forwards .22s;
}
.hero h1 em{font-style:normal;color:var(--blue-200);}
.hero p.lead{
  max-width:46ch;
  font-size:1.08rem;
  color:var(--blue-200);
  opacity:0;
  animation:fade-up .7s ease forwards .34s;
}
.hero-actions{
  display:flex;gap:1em;margin-top:2em;flex-wrap:wrap;
  opacity:0;
  animation:fade-up .7s ease forwards .46s;
}
@keyframes fade-up{
  from{opacity:0;transform:translateY(14px);}
  to{opacity:1;transform:translateY(0);}
}

/* dimension line — signature element */
.dim{
  display:inline-flex;align-items:center;gap:.5em;
  font-family:var(--font-mono);
  font-size:.78rem;
  color:var(--brass);
  letter-spacing:.02em;
}
.dim .tick{width:1px;height:9px;background:currentColor;}
.dim .rule{width:34px;height:1px;background:currentColor;}

.illustration-panel{
  aspect-ratio:4/3;
  display:block;
  width:100%;
  overflow:hidden;
  border:1px solid var(--line);
}
.illustration-panel svg{display:block;width:100%;height:100%;}

/* ---------- page header (non-home) ---------- */
.page-hero{padding:150px 0 80px;}
.page-hero h1{font-size:clamp(2rem,4vw,3rem);color:var(--stone-50);max-width:22ch;}
.page-hero p.lead{max-width:52ch;color:var(--blue-200);font-size:1.05rem;}

/* ---------- sections ---------- */
section{padding:96px 0;}
.section-head{max-width:640px;margin-bottom:3.2em;}
.section-head h2{font-size:clamp(1.7rem,3vw,2.5rem);}
.section-head p{color:var(--ink-soft);font-size:1.03rem;}
.on-dark{background:var(--navy-900);color:var(--stone-50);}
.on-dark .ink-soft, .on-dark p{color:var(--blue-200);}
.on-dark h2, .on-dark h3{color:var(--stone-50);}
.bg-paper{background:var(--paper);}
.bg-stone{background:var(--stone-100);}

hr.rule{border:0;border-top:1px solid var(--line);margin:0;}

/* ---------- discipline strip ---------- */
.strip{
  display:grid;grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line-dark);
  border-bottom:1px solid var(--line-dark);
}
.strip a{
  padding:1.7em 1.6em;
  border-right:1px solid var(--line-dark);
  font-family:var(--font-mono);
  font-size:.82rem;
  color:var(--blue-200);
  display:flex;align-items:center;justify-content:space-between;
  transition:background .2s ease,color .2s ease;
}
.strip a:last-child{border-right:0;}
.strip a:hover{background:var(--navy-800);color:var(--stone-50);}
.strip a span.n{color:var(--brass);margin-right:.6em;}
@media (max-width:760px){
  .strip{grid-template-columns:1fr;}
  .strip a{border-right:0;border-bottom:1px solid var(--line-dark);}
}

/* ---------- overview / two column ---------- */
.split{
  display:grid;grid-template-columns:1.1fr 1fr;gap:4.5em;align-items:start;
}
@media (max-width:860px){.split{grid-template-columns:1fr;gap:2.4em;}}

.stat-row{display:flex;gap:2.8em;margin-top:2.4em;flex-wrap:wrap;}
.stat b{
  display:block;font-family:var(--font-display);font-size:2rem;color:var(--navy-900);
}
.on-dark .stat b{color:var(--stone-50);}
.stat span{
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ink-soft);
}
.on-dark .stat span{color:var(--blue-200);}

/* ---------- cards ---------- */
.card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);}
@media (max-width:760px){.card-grid{grid-template-columns:1fr;}}
.service-card{
  background:var(--paper);
  padding:2.6em 2.4em;
  position:relative;
}
.service-card .num{
  font-family:var(--font-mono);color:var(--brass);font-size:.78rem;margin-bottom:1.4em;display:block;
}
.service-card h3{font-size:1.32rem;}
.service-card p{color:var(--ink-soft);margin-bottom:0;}

/* ---------- process ---------- */
.process{display:grid;grid-template-columns:repeat(3,1fr);gap:2.6em;}
@media (max-width:860px){.process{grid-template-columns:1fr;}}
.process-step{position:relative;padding-top:2.2em;border-top:1px solid var(--line-dark);}
.process-step .num{
  font-family:var(--font-display);font-size:2.6rem;color:var(--blue-400);
  display:block;margin-bottom:.3em;
}
.process-step h3{font-size:1.2rem;color:var(--stone-50);}
.process-step p{color:var(--blue-200);}

/* ---------- projects ---------- */
.proj-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--line);margin-top:1em;}
@media (max-width:760px){
  .proj-grid{grid-template-columns:1fr;}
  .proj-more{grid-column:auto !important;}
}
.proj-card{
  background:var(--paper);position:relative;overflow:hidden;
  display:flex;flex-direction:column;
}
.proj-card .shot{
  aspect-ratio:4/3;overflow:hidden;position:relative;
}
.proj-card .shot img{
  position:absolute;top:0;left:0;right:0;bottom:0;
  width:100%;height:100%;object-fit:cover;
  display:block;
  transition:transform .5s ease;
}
.proj-card:hover .shot img{transform:scale(1.05);}
.proj-card .info{padding:1.6em 1.7em 1.9em;}
.proj-card h3{font-size:1.15rem;margin-bottom:.15em;color:var(--ink);}
.proj-card .loc{
  font-family:var(--font-mono);font-size:.74rem;color:var(--ink-soft);
  margin-bottom:1em;
}
.proj-card .area-dim{
  display:flex;align-items:center;gap:.5em;
  font-family:var(--font-mono);font-size:.8rem;color:var(--brass);
}
.proj-card .area-dim .rule{flex:1;height:1px;background:var(--line);position:relative;max-width:60px;}
.proj-card .area-dim .rule::before,.proj-card .area-dim .rule::after{
  content:"";position:absolute;top:-3px;width:1px;height:7px;background:var(--line);
}
.proj-card .area-dim .rule::before{left:0;}
.proj-card .area-dim .rule::after{right:0;}

.proj-more{
  padding:2.6em;background:var(--navy-900);color:var(--stone-50);
  display:flex;flex-direction:column;justify-content:center;gap:1.2em;
}
.proj-more h3{font-size:1.3rem;}
.proj-more ul{list-style:none;margin:0;padding:0;font-family:var(--font-mono);font-size:.82rem;color:var(--blue-200);}
.proj-more li{padding:.55em 0;border-bottom:1px solid var(--line-dark);display:flex;justify-content:space-between;gap:1em;}
.proj-more li span:last-child{color:var(--brass);white-space:nowrap;}

/* ---------- CTA band ---------- */
.cta-band{
  background:var(--navy-950);color:var(--stone-50);
  padding:80px 0;text-align:center;
}
.cta-band h2{color:var(--stone-50);font-size:clamp(1.6rem,3vw,2.3rem);max-width:20ch;margin:0 auto .5em;}
.cta-band p{color:var(--blue-200);max-width:44ch;margin:0 auto 2em;}
.cta-band .hero-actions{justify-content:center;animation:none;opacity:1;}

/* ---------- footer ---------- */
footer.site-footer{
  background:var(--navy-950);color:var(--blue-200);
  padding:64px 0 28px;
  font-size:.92rem;
}
footer .foot-grid{
  display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:3em;
  padding-bottom:3em;border-bottom:1px solid var(--line-dark);
}
@media (max-width:760px){footer .foot-grid{grid-template-columns:1fr;gap:2em;}}
footer .brand{margin-bottom:1em;}
footer h4{
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--stone-50);margin-bottom:1em;
}
footer ul{list-style:none;margin:0;padding:0;}
footer li{margin-bottom:.7em;}
footer li a{display:inline-flex;align-items:center;gap:.5em;}
footer li a svg{flex:none;opacity:.75;transition:opacity .2s ease;}
footer li a:hover svg{opacity:1;}
footer .foot-loc{display:inline-flex;align-items:center;gap:.5em;}
footer .foot-loc svg{flex:none;opacity:.75;}
footer a:hover{color:var(--stone-50);}
.foot-bottom{
  display:flex;justify-content:space-between;align-items:center;
  padding-top:1.6em;font-family:var(--font-mono);font-size:.74rem;flex-wrap:wrap;gap:1em;
}

/* ---------- about page specifics ---------- */
.value-cards{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-dark);}
@media (max-width:760px){.value-cards{grid-template-columns:1fr;}}
.value-cards .vc{background:var(--navy-900);padding:2.8em;}
.value-cards .vc h3{color:var(--blue-200);font-family:var(--font-mono);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;}
.value-cards .vc p{color:var(--stone-50);font-size:1.15rem;font-family:var(--font-display);font-weight:500;line-height:1.4;}

.org{
  --line-c:var(--line);
  margin-top:1em;
}
.org-top{
  text-align:center;padding:1.1em 1.6em;border:1px solid var(--navy-900);
  background:var(--navy-900);color:var(--stone-50);
  font-family:var(--font-mono);font-size:.85rem;letter-spacing:.04em;
  max-width:320px;margin:0 auto 0;position:relative;
}
.org-connector{width:1px;height:34px;background:var(--line-c);margin:0 auto;}
.org-row{
  display:grid;grid-template-columns:repeat(6,1fr);gap:10px;
  position:relative;
}
.org-row::before{
  content:"";position:absolute;top:-34px;left:8.33%;right:8.33%;height:1px;background:var(--line-c);
}
.org-cell{
  border:1px solid var(--line-c);padding:1em .7em;text-align:center;
  font-family:var(--font-mono);font-size:.72rem;color:var(--ink-soft);
  position:relative;background:var(--paper);
}
.org-cell::before{content:"";position:absolute;top:-34px;left:50%;width:1px;height:34px;background:var(--line-c);}
@media (max-width:760px){
  .org-row{grid-template-columns:repeat(3,1fr);row-gap:2.4em;}
  .org-row::before{display:none;}
  .org-cell::before{display:none;}
}
.org-sub{margin-top:6px;font-size:.66rem;color:var(--brass);}

/* ---------- contact page ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:4.5em;}
.full-lockup{
  display:flex;align-items:center;gap:1em;
  padding-bottom:2.2em;margin-bottom:2.6em;
  border-bottom:1px solid var(--line);
}
.full-lockup img{height:52px;width:auto;flex:none;}
.full-lockup .full-lockup-name{
  font-family:var(--font-display);font-weight:600;
  font-size:1.15rem;color:var(--navy-900);line-height:1.3;
}
.full-lockup .full-lockup-short{
  font-family:var(--font-mono);font-weight:400;font-size:.85rem;color:var(--ink-soft);
}
[dir="rtl"] .full-lockup .full-lockup-short{direction:ltr;unicode-bidi:isolate;}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr;gap:2.6em;}}
.contact-list{list-style:none;margin:2em 0 0;padding:0;}
.contact-list li{
  padding:1.4em 0;border-top:1px solid var(--line);
  display:flex;flex-direction:column;gap:.3em;
}
.contact-list li:last-child{border-bottom:1px solid var(--line);}
.contact-list .k{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brass);}
.contact-list .v{font-size:1.1rem;}
.contact-list a.v:hover{color:var(--blue-600);}

.form{display:flex;flex-direction:column;gap:1.4em;}
.form label{
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-soft);margin-bottom:.5em;display:block;
}
.form input,.form select,.form textarea{
  width:100%;border:1px solid var(--line);background:var(--paper);
  padding:.9em 1em;font-family:var(--font-body);font-size:1rem;color:var(--ink);
}
.form input:focus,.form select:focus,.form textarea:focus{
  outline:2px solid var(--blue-600);outline-offset:1px;border-color:var(--blue-600);
}
.form textarea{resize:vertical;min-height:120px;}
.form-error{
  background:#fdecea;border:1px solid #f3b4ac;color:#8a2f24;
  padding:1em 1.2em;margin-bottom:1.4em;font-size:.92rem;border-radius:2px;
}
.map-frame{
  width:100%;height:320px;border:1px solid var(--line);filter:grayscale(0.35) contrast(1.05);
  margin-top:2.5em;
}

/* ---------- project detail pages ---------- */
.breadcrumb{
  font-family:var(--font-mono);font-size:.76rem;color:var(--blue-200);
  display:flex;align-items:center;gap:.5em;margin-bottom:1.4em;flex-wrap:wrap;
}
.breadcrumb a:hover{color:var(--stone-50);}
.breadcrumb .sep{opacity:.5;}

.detail-hero{position:relative;height:66vh;min-height:440px;max-height:640px;overflow:hidden;}
.detail-hero img{
  position:absolute;top:0;left:0;right:0;bottom:0;
  width:100%;height:100%;object-fit:cover;
  display:block;
}
.detail-hero .overlay{
  position:absolute;top:0;left:0;right:0;bottom:0;
  background:linear-gradient(180deg, rgba(10,20,32,.55) 0%, rgba(10,20,32,.25) 35%, rgba(10,20,32,.92) 100%);
}
.detail-hero .content{
  position:absolute;bottom:0;left:0;right:0;padding:3.4em 0 2.6em;color:var(--stone-50);
}
.detail-hero h1{font-size:clamp(1.9rem,4vw,3.2rem);max-width:20ch;margin-bottom:.3em;}
.detail-hero .loc{font-family:var(--font-mono);font-size:.86rem;color:var(--blue-200);}

.detail-body{padding:80px 0;}
.detail-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:4em;align-items:start;}
@media (max-width:860px){.detail-grid{grid-template-columns:1fr;gap:2.4em;}}
.detail-copy p{color:var(--ink-soft);font-size:1.05rem;}
.tag-row{display:flex;gap:.6em;flex-wrap:wrap;margin-top:1.6em;}
.tag{
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;
  border:1px solid var(--line);padding:.5em .9em;color:var(--ink-soft);
}
.facts-card{border:1px solid var(--line);padding:2.2em;background:var(--stone-100);}
.facts-card dl{margin:0;}
.facts-card .fact{padding:1em 0;border-top:1px solid var(--line);}
.facts-card .fact:first-child{border-top:0;padding-top:0;}
.facts-card dt{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--brass);margin-bottom:.35em;}
.facts-card dd{margin:0;font-size:1.05rem;}

.prev-next{
  display:flex;justify-content:space-between;gap:1.5em;flex-wrap:wrap;
  border-top:1px solid var(--line);margin-top:1em;padding-top:2.4em;
}
.prev-next a{
  font-family:var(--font-mono);font-size:.82rem;color:var(--ink-soft);
  display:flex;flex-direction:column;gap:.4em;max-width:22ch;
}
.prev-next a:hover{color:var(--ink);}
.prev-next .pn-label{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--brass);}
.prev-next .pn-next{text-align:end;margin-inline-start:auto;}

/* focus visibility everywhere */
a:focus-visible,button:focus-visible,.btn:focus-visible{
  outline:2px solid var(--brass);outline-offset:2px;
}

/* ==========================================================================
   RTL (Arabic) support
   ========================================================================== */
:root[dir="rtl"]{
  --font-display:'IBM Plex Sans Arabic','Space Grotesk','IBM Plex Sans',sans-serif;
  --font-body:'IBM Plex Sans Arabic','IBM Plex Sans',sans-serif;
  --font-mono:'IBM Plex Sans Arabic','IBM Plex Mono',monospace;
}
[dir="rtl"] body{text-align:right;}
[dir="rtl"] .eyebrow::before{transform:scaleX(-1);}
[dir="rtl"] .btn svg{transform:scaleX(-1);}
[dir="rtl"] .btn:hover svg{transform:scaleX(-1) translate(3px,-3px);}
[dir="rtl"] nav.main-nav a::after{left:auto;right:0;}
[dir="rtl"] .crop-marks{direction:ltr;}
[dir="rtl"] .strip a{border-right:0;border-left:1px solid var(--line-dark);}
[dir="rtl"] .strip a:last-child{border-left:0;}
[dir="rtl"] .strip a span.n{margin-right:0;margin-left:.6em;}
[dir="rtl"] .dim,[dir="rtl"] .area-dim{direction:ltr;}
[dir="rtl"] a[href^="tel"],[dir="rtl"] .phone-link{direction:ltr;unicode-bidi:isolate;}
[dir="rtl"] .proj-more li{direction:ltr;}
[dir="rtl"] .org-row::before,[dir="rtl"] .org-cell::before{left:auto;}
[dir="rtl"] .value-cards .vc h3{letter-spacing:0;}
[dir="rtl"] .contact-list .k{letter-spacing:0;}
[dir="rtl"] .foot-bottom{direction:ltr;justify-content:space-between;}
[dir="rtl"] footer .foot-bottom span:first-child{direction:rtl;}
@media (max-width:860px){
  [dir="rtl"] .nav-toggle span{align-self:flex-end;}
}
