/* Fahd Portfolio v4 — freelance-designer landing, laid out over the shared section contract.
   Colour and type come straight from the supplied Color/Text style sheets (Gray + Primary ramps,
   Work Sans). Section backgrounds are full-bleed; content is held to a 1320px column by
   --fp-gutter so every band lines up on the same left and right edge. */
.theme-fahd-v4{
  --fp-ink:#132238;          /* Gray/900 */
  --fp-ink-2:#2b384c;        /* Gray/800 — footer */
  --fp-body:#697484;         /* Gray/500 — body copy */
  --fp-muted:#87909d;        /* Gray/400 — meta */
  --fp-line:#e6e8eb;         /* Gray/100 — hairlines */
  --fp-wash:#f0f1f3;         /* Gray/50  — alternating band */
  --fp-primary:#a53dff;      /* Primary/500 */
  --fp-primary-600:#8431cc;
  --fp-lilac:#f3e6ff;
  --fp-tint:#f7ecff;
  --fp-gutter:max(20px,calc((100% - 1320px) / 2));
  --fp-shadow-card:0 26px 60px -32px rgba(19,34,56,.3);
  --fp-shadow-tile:0 14px 34px -22px rgba(19,34,56,.34);
  --fp-wash-hero:
    radial-gradient(52% 62% at 100% 4%,#f4d8ff 0,rgba(244,216,255,0) 62%),
    radial-gradient(44% 58% at 100% 62%,#dcfaef 0,rgba(220,250,239,0) 66%),
    radial-gradient(40% 52% at 0% 58%,#fff1d6 0,rgba(255,241,214,0) 66%),
    #fff;
  --theme-bg:#fff;
  --theme-surface:#fff;
  --theme-text:var(--fp-ink);
  --theme-muted:var(--fp-body);
  --theme-accent:var(--fp-primary);
  --theme-accent-contrast:#fff;
  --theme-radius:8px;
  --theme-radius-button:6px;
  --theme-radius-card:12px;
  --theme-radius-image:8px;
  --theme-heading:"Work Sans",system-ui,sans-serif;
  --theme-body:"Work Sans",system-ui,sans-serif;
  --theme-heading-weight:600;
  --theme-heading-tracking:-.012em;
  --theme-container-width:1320px;
  background:#fff;
  color:var(--fp-ink);
  font-family:var(--theme-body);
}
.theme-fahd-v4[dir=rtl]{
  --theme-heading:"Tajawal","Work Sans",system-ui,sans-serif;
  --theme-body:"Tajawal","Work Sans",system-ui,sans-serif;
}
.theme-fahd-v4 :is(h1,h2,h3,strong){letter-spacing:-.012em}

/* ---------- buttons ---------- */
.theme-fahd-v4 .theme-button,
.theme-fahd-v4 .theme-section-cta{
  min-height:48px;
  padding:0 26px;
  gap:12px;
  border-radius:6px;
  background:var(--fp-primary);
  color:#fff!important;
  font:600 16px/1 var(--theme-body);
  box-shadow:none;
  text-decoration:none;
}
.theme-fahd-v4 .theme-button:hover{background:var(--fp-primary-600);transform:translateY(-1px)}
.theme-fahd-v4 .theme-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ---------- header ---------- */
.theme-fahd-v4 .theme-header{
  height:auto;
  min-height:96px;
  padding:18px var(--fp-gutter);
  background:#fff;
  border:0;
  gap:24px;
}
.theme-fahd-v4 .theme-brand{
  display:inline-flex;
  align-items:center;
  gap:14px;
  font:600 26px/1 var(--theme-heading);
  color:var(--fp-ink);
  text-decoration:none;
}
.theme-fahd-v4 :is(.theme-brand,.theme-footer-minimal strong):before{
  content:"F";
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:50%;
  background:var(--fp-primary);
  color:#fff;
  font:600 20px/1 "Work Sans",system-ui,sans-serif;
}
.theme-fahd-v4 .theme-header nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,44px)}
.theme-fahd-v4 .theme-header nav>a:not(.theme-button):not(.theme-language){
  color:var(--fp-ink);
  font-size:16px;
  font-weight:400;
  text-decoration:none;
}
.theme-fahd-v4 .theme-header nav>a[aria-current=page]{font-weight:600}
.theme-fahd-v4 .theme-header nav>a:not(.theme-button):hover{color:var(--fp-primary)}
.theme-fahd-v4 .theme-language{font-size:13px;font-weight:600;color:var(--fp-body);text-decoration:none}

/* ---------- hero ---------- */
.theme-fahd-v4 :is(.theme-hero-split,.theme-hero-compact){
  min-height:0;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(32px,5vw,80px);
  align-items:center;
  padding:clamp(36px,4vw,56px) var(--fp-gutter) clamp(60px,8vw,128px);
  background:var(--fp-wash-hero);
}
.theme-fahd-v4 .theme-hero-copy{padding:0;align-self:center}
.theme-fahd-v4 .theme-hero .theme-kicker{
  color:var(--fp-primary);
  font-size:13px;
  letter-spacing:.1em;
  margin-bottom:18px;
}
.theme-fahd-v4 .theme-hero h1{
  font:600 clamp(34px,4vw,62px)/1.18 var(--theme-heading);
  color:var(--fp-ink);
  margin:0 0 22px;
  max-width:none;
}
.theme-fahd-v4 .theme-hero-compact h1{font-size:clamp(30px,3.6vw,48px)}
.theme-fahd-v4 .theme-hero-title-tail{display:block}
.theme-fahd-v4 .theme-hero p{
  font-size:17px;
  line-height:1.65;
  color:var(--fp-body);
  max-width:645px;
  margin:0 0 32px;
}
/* Hero figures: value over caption, split by hairline gaps, on the lilac strip from the comp. */
.theme-fahd-v4 .theme-hero-proof{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:2px;
  margin-top:clamp(40px,7vw,112px);
  max-width:650px;
  background:#fff;
  border-radius:4px;
  overflow:hidden;
  color:inherit;
  font-size:inherit;
  font-weight:400;
}
.theme-fahd-v4 .theme-hero-proof span{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  padding:18px 10px;
  background:var(--fp-lilac);
  font:600 24px/1.2 var(--theme-heading);
  color:var(--fp-ink);
  text-align:center;
}
.theme-fahd-v4 .theme-hero-proof span:before{display:none}
.theme-fahd-v4 .theme-hero-proof small{font:400 14px/1.4 var(--theme-body);color:var(--fp-body)}
.theme-fahd-v4 .theme-hero-image{
  min-height:0;
  max-width:560px;
  margin-inline-start:auto;
  aspect-ratio:107/126;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  background:#fff;
  border-radius:12px;
  box-shadow:0 34px 70px -44px rgba(19,34,56,.42);
  overflow:hidden;
}
.theme-fahd-v4 .theme-hero-image img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:bottom;
}
.theme-fahd-v4 .theme-hero-compact .theme-hero-image{aspect-ratio:16/11}
.theme-fahd-v4 .theme-hero-compact .theme-hero-image img{object-fit:cover;object-position:center}

