/*
Theme Name: PharmaSync
Theme URI: https://pharmasyc.com
Author: PharmaSync
Author URI: https://pharmasyc.com
Description: WordPress block theme for PharmaSync, a cross-border life sciences advisory firm.
Version: 1.0.0
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pharmasync
*/

@font-face{font-family:Montserrat;src:url("assets/fonts/montserrat-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url("assets/fonts/montserrat-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url("assets/fonts/inter-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url("assets/fonts/inter-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url("assets/fonts/inter-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("assets/fonts/plexmono-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("assets/fonts/plexmono-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}

:root{
  --navy:#002B49;
  --teal:#00A689;
  --mint-tint:#E6F4F1;
  --off-white:#F8F9FA;
  --white:#FFFFFF;
  --ink:#002B49;
  --ink-soft:#3A5161;
  --ink-muted:#758995;
  --dark:#001E33;
  --dark-2:#001423;
  --accent:#00A689;
  --accent-2:#007A66;
  --light-text:#EAF3F1;
  --line:rgba(0,43,73,.14);
  --line-soft:rgba(0,43,73,.08);
  --line-dark:rgba(234,243,241,.16);
  --max:1200px;
  --pad:clamp(1rem,4vw,2rem);
  --section:clamp(4rem,8vw,7rem);
  --font-head:"Montserrat",ui-sans-serif,system-ui,sans-serif;
  --font-body:"Inter",ui-sans-serif,system-ui,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  background:var(--off-white);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:17px;
  font-weight:400;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:hover{color:var(--accent-2)}
h1,h2,h3,h4,h5,h6{
  margin:0;
  color:var(--ink);
  font-family:var(--font-head);
  font-weight:700;
  line-height:1.04;
  letter-spacing:0;
}
p{margin:0;color:var(--ink-soft)}
strong{font-weight:600}
input,select,textarea,button{font:inherit}
::selection{background:var(--teal);color:var(--white)}

.wp-site-blocks{background:var(--off-white)}
.wp-block-post-content{margin-block-start:0}
.wp-block-group{margin-block-start:0}

.ps-container{max-width:var(--max);margin-inline:auto;padding-inline:var(--pad)}
.ps-section{padding-block:var(--section);background:var(--white)}
.ps-section--mint{background:var(--mint-tint)}
.ps-section--dark{background:var(--dark);color:var(--light-text)}
.ps-section--off{background:var(--off-white)}
.ps-section--tight{padding-block:clamp(2.8rem,6vw,4.5rem)}
.ps-divider{height:1px;background:var(--line);border:0;margin:0}
.ps-flow>*+*{margin-top:1rem}
.ps-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.ps-split--top{align-items:start}
.ps-row-between{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem}
.ps-copy{max-width:690px}
.ps-copy-wide{max-width:850px}
.ps-copy-narrow{max-width:590px}

.ps-eyebrow{
  display:inline-block;
  margin-bottom:1.05rem;
  color:var(--accent-2);
  font-family:var(--font-mono);
  font-size:.72rem;
  font-weight:500;
  letter-spacing:.14em;
  line-height:1.4;
  text-transform:uppercase;
}
.ps-eyebrow::before{content:"\2014  "}
.ps-eyebrow--plain::before{content:""}
.ps-label{
  color:var(--ink-muted);
  font-family:var(--font-mono);
  font-size:.72rem;
  font-weight:500;
  letter-spacing:.14em;
  line-height:1.5;
  text-transform:uppercase;
}
.ps-dark .ps-label,.ps-section--dark .ps-label{color:rgba(234,243,241,.58)}
.ps-index{
  color:var(--accent-2);
  font-family:var(--font-mono);
  font-size:.86rem;
  font-weight:500;
  letter-spacing:.14em;
}
.ps-index::before{content:"/ "}
.ps-display{font-size:clamp(3rem,6.8vw,6.1rem);max-width:11.5ch}
.ps-display--wide{max-width:14.5ch}
.ps-h2{font-size:clamp(2.4rem,5vw,4.8rem);max-width:12ch}
.ps-h2--wide{max-width:15ch}
.ps-h3{font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.12}
.ps-lead{font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.65;max-width:690px}
.ps-kicker{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase}
.ps-em{font:inherit;color:inherit;letter-spacing:inherit}
.ps-mono{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
.ps-dark h1,.ps-dark h2,.ps-dark h3,.ps-section--dark h1,.ps-section--dark h2,.ps-section--dark h3{color:var(--light-text)}
.ps-dark p,.ps-section--dark p{color:rgba(234,243,241,.68)}
.ps-dark .ps-eyebrow,.ps-section--dark .ps-eyebrow{color:var(--teal)}

.ps-btn,.ps-boxlink{
  display:inline-flex;
  min-height:3.5rem;
  align-items:center;
  justify-content:center;
  gap:.65rem;
  border:1px solid var(--navy);
  border-radius:2px;
  padding:.95rem 1.45rem;
  font-family:var(--font-mono);
  font-size:.82rem;
  font-weight:500;
  letter-spacing:.08em;
  line-height:1;
  text-transform:uppercase;
  transition:background .18s ease,border-color .18s ease,color .18s ease;
}
.ps-btn{background:var(--navy);color:var(--white)}
.ps-btn:hover{background:var(--accent-2);border-color:var(--accent-2);color:var(--white)}
.ps-boxlink{background:transparent;color:var(--navy)}
.ps-boxlink:hover{background:var(--navy);color:var(--white)}
.ps-btn--light{background:var(--white);border-color:var(--white);color:var(--navy)}
.ps-btn--light:hover{background:var(--teal);border-color:var(--teal);color:var(--white)}
.ps-link{
  display:inline-flex;
  gap:.55rem;
  align-items:center;
  color:var(--navy);
  font-family:var(--font-mono);
  font-size:.78rem;
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.ps-link:hover{color:var(--accent-2)}
.ps-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}

.ps-util{
  background:#111;
  color:rgba(234,243,241,.72);
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.ps-util__inner{display:flex;justify-content:space-between;gap:1rem;max-width:var(--max);margin-inline:auto;padding:.65rem var(--pad)}
.ps-util__offices,.ps-util__meta{display:flex;flex-wrap:wrap;gap:1.6rem;align-items:center}
.ps-live-dot{color:var(--teal)}
.ps-util a{color:rgba(234,243,241,.82)}
.ps-util a:hover{color:var(--white)}

.ps-header{
  position:sticky;
  top:0;
  z-index:60;
  background:rgba(248,249,250,.96);
  border-bottom:1px solid var(--line);
  backdrop-filter:saturate(120%) blur(14px);
}
.ps-nav{display:grid;grid-template-columns:auto 1fr auto;gap:2rem;align-items:center;max-width:var(--max);margin-inline:auto;padding:1.35rem var(--pad)}
.ps-brand{display:inline-flex;align-items:center}
.ps-brand img{width:auto;height:52px}
.ps-menu{display:flex;align-items:center;justify-content:center;gap:2.1rem;list-style:none;margin:0;padding:0;font-weight:500}
.ps-menu a{color:var(--navy)}
.ps-menu a:hover{color:var(--accent-2)}
.ps-menu__item{position:relative}
.ps-subtoggle{display:inline-flex;gap:.35rem;align-items:center}
.ps-subtoggle::after{content:"\203A";display:inline-block;transform:rotate(90deg);font-size:.8em;color:var(--ink-muted)}
.ps-submenu{
  display:none;
  position:absolute;
  left:-1rem;
  top:100%;
  min-width:250px;
  padding:.65rem;
  background:var(--white);
  border:1px solid var(--line);
}
.ps-menu__item:hover .ps-submenu,.ps-menu__item:focus-within .ps-submenu{display:grid}
.ps-submenu a{display:block;padding:.72rem .85rem;border-bottom:1px solid var(--line-soft);font-size:.92rem}
.ps-submenu a:last-child{border-bottom:0}
.ps-submenu a:hover{background:var(--mint-tint)}
.ps-nav__right{display:flex;align-items:center;gap:1rem}
.ps-language{display:inline-flex;align-items:center;gap:.45rem;color:var(--ink-soft);font-size:.92rem}
.ps-burger{display:none;border:1px solid var(--line);border-radius:2px;background:transparent;color:var(--navy);padding:.75rem .9rem;font-family:var(--font-mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase}

.ps-hero{padding-block:clamp(4.5rem,9vw,8rem);background:var(--white)}
.ps-hero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.ps-hero .ps-lead{margin-top:1.6rem}
.ps-photo{
  min-height:clamp(360px,46vw,570px);
  position:relative;
  overflow:hidden;
  border:1px solid var(--line);
  background:
    linear-gradient(90deg,rgba(0,43,73,.12) 1px,transparent 1px) 0 0/78px 100%,
    linear-gradient(0deg,rgba(0,43,73,.08) 1px,transparent 1px) 0 0/100% 72px,
    radial-gradient(circle at 72% 32%,rgba(0,166,137,.18),transparent 28%),
    linear-gradient(135deg,#eef3f2,#c9d5d3 55%,#f7f8f8);
}
.ps-photo::before{
  content:"";
  position:absolute;
  inset:12%;
  border-left:1px solid rgba(0,43,73,.2);
  border-right:1px solid rgba(0,43,73,.12);
  transform:skewX(-8deg);
}
.ps-photo::after{
  content:"";
  position:absolute;
  right:10%;
  bottom:12%;
  width:40%;
  height:44%;
  background:linear-gradient(180deg,rgba(0,43,73,.22),rgba(0,43,73,.04));
  border:1px solid rgba(0,43,73,.18);
}
.ps-photo img{position:absolute;left:8%;bottom:8%;width:min(220px,46%);opacity:.2}
.ps-photo--small{min-height:clamp(280px,34vw,430px)}
.ps-photo--map{background:linear-gradient(135deg,#eff7f5,#d9ebe7),linear-gradient(90deg,rgba(0,43,73,.12) 1px,transparent 1px) 0 0/72px 72px}

.ps-stats-band{background:var(--mint-tint);border-block:1px solid var(--line)}
.ps-stats{display:grid;grid-template-columns:repeat(4,1fr)}
.ps-stat{padding:2.25rem 2rem;border-left:1px solid var(--line)}
.ps-stat:first-child{border-left:0}
.ps-stat__label{display:block;margin-bottom:.65rem;color:var(--ink-muted);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
.ps-stat__number{display:block;color:var(--teal);font-family:var(--font-head);font-size:clamp(2rem,3vw,3rem);font-weight:700;line-height:1.05}
.ps-stat__note{display:block;margin-top:.45rem;color:var(--ink-soft);font-size:.96rem}

.ps-house{display:grid;grid-template-columns:1fr minmax(320px,2.2fr) 1fr;gap:2rem;align-items:center}
.ps-house blockquote{margin:0}
.ps-house p{color:var(--navy);font-family:var(--font-head);font-size:clamp(2.2rem,4.2vw,4.3rem);font-weight:700;line-height:1.08}
.ps-house__source{text-align:right}

.ps-section-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:end;margin-bottom:3.2rem}
.ps-section-head p{max-width:680px;margin-top:1.1rem}

.ps-hairline-grid{display:grid;border:1px solid var(--line)}
.ps-grid-2{grid-template-columns:repeat(2,1fr)}
.ps-grid-3{grid-template-columns:repeat(3,1fr)}
.ps-grid-4{grid-template-columns:repeat(4,1fr)}
.ps-cell{min-height:100%;padding:clamp(1.5rem,3vw,2.35rem);border-left:1px solid var(--line);border-top:1px solid var(--line)}
.ps-cell:nth-child(4n+1){border-left:0}
.ps-grid-3 .ps-cell:nth-child(3n+1){border-left:0}
.ps-grid-2 .ps-cell:nth-child(2n+1){border-left:0}
.ps-cell:nth-child(-n+4){border-top:0}
.ps-grid-3 .ps-cell:nth-child(-n+3){border-top:0}
.ps-grid-2 .ps-cell:nth-child(-n+2){border-top:0}
.ps-cell h3{margin-top:1.8rem}
.ps-cell p{margin-top:.8rem}
.ps-cell__rule{height:1px;background:var(--line);margin:1.8rem 0}
.ps-dash-list{list-style:none;margin:0;padding:0;color:var(--ink-soft)}
.ps-dash-list li{position:relative;padding:.35rem 0 .35rem 1.25rem}
.ps-dash-list li::before{content:"\2014";position:absolute;left:0;color:var(--accent-2)}
.ps-cell .ps-link{margin-top:1.3rem}

.ps-focus .ps-cell{background:var(--off-white)}
.ps-why-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-dark)}
.ps-why-item{padding:3rem 2rem 0;border-left:1px solid var(--line-dark)}
.ps-why-item:first-child{border-left:0}
.ps-outline-num{display:inline-flex;width:3rem;height:3rem;align-items:center;justify-content:center;border:1px solid rgba(234,243,241,.42);color:rgba(234,243,241,.72);font-family:var(--font-mono);font-weight:500;margin-bottom:2rem}
.ps-why-item h3{margin-bottom:.9rem}

.ps-footprint-scope{background:var(--off-white);padding-block:clamp(3rem,7vw,6rem)}
.ps-footprint-wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);max-width:var(--max);margin-inline:auto;padding-inline:var(--pad)}
.ps-footprint{background:#111;color:var(--light-text);padding:clamp(2rem,4vw,3.7rem)}
.ps-footprint__top,.ps-footprint__bottom{display:flex;justify-content:space-between;gap:1rem;color:rgba(234,243,241,.52);font-family:var(--font-mono);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}
.ps-city{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,.4fr);gap:1.5rem;align-items:center;padding:2rem 0;border-top:1px solid rgba(234,243,241,.16)}
.ps-city:first-of-type{margin-top:2rem}
.ps-city__name{color:var(--light-text);font-family:var(--font-head);font-size:clamp(2.5rem,4.4vw,4rem);font-weight:700;line-height:1}
.ps-city__name span{margin-left:.8rem;color:rgba(234,243,241,.42);font-family:var(--font-mono);font-size:.84rem;letter-spacing:.14em}
.ps-city__role{color:rgba(234,243,241,.48);font-family:var(--font-mono);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}
.ps-city__time{text-align:right;color:var(--light-text);font-family:var(--font-mono);font-size:clamp(1.8rem,3vw,2.7rem);letter-spacing:.04em}
.ps-city__zone{display:block;margin-top:.35rem;color:rgba(234,243,241,.52);font-size:.72rem;text-transform:uppercase}
.ps-scope-panel{background:var(--white);padding:clamp(2rem,4vw,3.7rem)}
.ps-scope-grid{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--line);margin-block:2.3rem}
.ps-scope-cell{padding:1.9rem;border-left:1px solid var(--line);border-top:1px solid var(--line)}
.ps-scope-cell:nth-child(2n+1){border-left:0}
.ps-scope-cell:nth-child(-n+2){border-top:0}
.ps-scope-cell h3{margin:.7rem 0;font-size:1.35rem}
.ps-scope-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-top:1.6rem}

.ps-insights{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.95fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.ps-featured-image{min-height:390px;border:1px solid var(--line);background:linear-gradient(135deg,#eef2f1,#cdd8d6),linear-gradient(90deg,rgba(0,43,73,.11) 1px,transparent 1px) 0 0/80px 100%;position:relative;overflow:hidden}
.ps-featured-image::after{content:"FEATURED \00B7  GEOGRAPHY";position:absolute;left:2rem;top:2rem;background:var(--white);padding:.7rem 1rem;color:var(--ink);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
.ps-featured-image img{position:absolute;left:2rem;bottom:2rem;width:190px;opacity:.18}
.ps-featured h3{margin:1.2rem 0 .85rem;font-size:clamp(2rem,3.2vw,3.25rem);line-height:1.08}
.ps-article-list{border-top:1px solid var(--line)}
.ps-article-row{display:grid;grid-template-columns:90px 1fr 72px;gap:1.4rem;padding:1.6rem 0;border-bottom:1px solid var(--line);align-items:start}
.ps-article-row h3{font-size:1.3rem;line-height:1.2}
.ps-article-row p{margin-top:.55rem}
.ps-article-row .ps-label:last-child{text-align:right}

.ps-news-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.ps-news-card{padding:clamp(2rem,4vw,3rem);border:1px solid var(--line);background:var(--mint-tint)}
.ps-news-card--dark{background:#111;border-color:#111;color:var(--light-text)}
.ps-news-card--dark h3,.ps-news-card--dark .ps-label{color:var(--light-text)}
.ps-news-card--dark p{color:rgba(234,243,241,.68)}
.ps-news-card h3{margin:1.5rem 0 .9rem;font-size:clamp(2rem,3vw,3rem)}
.ps-news-form{display:grid;grid-template-columns:1fr auto;gap:.7rem;margin-top:2.2rem;border-top:1px solid currentColor;padding-top:1.5rem}
.ps-news-form input{min-width:0;border:0;border-bottom:1px solid var(--line);background:transparent;padding:.8rem 0;color:inherit}
.ps-news-card--dark .ps-news-form input{border-color:rgba(234,243,241,.35)}
.ps-news-form input:focus{outline:0;border-color:var(--teal)}

.ps-cta-band{background:var(--mint-tint);padding-block:clamp(4rem,8vw,7rem)}
.ps-cta-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center}
.ps-cta-inner .ps-h2{max-width:11ch}
.ps-cta-actions{text-align:right}
.ps-cta-actions .ps-label{display:block;margin-top:1rem}

.ps-page-hero{padding-block:clamp(4rem,8vw,7rem);background:var(--white);border-bottom:1px solid var(--line)}
.ps-page-hero .ps-split{align-items:center}
.ps-page-hero .ps-lead{margin-top:1.4rem}
.ps-page-hero .ps-actions{margin-top:2rem}
.ps-mini-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}
.ps-mini-stat{padding:1.6rem;border-left:1px solid var(--line)}
.ps-mini-stat:first-child{border-left:0}
.ps-mini-stat strong{display:block;color:var(--teal);font-family:var(--font-head);font-size:2rem;line-height:1.1}
.ps-num-list{border-top:1px solid var(--line)}
.ps-num-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:2rem;padding:2rem 0;border-bottom:1px solid var(--line)}
.ps-process{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}
.ps-process-step{padding:2rem;border-left:1px solid var(--line)}
.ps-process-step:first-child{border-left:0}
.ps-table{width:100%;border-collapse:collapse;border-top:1px solid var(--line)}
.ps-table th,.ps-table td{padding:1.15rem 1rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.ps-table th{color:var(--ink-muted);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
.ps-map{min-height:430px;position:relative;border:1px solid var(--line);background:linear-gradient(135deg,#eef8f5,#d8e9e6)}
.ps-map::before{content:"";position:absolute;inset:12%;border:1px solid rgba(0,43,73,.16);background:linear-gradient(90deg,rgba(0,43,73,.12) 1px,transparent 1px) 0 0/72px 100%,linear-gradient(0deg,rgba(0,43,73,.1) 1px,transparent 1px) 0 0/100% 72px}
.ps-map-point{position:absolute;width:.8rem;height:.8rem;background:var(--teal);border-radius:50%}
.ps-map-point::after{content:attr(data-city);position:absolute;left:1.2rem;top:-.35rem;color:var(--navy);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.ps-map-point--cairo{left:52%;top:54%}
.ps-map-point--dubai{left:61%;top:57%}
.ps-map-point--london{left:43%;top:37%}
.ps-map-point--boston{left:23%;top:39%}
.ps-filter-row{display:flex;flex-wrap:wrap;gap:.8rem;border-block:1px solid var(--line);padding-block:1rem}
.ps-filter-row a{border:1px solid var(--line);padding:.7rem .9rem;color:var(--navy);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.ps-filter-row a:hover{border-color:var(--teal);color:var(--accent-2)}
.ps-service-index{border-top:1px solid var(--line)}
.ps-service-row{display:grid;grid-template-columns:90px 1fr 1.2fr auto;gap:1.6rem;align-items:center;padding:2rem 0;border-bottom:1px solid var(--line)}
.ps-service-row h3{font-size:clamp(1.6rem,3vw,2.7rem)}
.ps-faq-group{margin-top:3rem}
.ps-faq-group:first-child{margin-top:0}
.ps-faq{border-top:1px solid var(--line)}
.ps-faq details{border-bottom:1px solid var(--line)}
.ps-faq summary{position:relative;cursor:pointer;list-style:none;padding:1.35rem 2.5rem 1.35rem 0;color:var(--navy);font-family:var(--font-head);font-size:1.2rem;font-weight:700}
.ps-faq summary::-webkit-details-marker{display:none}
.ps-faq summary::after{content:"+";position:absolute;right:0;color:var(--teal);font-family:var(--font-mono)}
.ps-faq details[open] summary::after{content:"-"}
.ps-faq .ps-answer{max-width:760px;padding:0 0 1.4rem;color:var(--ink-soft)}
.ps-form-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:3rem}
.ps-form{display:grid;gap:1rem}
.ps-form label{display:grid;gap:.4rem;color:var(--ink-muted);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
.ps-form input,.ps-form select,.ps-form textarea{width:100%;border:1px solid var(--line);border-radius:0;background:var(--white);color:var(--navy);padding:.9rem 1rem}
.ps-form input:focus,.ps-form select:focus,.ps-form textarea:focus{outline:0;border-color:var(--teal)}
.ps-contact-tiles{display:grid;border:1px solid var(--line)}
.ps-contact-tile{padding:1.35rem;border-top:1px solid var(--line)}
.ps-contact-tile:first-child{border-top:0}
.ps-contact-tile strong{display:block;color:var(--navy);font-size:1.05rem}

.ps-footer{background:#111;color:rgba(234,243,241,.72);padding-block:clamp(4rem,7vw,6rem) 2rem}
.ps-footer__grid{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:clamp(2rem,4vw,3.5rem)}
.ps-wordmark{color:var(--white);font-family:var(--font-head);font-size:1.7rem;font-weight:700;line-height:1.05}
.ps-wordmark span{color:var(--teal)}
.ps-footer__blurb{max-width:390px;margin-top:1.8rem;color:rgba(234,243,241,.7)}
.ps-footer__offices{display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:2.2rem;color:rgba(234,243,241,.6);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
.ps-footer h4{margin:0 0 1.35rem;color:var(--light-text);font-family:var(--font-head);font-size:1rem}
.ps-footer ul{display:grid;gap:.8rem;list-style:none;margin:0;padding:0}
.ps-footer a{color:rgba(234,243,241,.72)}
.ps-footer a:hover{color:var(--white)}
.ps-footer__bottom{display:flex;justify-content:space-between;gap:1rem;margin-top:4rem;padding-top:2rem;border-top:1px solid rgba(234,243,241,.16);color:rgba(234,243,241,.46);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}

@media (max-width:1100px){
  .ps-menu{gap:1.2rem}
  .ps-language{display:none}
  .ps-stats,.ps-why-grid,.ps-process,.ps-mini-stats{grid-template-columns:repeat(2,1fr)}
  .ps-stat:nth-child(odd),.ps-why-item:nth-child(odd),.ps-process-step:nth-child(odd),.ps-mini-stat:nth-child(odd){border-left:0}
  .ps-stat:nth-child(n+3),.ps-process-step:nth-child(n+3),.ps-mini-stat:nth-child(n+3){border-top:1px solid var(--line)}
  .ps-why-item:nth-child(n+3){border-top:1px solid var(--line-dark)}
  .ps-grid-4{grid-template-columns:repeat(2,1fr)}
  .ps-grid-4 .ps-cell{border-left:1px solid var(--line);border-top:1px solid var(--line)}
  .ps-grid-4 .ps-cell:nth-child(2n+1){border-left:0}
  .ps-grid-4 .ps-cell:nth-child(-n+2){border-top:0}
  .ps-footer__grid{grid-template-columns:1fr 1fr 1fr}
}
@media (max-width:860px){
  body{font-size:16px}
  .ps-nav{grid-template-columns:auto auto;justify-content:space-between}
  .ps-menu{display:none;position:absolute;left:0;right:0;top:100%;background:var(--off-white);border-bottom:1px solid var(--line);padding:1rem var(--pad);align-items:stretch}
  .ps-menu.is-open{display:grid}
  .ps-menu__item{border-top:1px solid var(--line-soft);padding:.85rem 0}
  .ps-submenu{position:static;display:grid;margin-top:.7rem;border:0;background:transparent;padding:0 0 0 1rem}
  .ps-burger{display:inline-flex}
  .ps-nav__right .ps-btn{display:none}
  .ps-hero__grid,.ps-split,.ps-footprint-wrap,.ps-insights,.ps-form-grid,.ps-cta-inner{grid-template-columns:1fr}
  .ps-footprint-wrap{padding-inline:0}
  .ps-scope-footer,.ps-row-between{align-items:flex-start;flex-direction:column}
  .ps-cta-actions{text-align:left}
  .ps-section-head{grid-template-columns:1fr}
  .ps-house{grid-template-columns:1fr}
  .ps-house__source{text-align:left}
  .ps-news-grid{grid-template-columns:1fr}
  .ps-service-row{grid-template-columns:1fr;gap:.8rem}
}
@media (max-width:640px){
  .ps-util__inner{display:grid;gap:.5rem}
  .ps-util__offices{gap:.75rem}
  .ps-brand img{height:42px}
  .ps-display{font-size:clamp(2.55rem,15vw,4rem)}
  .ps-h2{font-size:clamp(2rem,11vw,3.2rem)}
  .ps-stats,.ps-why-grid,.ps-process,.ps-mini-stats,.ps-grid-2,.ps-grid-3,.ps-grid-4,.ps-scope-grid{grid-template-columns:1fr}
  .ps-stat,.ps-stat:first-child,.ps-cell,.ps-cell:nth-child(n),.ps-why-item,.ps-process-step,.ps-mini-stat,.ps-scope-cell{border-left:0}
  .ps-stat:nth-child(n+2),.ps-cell:nth-child(n+2),.ps-process-step:nth-child(n+2),.ps-mini-stat:nth-child(n+2),.ps-scope-cell:nth-child(n+2){border-top:1px solid var(--line)}
  .ps-why-item:nth-child(n+2){border-top:1px solid var(--line-dark)}
  .ps-city{grid-template-columns:1fr}
  .ps-city__time{text-align:left}
  .ps-article-row{grid-template-columns:1fr;gap:.5rem}
  .ps-article-row .ps-label:last-child{text-align:left}
  .ps-news-form{grid-template-columns:1fr}
  .ps-footer__grid{grid-template-columns:1fr}
  .ps-footer__bottom{flex-direction:column}
}

/* ---- real photo helpers ---- */
.ps-photo.has-img::before,.ps-photo.has-img::after{display:none}
.ps-photo.has-img img,.ps-featured-image.has-img img,.ps-map.has-img img{position:absolute;inset:0;left:0;top:0;width:100%;height:100%;max-width:none;object-fit:cover;opacity:1}
.ps-photo.has-img img{z-index:0}
.ps-featured-image.has-img::after{z-index:2}
.ps-featured-image.has-img::before{display:none}