/* ---------- about card (split / standard) ---------- */
.theme-fahd-v4 .theme-split-standard{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,425fr) minmax(0,700fr);
  gap:clamp(32px,5vw,82px);
  align-items:center;
  background:linear-gradient(180deg,#fdfbf8 0,#f8f8f8 46%,var(--fp-wash) 46%,var(--fp-wash) 100%);
  padding:calc(clamp(24px,4vw,56px) + clamp(32px,5vw,72px)) calc(var(--fp-gutter) + clamp(24px,3.4vw,66px));
}
/* The white card is painted behind the two columns so the band keeps its own gradient. */
.theme-fahd-v4 .theme-split-standard:before{
  content:"";
  position:absolute;
  z-index:0;
  inset:clamp(24px,4vw,56px) var(--fp-gutter);
  background:#fff;
  border-radius:12px;
  box-shadow:var(--fp-shadow-card);
}
.theme-fahd-v4 .theme-split-standard>*{position:relative;z-index:1}
.theme-fahd-v4 .theme-split-standard .theme-split-media{
  position:relative;
  min-height:0;
  aspect-ratio:425/455;
  background:var(--fp-wash);
  border-radius:12px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  overflow:visible;
}
.theme-fahd-v4 .theme-split-standard .theme-split-media img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:bottom;
  border-radius:12px;
}
.theme-fahd-v4 .theme-split-social{
  position:absolute;
  z-index:2;
  inset-block-end:-28px;
  inset-inline-start:50%;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:6px;
  padding:8px;
  background:#fff;
  border-radius:8px;
  box-shadow:0 16px 36px -20px rgba(19,34,56,.5);
}
.theme-fahd-v4[dir=rtl] .theme-split-social{transform:translateX(50%)}
.theme-fahd-v4 :is(.theme-split-social,.theme-inquiry-social) a{display:grid;place-items:center;text-decoration:none}
.theme-fahd-v4 :is(.theme-split-social,.theme-inquiry-social) .theme-social-icon{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:6px;
  background:transparent;
  color:var(--fp-primary);
  transition:background .18s ease,color .18s ease;
}
.theme-fahd-v4 :is(.theme-split-social,.theme-inquiry-social) .theme-social-glyph{width:20px;height:20px;fill:currentColor}
.theme-fahd-v4 .theme-split-social a:nth-child(4) .theme-social-icon,
.theme-fahd-v4 .theme-split-social a:hover .theme-social-icon,
.theme-fahd-v4 .theme-split-social a:focus-visible .theme-social-icon{background:var(--fp-primary);color:#fff}
.theme-fahd-v4 .theme-split-standard .theme-split-copy{padding:0;align-self:center}
.theme-fahd-v4 .theme-split-standard .theme-kicker{display:none}
.theme-fahd-v4 .theme-split-standard h2{
  font:600 clamp(25px,2.6vw,36px)/1.3 var(--theme-heading);
  color:var(--fp-ink);
  max-width:520px;
}
.theme-fahd-v4 .theme-split-standard .theme-split-copy p{
  white-space:pre-line;
  font-size:17px;
  line-height:1.7;
  color:var(--fp-body);
  max-width:560px;
  margin:26px 0 0;
}
.theme-fahd-v4 .theme-split-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:34px}
.theme-fahd-v4 .theme-split-standard .theme-split-secondary{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:48px;
  padding:0 22px;
  border:1.5px solid var(--fp-primary);
  border-radius:6px;
  background:#fff;
  color:var(--fp-primary)!important;
  font:600 16px/1 var(--theme-body);
  box-shadow:none;
}
.theme-fahd-v4 .theme-split-standard .theme-split-secondary:before{
  content:"";
  width:18px;
  height:18px;
  flex:0 0 auto;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a53dff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12'/%3E%3Cpath d='m7.5 11 4.5 4.5 4.5-4.5'/%3E%3Cpath d='M4 19h16'/%3E%3C/svg%3E") center/contain no-repeat;
}
.theme-fahd-v4 .theme-split-standard .theme-split-secondary:hover{background:var(--fp-tint);transform:translateY(-1px)}

/* ---------- shared section head / lead / cta ---------- */
.theme-fahd-v4 .theme-section-head>span{display:none}
.theme-fahd-v4 .theme-section-head{display:block;margin-bottom:0}
.theme-fahd-v4 .theme-section h2{
  font:600 clamp(28px,3.2vw,44px)/1.22 var(--theme-heading);
  color:var(--fp-ink);
}
.theme-fahd-v4 .theme-section-lead{
  font-size:17px;
  line-height:1.65;
  color:var(--fp-body);
  margin:0;
}

/* ---------- work process + what I do (feature grids) ---------- */
.theme-fahd-v4 :is(.theme-services-section-standard,.theme-services-section-pillars){
  width:100%;
  max-width:none;
  background:var(--fp-wash);
  padding:clamp(58px,7vw,112px) var(--fp-gutter) clamp(68px,8vw,132px);
  display:grid;
  grid-template-columns:minmax(0,508fr) minmax(0,650fr);
  column-gap:clamp(36px,8vw,162px);
  align-items:start;
}
.theme-fahd-v4 :is(.theme-services-section-standard,.theme-services-section-pillars) .theme-section-head{grid-column:1;grid-row:1;margin-bottom:24px}
.theme-fahd-v4 :is(.theme-services-section-standard,.theme-services-section-pillars) .theme-section-lead{grid-column:1;grid-row:2;white-space:pre-line;max-width:510px}
.theme-fahd-v4 :is(.theme-services-section-standard,.theme-services-section-pillars) .theme-section-cta{grid-column:1;grid-row:3;justify-self:start;margin-top:34px}
.theme-fahd-v4 :is(.theme-services-section-standard,.theme-services-section-pillars) .theme-services{
  grid-column:2;
  grid-row:1/span 3;
  border:0;
  gap:clamp(18px,2vw,28px);
}
.theme-fahd-v4 :is(.theme-services-section-standard,.theme-services-section-pillars) .theme-services article{
  min-width:0;
  border:0;
  background:#fff;
  border-radius:12px;
  box-shadow:var(--fp-shadow-tile);
}
.theme-fahd-v4 :is(.theme-services-section-standard,.theme-services-section-pillars) .theme-service-copy{padding:0}
.theme-fahd-v4 :is(.theme-services-section-standard,.theme-services-section-pillars) :is(.theme-service-index,.theme-arrow){display:none}
.theme-fahd-v4 :is(.theme-services-section-standard,.theme-services-section-pillars) .theme-services h3{
  font:600 20px/1.35 var(--theme-heading);
  color:var(--fp-ink);
  margin:0 0 12px;
}
.theme-fahd-v4 :is(.theme-services-section-standard,.theme-services-section-pillars) .theme-services p{
  font-size:16px;
  line-height:1.65;
  color:var(--fp-body);
}
/* Work Process: 2×2, the right-hand column dropped a step as in the comp. */
.theme-fahd-v4 .theme-services-section-standard .theme-services{grid-template-columns:repeat(2,minmax(0,1fr))}
.theme-fahd-v4 .theme-services-section-standard .theme-services article{padding:30px 30px 34px}
.theme-fahd-v4 .theme-services-section-standard .theme-services article:nth-child(even){margin-top:clamp(16px,2.4vw,34px)}
.theme-fahd-v4 .theme-services-section-standard .theme-service-media{
  width:72px;
  height:72px;
  margin-bottom:26px;
  border-radius:12px;
  background:var(--fp-tint);
  display:grid;
  place-items:center;
  overflow:visible;
}
.theme-fahd-v4 .theme-services-section-standard .theme-service-media img{width:28px;height:28px;object-fit:contain}
.theme-fahd-v4 .theme-services-section-standard .theme-services article:first-child .theme-service-media{background:var(--fp-primary)}
.theme-fahd-v4 .theme-services-section-standard .theme-services article:first-child .theme-service-media img{filter:brightness(0) invert(1)}
/* What I do: three stacked panels, the first flagged with the accent rule. */
.theme-fahd-v4 .theme-services-section-pillars .theme-services{grid-template-columns:minmax(0,1fr)}
.theme-fahd-v4 .theme-services-section-pillars .theme-services article{
  position:relative;
  padding:28px 32px 30px;
  border-radius:8px;
  overflow:hidden;
}
.theme-fahd-v4 .theme-services-section-pillars .theme-services article:first-child:before{
  content:"";
  position:absolute;
  inset-block:0;
  inset-inline-start:0;
  width:5px;
  background:var(--fp-primary);
}
.theme-fahd-v4 .theme-services-section-pillars .theme-service-media{display:none}

/* ---------- portfolio ---------- */
.theme-fahd-v4 .theme-products-section-standard{
  width:100%;
  max-width:none;
  background:#fff;
  padding:clamp(64px,8vw,122px) var(--fp-gutter);
  text-align:center;
}
.theme-fahd-v4 .theme-products-section-standard .theme-section-head{margin-bottom:16px}
.theme-fahd-v4 .theme-products-section-standard .theme-section-lead{
  max-width:620px;
  margin:0 auto clamp(36px,5vw,62px);
}
.theme-fahd-v4 .theme-products-section-standard .theme-products{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  text-align:start;
}
.theme-fahd-v4 .theme-products-section-standard .theme-products article{
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid var(--fp-line);
  border-radius:8px;
  overflow:hidden;
}
.theme-fahd-v4 .theme-product-index{display:none}
.theme-fahd-v4 .theme-products-section-standard .theme-product-media{order:1;border-radius:0}
.theme-fahd-v4 .theme-products-section-standard .theme-product-media img{aspect-ratio:424/246;width:100%;object-fit:cover}
.theme-fahd-v4 .theme-products-section-standard .theme-product-meta{
  order:2;
  margin:26px 30px 0;
  font:500 12px/1 var(--theme-body);
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--fp-muted);
}
.theme-fahd-v4 .theme-products-section-standard .theme-products h3{
  order:3;
  margin:10px 30px 0;
  font:600 20px/1.35 var(--theme-heading);
  color:var(--fp-ink);
}
.theme-fahd-v4 .theme-products-section-standard .theme-products p{
  order:4;
  margin:14px 30px 0;
  font-size:16px;
  line-height:1.6;
  color:var(--fp-body);
}
.theme-fahd-v4 .theme-products-section-standard .theme-text-link{
  order:5;
  margin:24px 30px 30px;
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-height:44px;
  padding:0 20px;
  border:1.5px solid var(--fp-primary);
  border-radius:6px;
  color:var(--fp-primary);
  font:600 15px/1 var(--theme-body);
  text-decoration:none;
}
.theme-fahd-v4 .theme-products-section-standard .theme-text-link:after{
  content:"";
  width:16px;
  height:16px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a53dff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
}
.theme-fahd-v4 .theme-products-section-standard .theme-text-link:hover{background:var(--fp-tint)}
.theme-fahd-v4 .theme-products-section-standard .theme-section-cta{
  display:inline-flex;
  margin:clamp(34px,4vw,52px) auto 0;
}

/* ---------- dark invitation band ---------- */
.theme-fahd-v4 .theme-contact-band{
  display:block;
  text-align:center;
  background:var(--fp-ink);
  color:#fff;
  padding:clamp(64px,8vw,116px) var(--fp-gutter);
}
.theme-fahd-v4 .theme-contact-band .theme-kicker{display:none}
.theme-fahd-v4 .theme-contact-band h2{
  white-space:pre-line;
  font:600 clamp(27px,3.3vw,46px)/1.36 var(--theme-heading);
  color:#fff;
  max-width:860px;
  margin-inline:auto;
}
.theme-fahd-v4 .theme-contact-band p{
  max-width:620px;
  margin:22px auto 0;
  font-size:17px;
  line-height:1.6;
  color:rgba(255,255,255,.72);
  opacity:1;
}
.theme-fahd-v4 .theme-contact-band .theme-button{
  margin-top:34px;
  background:var(--fp-primary);
  color:#fff!important;
  border:0;
}

/* ---------- blog ---------- */
.theme-fahd-v4 .theme-blog-section-cards{
  width:100%;
  max-width:none;
  text-align:center;
  padding:clamp(64px,8vw,120px) var(--fp-gutter);
  background:
    radial-gradient(44% 62% at 0% 14%,#f4dbff 0,rgba(244,219,255,0) 64%),
    radial-gradient(44% 62% at 100% 20%,#dbfaef 0,rgba(219,250,239,0) 64%),
    #fff;
}
.theme-fahd-v4 .theme-blog-section-cards .theme-section-head{margin-bottom:16px}
.theme-fahd-v4 .theme-blog-section-cards .theme-section-lead{max-width:620px;margin:0 auto clamp(36px,5vw,62px)}
.theme-fahd-v4 .theme-blog-section-cards .theme-blog-list{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
  text-align:start;
}
.theme-fahd-v4 .theme-blog-section-cards .theme-blog-list article{
  background:#fff;
  border-radius:8px;
  overflow:hidden;
  box-shadow:var(--fp-shadow-tile);
}
.theme-fahd-v4 .theme-blog-section-cards .theme-blog-list article>img{aspect-ratio:310/218}
.theme-fahd-v4 .theme-blog-section-cards .theme-blog-list article>div{padding:22px 24px 28px;gap:10px}
.theme-fahd-v4 .theme-blog-section-cards .theme-blog-list time{
  font:400 14px/1 var(--theme-body);
  color:var(--fp-body);
  letter-spacing:0;
  text-transform:none;
}
.theme-fahd-v4 .theme-blog-section-cards .theme-blog-list h3{
  font:600 18px/1.45 var(--theme-heading);
  color:var(--fp-ink);
}
/* The comp's cards stop at the headline; the read-more link is a renderer fallback, not copy. */
.theme-fahd-v4 .theme-blog-section-cards .theme-blog-list .theme-text-link{display:none}

/* ---------- clients ---------- */
.theme-fahd-v4 .theme-logos-section-muted{
  width:100%;
  max-width:none;
  text-align:center;
  padding:clamp(60px,7vw,108px) var(--fp-gutter) clamp(46px,5vw,70px);
  background:linear-gradient(180deg,#fdfcfa,#fdfbf7);
}
.theme-fahd-v4 .theme-logos-section-muted .theme-section-head{margin-bottom:16px}
.theme-fahd-v4 .theme-logos-section-muted .theme-section-lead{max-width:620px;margin:0 auto clamp(34px,4vw,54px)}
.theme-fahd-v4 .theme-logos{
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:clamp(16px,3vw,46px);
}
.theme-fahd-v4 .theme-logos li{border:0;padding:0}
.theme-fahd-v4 .theme-logos img{height:40px;max-width:100%;filter:grayscale(1);opacity:.72}

/* ---------- testimonial ---------- */
.theme-fahd-v4 .theme-quote-minimal{
  text-align:center;
  padding:clamp(52px,6vw,96px) var(--fp-gutter) clamp(72px,9vw,136px);
  background:linear-gradient(180deg,#fdfbf7,#fdfdfc);
}
.theme-fahd-v4 .theme-quote-minimal .theme-kicker{
  display:block;
  margin:0 0 16px;
  font:600 clamp(28px,3.2vw,44px)/1.22 var(--theme-heading);
  letter-spacing:-.012em;
  text-transform:none;
  color:var(--fp-ink);
}
.theme-fahd-v4 .theme-quote-minimal .theme-section-lead{
  max-width:620px;
  margin:0 auto clamp(44px,6vw,78px);
}
/* Every catalogue testimonial carries a rating so the editor contract holds; the comp
   presents the quote on its own, so the star row is not painted here. */
.theme-fahd-v4 .theme-quote-minimal .theme-rating{display:none}
.theme-fahd-v4 .theme-quote-minimal blockquote{
  font:600 20px/1.75 var(--theme-body);
  letter-spacing:0;
  color:var(--fp-ink);
  max-width:900px;
  margin:0 auto 34px;
}
.theme-fahd-v4 .theme-quote-minimal cite{
  display:block;
  font:600 16px/1.6 var(--theme-heading);
  font-style:normal;
  color:var(--fp-ink);
}
.theme-fahd-v4 .theme-quote-minimal cite small{
  display:block;
  margin-top:10px;
  font:400 16px/1.5 var(--theme-body);
  color:var(--fp-body);
}

/* ---------- location (contact page) ---------- */
.theme-fahd-v4 .theme-location-section-branches{
  width:100%;
  max-width:none;
  background:var(--fp-wash);
  padding:clamp(56px,6vw,96px) var(--fp-gutter);
}
.theme-fahd-v4 .theme-location-section-branches .theme-section-head{margin-bottom:32px}
.theme-fahd-v4 .theme-branches article{
  display:grid;
  gap:8px;
  background:#fff;
  border-radius:12px;
  padding:30px 32px;
  box-shadow:var(--fp-shadow-tile);
  color:var(--fp-body);
}
.theme-fahd-v4 .theme-branches strong{font:600 20px/1.35 var(--theme-heading);color:var(--fp-ink)}
.theme-fahd-v4 .theme-branches a{color:var(--fp-primary);text-decoration:none}

/* ---------- project brief card ---------- */
.theme-fahd-v4 .theme-inquiry-section-project{
  position:relative;
  z-index:1;
  width:min(1320px,calc(100% - 40px));
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(32px,5vw,90px);
  align-items:start;
  background:#fff;
  border-radius:12px;
  box-shadow:var(--fp-shadow-card);
  padding:clamp(36px,5vw,70px) clamp(26px,4vw,66px) clamp(42px,5vw,80px);
}
.theme-fahd-v4 .theme-inquiry-section-project .theme-kicker{display:none}
.theme-fahd-v4 .theme-inquiry-section-project h2{
  font:600 clamp(25px,2.8vw,38px)/1.3 var(--theme-heading);
  color:var(--fp-ink);
  margin:0 0 20px;
}
.theme-fahd-v4 .theme-inquiry-section-project>div>p{
  font-size:17px;
  line-height:1.65;
  color:var(--fp-body);
  max-width:470px;
  margin:0;
}
.theme-fahd-v4 .theme-inquiry-details{display:grid;gap:14px;margin-top:clamp(26px,3vw,40px)}
.theme-fahd-v4 .theme-inquiry-detail{display:flex;align-items:center;gap:18px;padding:16px 20px;border-radius:8px}
.theme-fahd-v4 .theme-inquiry-detail:first-child{box-shadow:0 18px 38px -24px rgba(19,34,56,.45)}
.theme-fahd-v4 .theme-inquiry-detail-icon{
  flex:0 0 auto;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:var(--fp-tint);
  color:var(--fp-primary);
}
.theme-fahd-v4 .theme-inquiry-detail:first-child .theme-inquiry-detail-icon{background:var(--fp-primary);color:#fff}
.theme-fahd-v4 .theme-inquiry-detail-icon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.theme-fahd-v4 .theme-inquiry-detail-copy{display:grid;gap:6px;min-width:0}
.theme-fahd-v4 .theme-inquiry-detail-copy small{font:400 14px/1 var(--theme-body);color:var(--fp-body)}
.theme-fahd-v4 .theme-inquiry-detail-copy :is(strong,a){
  font:600 17px/1.3 var(--theme-heading);
  color:var(--fp-ink);
  text-decoration:none;
  word-break:break-word;
}
.theme-fahd-v4 .theme-inquiry-detail-copy a:hover{color:var(--fp-primary)}
.theme-fahd-v4 .theme-inquiry-social{display:flex;align-items:center;gap:10px;margin-top:clamp(26px,3vw,44px)}
.theme-fahd-v4 .theme-inquiry-social .theme-social-icon{width:48px;height:48px;border-radius:8px}
.theme-fahd-v4 .theme-inquiry-social a:first-child .theme-social-icon,
.theme-fahd-v4 .theme-inquiry-social a:hover .theme-social-icon,
.theme-fahd-v4 .theme-inquiry-social a:focus-visible .theme-social-icon{background:var(--fp-primary);color:#fff}
.theme-fahd-v4 .theme-inquiry-section-project .theme-inquiry{
  width:auto;
  margin:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:32px 30px;
}
.theme-fahd-v4 .theme-inquiry-intro{
  grid-column:1/-1;
  margin:0 0 8px;
  font-size:17px;
  line-height:1.65;
  color:var(--fp-body);
}
.theme-fahd-v4 .theme-inquiry-section-project .theme-inquiry-wide{grid-column:1/-1}
.theme-fahd-v4 .theme-inquiry-section-project .theme-inquiry label{
  display:block;
  font:400 17px/1 var(--theme-body);
  color:var(--fp-body);
  letter-spacing:0;
  text-transform:none;
}
.theme-fahd-v4 .theme-inquiry-section-project .theme-inquiry label>span{
  display:block;
  margin-bottom:12px;
  font:inherit;
  color:inherit;
}
.theme-fahd-v4 .theme-inquiry-section-project .theme-inquiry :is(input,textarea){
  width:100%;
  border:0;
  border-bottom:1.5px solid var(--fp-line);
  border-radius:0;
  background:transparent;
  padding:0 0 10px;
  font:400 16px/1.5 var(--theme-body);
  color:var(--fp-ink);
}
.theme-fahd-v4 .theme-inquiry-section-project .theme-inquiry textarea{resize:vertical;min-height:52px}
.theme-fahd-v4 .theme-inquiry-section-project .theme-inquiry label:focus-within{color:var(--fp-primary)}
.theme-fahd-v4 .theme-inquiry-section-project .theme-inquiry :is(input,textarea):focus{
  outline:0;
  border-bottom-color:var(--fp-primary);
  border-bottom-width:2px;
}
.theme-fahd-v4 .theme-inquiry-section-project .theme-inquiry button{
  grid-column:1/-1;
  justify-self:start;
  align-self:start;
  margin-top:4px;
}
.theme-fahd-v4 .theme-inquiry-section-project .theme-inquiry button:after{
  content:"";
  width:20px;
  height:20px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 3 3 10.5l7.5 3L13.5 21z'/%3E%3Cpath d='M10.5 13.5 21 3'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* ---------- footer ---------- */
.theme-fahd-v4 .theme-footer-minimal{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:clamp(20px,4vw,60px);
  padding:clamp(36px,5vw,60px) var(--fp-gutter);
  background:var(--fp-ink-2);
  color:#fff;
}
.theme-fahd-v4 .theme-footer-minimal strong{display:inline-flex;align-items:center;gap:14px;font:600 26px/1 var(--theme-heading)}
.theme-fahd-v4 .theme-footer-minimal nav{justify-content:center;gap:clamp(14px,2vw,30px)}
.theme-fahd-v4 .theme-footer-minimal nav a{font-size:16px;opacity:.92}
.theme-fahd-v4 .theme-footer-minimal nav a:hover{opacity:1;color:var(--fp-primary)}
.theme-fahd-v4 .theme-footer-minimal>span{justify-self:end;font-size:16px;opacity:.85}
/* The brief card overlaps the footer only where it is the last band on the page. */
.theme-fahd-v4 .theme-inquiry-section-project:has(+ .theme-footer){margin-bottom:clamp(-150px,-9vw,-88px)}
.theme-fahd-v4 .theme-inquiry-section-project+.theme-footer{padding-top:clamp(132px,14vw,210px)}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .theme-fahd-v4 .theme-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
  .theme-fahd-v4 .theme-blog-section-cards .theme-blog-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .theme-fahd-v4 .theme-products-section-standard .theme-products{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:960px){
  .theme-fahd-v4 .theme-header{flex-wrap:wrap;min-height:0}
  .theme-fahd-v4 .theme-header nav{width:100%;flex-wrap:wrap;justify-content:flex-start}
  .theme-fahd-v4 :is(.theme-hero-split,.theme-hero-compact){grid-template-columns:minmax(0,1fr)}
  .theme-fahd-v4 .theme-hero-image{margin-inline:auto;max-width:440px;order:-1}
  .theme-fahd-v4 .theme-hero-proof{margin-top:36px;max-width:none}
  .theme-fahd-v4 .theme-split-standard{grid-template-columns:minmax(0,1fr)}
  .theme-fahd-v4 .theme-split-standard .theme-split-media{aspect-ratio:4/3;max-width:420px;margin-inline:auto}
  .theme-fahd-v4 .theme-split-social{position:static;transform:none;justify-content:center;margin:34px auto 0;width:max-content}
  .theme-fahd-v4[dir=rtl] .theme-split-social{transform:none}
  .theme-fahd-v4 :is(.theme-services-section-standard,.theme-services-section-pillars){grid-template-columns:minmax(0,1fr);row-gap:0}
  .theme-fahd-v4 :is(.theme-services-section-standard,.theme-services-section-pillars) .theme-services{grid-column:1;grid-row:auto;margin-top:38px}
  .theme-fahd-v4 :is(.theme-services-section-standard,.theme-services-section-pillars) .theme-section-cta{grid-row:auto;order:3}
  .theme-fahd-v4 .theme-services-section-standard .theme-services article:nth-child(even){margin-top:0}
  .theme-fahd-v4 .theme-inquiry-section-project{grid-template-columns:minmax(0,1fr)}
  .theme-fahd-v4 .theme-footer-minimal{grid-template-columns:minmax(0,1fr);justify-items:start;gap:24px}
  .theme-fahd-v4 .theme-footer-minimal nav{justify-content:flex-start}
  .theme-fahd-v4 .theme-footer-minimal>span{justify-self:start}
}
@media (max-width:680px){
  .theme-fahd-v4 .theme-hero-proof{grid-template-columns:minmax(0,1fr)}
  .theme-fahd-v4 .theme-services-section-standard .theme-services{grid-template-columns:minmax(0,1fr)}
  .theme-fahd-v4 .theme-products-section-standard .theme-products,
  .theme-fahd-v4 .theme-blog-section-cards .theme-blog-list{grid-template-columns:minmax(0,1fr)}
  .theme-fahd-v4 .theme-logos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .theme-fahd-v4 .theme-inquiry-section-project .theme-inquiry{grid-template-columns:minmax(0,1fr)}
  .theme-fahd-v4 .theme-inquiry-section-project:has(+ .theme-footer){margin-bottom:0}
  .theme-fahd-v4 .theme-inquiry-section-project+.theme-footer{padding-top:clamp(36px,5vw,60px)}
}
