/*
Theme Name: PSC
Theme URI: https://pantheruae.com
Description: Panther Steel Constructions child theme for GeneratePress — design system, Projects and homepage.
Author: Panther Steel Constructions Contracting LLC
Template: generatepress
Version: 1.0.17
Text Domain: psc
*/

/* ---------- Fonts (self-hosted, no Google requests) ---------- */
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:300;font-display:swap;src:url(fonts/pjs-latin-300.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/pjs-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/pjs-latin-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/pjs-latin-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- Design tokens ---------- */
:root{
  --psc-ink:#14202B;
  --psc-body:#4E5A65;
  --psc-muted:#6B7680;
  --psc-line:#E6E8EA;
  --psc-line-soft:#ECEDEE;
  --psc-sand:#F6F5F2;
  --psc-sand-line:#DCDAD5;
  --psc-ph:#ECEAE6;
  --psc-red:#D90F42;      /* buttons, small red text (passes contrast) */
  --psc-brand:#FF2257;    /* exact logo red, decorative only */
  --psc-green:#1E9E5A;
  --psc-grey-dot:#9AA3AB;
  --psc-radius:18px;
  --psc-radius-lg:24px;
  --psc-max:1280px;
  --psc-gutter:32px;
  --psc-font:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;
}
@media (max-width:768px){:root{--psc-gutter:20px}}

/* ---------- Base ---------- */
body,button,input,select,textarea{font-family:var(--psc-font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{color:var(--psc-ink);background:#fff;font-size:16px;line-height:1.65}
a{color:var(--psc-ink)}
a:hover,a:focus{color:var(--psc-red)}
h1,h2,h3,h4,h5,h6{font-family:var(--psc-font);color:var(--psc-ink);letter-spacing:-0.02em}
h1{font-weight:300;font-size:clamp(38px,5vw,64px);line-height:1.06;letter-spacing:-0.03em}
h2{font-weight:300;font-size:clamp(30px,3.4vw,44px);line-height:1.15;letter-spacing:-0.025em}
h3{font-weight:500;font-size:21px;line-height:1.3;letter-spacing:-0.01em}
.entry-content p,.psc p{color:var(--psc-body)}
::selection{background:var(--psc-brand);color:#fff}
:focus-visible{outline:2px solid var(--psc-red);outline-offset:3px}

.psc-container{max-width:var(--psc-max);margin-inline:auto;padding-inline:var(--psc-gutter);box-sizing:border-box}
.psc-strong{font-weight:500}
.psc-eyebrow{display:block;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--psc-red);font-weight:500;margin:0 0 16px}
.psc-eyebrow--muted{color:var(--psc-muted)}
.psc-lead{font-size:18px;line-height:1.7;color:var(--psc-body)}

/* ---------- Buttons ---------- */
.psc-btn,.wp-block-button__link,button.psc-btn,.entry-content .wp-block-button__link{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;box-sizing:border-box;
  background:var(--psc-red);color:#fff;text-decoration:none;font-weight:500;font-size:15px;line-height:1.2;
  padding:13px 26px;border-radius:999px;border:1px solid var(--psc-red);transition:background .2s,border-color .2s,color .2s}
.psc-btn:hover,.psc-btn:focus,.wp-block-button__link:hover{background:#B80C37;border-color:#B80C37;color:#fff}
.psc-btn--lg{font-size:16px;padding:16px 32px}
.psc-btn--outline{background:transparent;color:var(--psc-ink);border-color:var(--psc-ink)}
.psc-btn--outline:hover,.psc-btn--outline:focus{background:var(--psc-ink);border-color:var(--psc-ink);color:#fff}
.psc-link{font-weight:500;text-decoration:none;color:var(--psc-ink);border-bottom:1px solid var(--psc-ink);padding:10px 0 2px}
.psc-link:hover{color:var(--psc-red);border-color:var(--psc-red)}
.psc-arrow::after{content:" →"}
[dir="rtl"] .psc-arrow::after{content:" ←"}

/* ---------- Utility bar + header ---------- */
.psc-topbar{border-bottom:1px solid var(--psc-line-soft);font-size:13px}
.psc-topbar .psc-container{display:flex;flex-wrap:wrap;gap:4px 28px;justify-content:flex-end}
.psc-topbar a{color:var(--psc-muted);text-decoration:none;padding:9px 0;display:inline-block}
.psc-topbar a:hover{color:var(--psc-red)}

.site-header{background:#fff;border-bottom:1px solid var(--psc-line-soft)}
.site-header .inside-header{max-width:var(--psc-max);padding:16px var(--psc-gutter)}
.psc-logo{display:block;line-height:0}
.psc-logo img{height:34px;width:auto}
.main-navigation,.main-navigation ul ul{background:transparent}
.main-navigation .main-nav ul li a{font-size:15px;font-weight:400;color:var(--psc-ink);padding-inline:18px;line-height:60px}
.main-navigation .main-nav ul li:hover>a,.main-navigation .main-nav ul li.current-menu-item>a,.main-navigation .main-nav ul li.current-menu-ancestor>a,.main-navigation .main-nav ul li[class*="current-menu-"]>a{color:var(--psc-red);background:transparent}
.main-navigation .main-nav ul ul{background:#fff;box-shadow:0 12px 32px rgba(20,32,43,.12);border-radius:12px;padding:8px 0}
.main-navigation .main-nav ul ul li a{line-height:1.4;padding:10px 18px}
.main-navigation .menu-bar-items{margin-inline-start:12px}
.main-navigation .menu-toggle,.main-navigation .menu-bar-item>a{color:var(--psc-ink)}
@media (max-width:768px){
  .psc-header-cta{display:none}
  .main-navigation .main-nav ul li a{line-height:48px}
}

/* ---------- Full-width templates ---------- */
body.psc-full .site.grid-container{max-width:none;padding:0}
body.psc-full .site-content{display:block;padding:0}
body.psc-full .content-area,body.psc-full .site-main{width:auto;margin:0}

/* ---------- Generic sections ---------- */
.psc-section{padding-block:clamp(64px,8vw,112px)}
.psc-section--tight{padding-block:clamp(48px,6vw,80px)}
.psc-section--sand{background:var(--psc-sand)}
.psc-head{display:flex;flex-wrap:wrap;gap:20px 64px;justify-content:space-between;align-items:flex-end;margin-bottom:48px}
.psc-head h2{margin:0;max-width:640px}
.psc-ph{background:var(--psc-ph);color:var(--psc-muted);font-size:13px;display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;box-sizing:border-box}
.psc-media{border-radius:var(--psc-radius);overflow:hidden;display:block;position:relative}
.psc-media img{width:100%;height:100%;object-fit:cover;display:block}

/* ---------- Hero ---------- */
.psc-hero{display:flex;flex-wrap:wrap;gap:56px;align-items:center;padding-block:56px 80px}
.psc-hero__text{flex:1 1 480px;min-width:0;display:flex;flex-direction:column;gap:28px}
.psc-hero__text h1{margin:0}
.psc-hero__text p{margin:0;max-width:500px}
.psc-hero__actions{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center}
.psc-hero__visual{flex:1 1 520px;min-width:0;position:relative}
.psc-hero__visual .psc-media{height:clamp(340px,42vw,560px);border-radius:var(--psc-radius-lg)}
.psc-corner{position:absolute;top:-20px;inset-inline-end:-20px;width:64px;height:61px;pointer-events:none}
[dir="rtl"] .psc-corner{transform:scaleX(-1)}
.psc-onsite{position:absolute;inset-inline-start:24px;bottom:24px;background:#fff;border-radius:16px;padding:16px 20px;box-shadow:0 12px 32px rgba(20,32,43,.12);display:flex;flex-direction:column;gap:4px;max-width:300px;text-decoration:none;color:var(--psc-ink)}
.psc-onsite:hover{color:var(--psc-ink);box-shadow:0 16px 40px rgba(20,32,43,.18)}
.psc-onsite__label{font-size:12px;color:var(--psc-muted);display:flex;align-items:center;gap:8px}
.psc-onsite__title{font-size:15px;font-weight:500;line-height:1.35}
@media (max-width:768px){.psc-corner{width:44px;height:42px;top:-12px;inset-inline-end:-8px}}

.psc-dot{width:8px;height:8px;border-radius:50%;background:var(--psc-grey-dot);display:inline-block;flex:none}
.psc-dot--ongoing{background:var(--psc-green)}

/* ---------- Stats ---------- */
.psc-stats{border-block:1px solid var(--psc-line);display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.psc-stat{padding:36px 28px;display:flex;flex-direction:column;gap:8px;border-inline-start:1px solid var(--psc-line)}
.psc-stat:first-child{border-inline-start:0;padding-inline-start:0}
.psc-stat__value{font-weight:300;font-size:clamp(36px,4vw,48px);letter-spacing:-.03em;line-height:1;color:var(--psc-ink)}
.psc-stat__value em{font-style:normal;color:var(--psc-red)}
.psc-stat__value small{font-size:.5em;color:var(--psc-muted)}
.psc-stat__label{font-size:14px;color:var(--psc-muted)}
@media (max-width:520px){.psc-stat{border-inline-start:0;border-top:1px solid var(--psc-line);padding-inline:0}.psc-stat:first-child{border-top:0}}

/* ---------- Cards (services + projects) ---------- */
.psc-grid{display:grid;gap:48px 28px;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.psc-grid--4{gap:24px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.psc-card{display:flex;flex-direction:column;gap:20px;text-decoration:none;color:var(--psc-ink)}
.psc-card:hover,.psc-card:focus{color:var(--psc-ink)}
.psc-card .psc-media{height:300px;background:var(--psc-ph)}
.psc-card .psc-media img{transition:transform .5s ease}
.psc-card:hover .psc-media img{transform:scale(1.03)}
.psc-card__body{display:flex;flex-direction:column;gap:8px}
.psc-card__meta{font-size:13px;color:var(--psc-muted);display:flex;align-items:center;gap:8px}
.psc-card__title{margin:0;font-weight:500;font-size:21px;letter-spacing:-.01em;line-height:1.3}
.psc-card:hover .psc-card__title{color:var(--psc-red)}
.psc-card__sub{font-size:14px;color:var(--psc-body);margin:0}
.psc-center{display:flex;justify-content:center;margin-top:48px}

/* ---------- Tabs ---------- */
.psc-tabs{display:flex;flex-wrap:wrap;gap:32px;border-bottom:1px solid var(--psc-line);margin:0;padding:0;list-style:none}
.psc-tabs a{display:inline-block;font-size:15px;color:var(--psc-muted);text-decoration:none;padding:12px 0;margin-bottom:-1px;border-bottom:2px solid transparent}
.psc-tabs a:hover{color:var(--psc-ink)}
.psc-tabs a[aria-current="page"]{color:var(--psc-ink);font-weight:500;border-bottom-color:var(--psc-red)}

/* ---------- Split (HSE) ---------- */
.psc-split{display:flex;flex-wrap:wrap;gap:64px;align-items:center}
.psc-split>*{flex:1 1 460px;min-width:0}
.psc-split .psc-media{height:clamp(320px,38vw,520px);border-radius:var(--psc-radius-lg)}
.psc-rows{display:flex;flex-direction:column;margin-top:8px}
.psc-row{display:flex;justify-content:space-between;gap:16px;padding:18px 0;border-top:1px solid var(--psc-sand-line);font-size:16px}
.psc-row:last-child{border-bottom:1px solid var(--psc-sand-line)}
.psc-row span:last-child{color:var(--psc-muted);text-align:end}

/* ---------- Clients ---------- */
.psc-logos{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));border-top:1px solid var(--psc-line);border-inline-start:1px solid var(--psc-line)}
.psc-logos>div{height:110px;border-inline-end:1px solid var(--psc-line);border-bottom:1px solid var(--psc-line);display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;color:var(--psc-muted);font-size:13px}
.psc-logos img{max-height:56px;max-width:140px;width:auto;height:auto;filter:grayscale(1);opacity:.75;transition:filter .3s,opacity .3s}
.psc-logos img:hover{filter:none;opacity:1}

/* ---------- CTA ---------- */
.psc-cta{border-radius:28px;background:var(--psc-sand);padding:clamp(40px,6vw,72px) clamp(28px,5vw,64px);display:flex;flex-wrap:wrap;gap:32px;align-items:center;justify-content:space-between}
.psc-cta h2{margin:0 0 12px;font-size:clamp(28px,3vw,40px)}
.psc-cta p{margin:0;max-width:640px}

/* ---------- Footer ---------- */
.psc-footer{border-top:1px solid var(--psc-line);font-size:14px;color:var(--psc-body);background:#fff}
.psc-footer__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:40px;padding-block:72px 40px}
.psc-footer__col{display:flex;flex-direction:column;gap:12px}
.psc-footer__col strong{color:var(--psc-ink);font-weight:600}
.psc-footer a{color:var(--psc-body);text-decoration:none}
.psc-footer a:hover{color:var(--psc-red)}
.psc-footer__logo img{width:300px;max-width:100%;height:auto;display:block}
.psc-footer__bottom{border-top:1px solid var(--psc-line);padding-block:24px 40px;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;font-size:13px;color:var(--psc-muted)}
.site-footer{display:none}

/* ---------- Single project ---------- */
.psc-crumbs{font-size:13px;color:var(--psc-muted);display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}
.psc-crumbs a{color:var(--psc-muted);text-decoration:none}
.psc-crumbs a:hover{color:var(--psc-red)}
.psc-project-head{padding-block:48px 40px}
.psc-project-head h1{margin:16px 0 0;max-width:900px;font-size:clamp(34px,4.6vw,60px)}
.psc-status{font-size:13px;color:var(--psc-muted);display:inline-flex;align-items:center;gap:8px}
.psc-facts{border-block:1px solid var(--psc-line);display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:40px}
.psc-fact{padding:22px 24px;display:flex;flex-direction:column;gap:6px;border-inline-start:1px solid var(--psc-line)}
.psc-fact:first-child{border-inline-start:0;padding-inline-start:0}
.psc-fact__k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--psc-muted)}
.psc-fact__v{font-size:17px;font-weight:500;color:var(--psc-ink)}
@media (max-width:520px){.psc-fact{border-inline-start:0;border-top:1px solid var(--psc-line);padding-inline:0}.psc-fact:first-child{border-top:0}}
.psc-project-hero{position:relative}
.psc-project-hero .psc-media{height:clamp(300px,45vw,620px);border-radius:var(--psc-radius-lg);background:var(--psc-ph)}
.psc-overview{display:flex;flex-wrap:wrap;gap:64px;align-items:flex-start}
.psc-overview__main{flex:999 1 560px;min-width:0}
.psc-overview__main .psc-intro{font-weight:300;font-size:clamp(22px,2.4vw,28px);line-height:1.5;letter-spacing:-.01em;color:var(--psc-ink)}
.psc-overview__main .entry-content>*:first-child{margin-top:0}
.psc-list{margin:24px 0 0;padding:0;list-style:none}
.psc-list li{padding:16px 0;border-top:1px solid var(--psc-line);font-size:16px}
.psc-list li:last-child{border-bottom:1px solid var(--psc-line)}
.psc-aside{flex:1 1 320px;background:var(--psc-sand);border-radius:20px;padding:36px;display:flex;flex-direction:column;gap:16px;box-sizing:border-box}
.psc-aside h2{font-size:24px;font-weight:400;line-height:1.3;margin:0}
.psc-aside p{margin:0;font-size:15px}
.psc-progress{background:#fff;border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;gap:6px;font-size:14px}
.psc-progress strong{font-weight:500;color:var(--psc-ink);font-size:15px}
.psc-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}
.psc-gallery a{border-radius:var(--psc-radius);overflow:hidden;display:block;height:300px;background:var(--psc-ph)}
.psc-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.psc-gallery a:hover img{transform:scale(1.03)}
.psc-adjacent{border-top:1px solid var(--psc-line);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.psc-adjacent a{text-decoration:none;color:var(--psc-ink);padding:32px 0;display:flex;flex-direction:column;gap:8px}
.psc-adjacent a+a{border-inline-start:1px solid var(--psc-line);padding-inline-start:32px;text-align:end}
.psc-adjacent small{font-size:13px;color:var(--psc-muted)}
.psc-adjacent span{font-size:22px;letter-spacing:-.015em}
.psc-adjacent a:hover span{color:var(--psc-red)}

/* ---------- Archive ---------- */
.psc-archive-head{padding-block:56px 40px;display:flex;flex-wrap:wrap;gap:24px 64px;justify-content:space-between;align-items:flex-end}
.psc-archive-head h1{margin:0}
.psc-pagination{display:flex;gap:8px;justify-content:center;margin-top:56px}
.psc-pagination .page-numbers{min-width:44px;height:44px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid var(--psc-line);color:var(--psc-ink);padding:0 14px;box-sizing:border-box}
.psc-pagination .current{background:var(--psc-ink);border-color:var(--psc-ink);color:#fff}
.psc-empty{padding:48px 0;color:var(--psc-muted)}

/* ---------- Ordinary pages ---------- */
body:not(.psc-full) .site-content{padding-block:56px}
body:not(.psc-full) .inside-article{padding:0}
body:not(.psc-full) .entry-title{font-weight:300;font-size:clamp(34px,4.6vw,56px);margin-bottom:32px}
.separate-containers .inside-article,.one-container .site-content{background:transparent}

/* Facts strip: two columns on phones */
@media (max-width:520px){.psc-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.psc-fact{padding:16px 12px 16px 0;border-top:1px solid var(--psc-line);border-inline-start:0}.psc-fact:nth-child(-n+2){border-top:0}.psc-fact__v{font-size:15px}}

/* ---------- Quote form ---------- */
.psc-form{display:flex;flex-direction:column;gap:28px;max-width:860px}
.psc-form fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:18px}
.psc-form legend{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--psc-red);font-weight:500;margin-bottom:16px;padding:0}
.psc-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
@media (max-width:640px){.psc-form__grid{grid-template-columns:1fr}}
.psc-form label{display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--psc-ink);font-weight:500}
.psc-form label abbr{color:var(--psc-red);text-decoration:none}
.psc-form input[type=text],.psc-form input[type=email],.psc-form input[type=tel],.psc-form input[type=url],.psc-form select,.psc-form textarea{
  width:100%;box-sizing:border-box;font:inherit;font-weight:400;font-size:16px;color:var(--psc-ink);background:#fff;
  border:1px solid #D5DADF;border-radius:12px;padding:13px 16px;min-height:50px;transition:border-color .2s,box-shadow .2s}
.psc-form textarea{min-height:140px;resize:vertical}
.psc-form input:focus,.psc-form select:focus,.psc-form textarea:focus{outline:0;border-color:var(--psc-ink);box-shadow:0 0 0 3px rgba(20,32,43,.08)}
.psc-form small{font-weight:400;color:var(--psc-muted);font-size:13px}
.psc-form__checks{display:flex;flex-wrap:wrap;gap:10px}
.psc-form__checks>span{flex-basis:100%;font-size:14px;font-weight:500}
.psc-check{flex-direction:row!important;align-items:center;gap:8px!important;border:1px solid #D5DADF;border-radius:999px;padding:10px 16px;font-weight:400!important;cursor:pointer;min-height:44px;box-sizing:border-box}
.psc-check:has(input:checked){border-color:var(--psc-ink);background:var(--psc-sand)}
.psc-check input{accent-color:var(--psc-red);width:16px;height:16px;margin:0}
.psc-form .psc-btn{align-self:flex-start;border:0;cursor:pointer}
.psc-form__note{font-size:13px;color:var(--psc-muted);margin:-12px 0 0}
.psc-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.psc-notice{border-radius:14px;padding:16px 20px;margin-bottom:24px;font-size:15px}
.psc-notice--ok{background:#E8F5EE;color:#14532D}
.psc-notice--err{background:#FDECEF;color:#8A0F2C}

/* Footer: warm light grey with a thin brand-red top line */
.psc-footer{background:var(--psc-sand);border-top:3px solid var(--psc-red)}
.psc-footer__bottom{border-top-color:var(--psc-sand-line)}



/* ---------- Header v2: one slim bar ---------- */
.psc-topbar{display:none}
.site-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #ECEDEE;box-shadow:none;transition:box-shadow .25s ease}
.site-header.is-scrolled{box-shadow:0 8px 24px rgba(20,32,43,.08);border-bottom-color:transparent}
body.admin-bar .site-header{top:32px}
@media (max-width:782px){body.admin-bar .site-header{top:46px}}
@media (max-width:600px){body.admin-bar .site-header{top:0}}
.site-header .inside-header{padding-block:12px;align-items:center}
.psc-logo img{height:30px;width:auto}

/* Desktop: logo left, menu centred, quote button right */
@media (min-width:769px){
  #site-navigation{flex:1 1 auto;margin-inline-start:40px}
  #site-navigation .inside-navigation{display:flex;align-items:center;width:100%;padding:0}
  #site-navigation .main-nav{margin-inline:auto}
}
.main-navigation .main-nav ul li a{font-size:15px;font-weight:500;color:#14202B;line-height:52px;padding-inline:16px;position:relative}
.main-navigation .main-nav ul li a::after{content:"";position:absolute;left:16px;right:16px;bottom:12px;height:2px;border-radius:2px;background:#D90F42;transform:scaleX(0);transform-origin:center;transition:transform .2s ease}
.main-navigation .main-nav ul li:hover>a,.main-navigation .main-nav ul li[class*="current-menu-"]>a{color:#14202B;background:transparent}
.main-navigation .main-nav ul li:hover>a::after,.main-navigation .main-nav ul li[class*="current-menu-"]>a::after{transform:scaleX(1)}
.main-navigation .menu-bar-items .psc-header-cta>a.psc-btn{line-height:1.2;padding:11px 22px;min-height:44px;color:#fff;background:#D90F42;font-size:15px;margin:0}
.main-navigation .menu-bar-items .psc-header-cta>a.psc-btn:hover{background:#B80C37;color:#fff}

/* Mobile and tablet: logo, compact quote button, clean menu icon */
@media (max-width:768px){
  .psc-logo img{height:26px}
  .psc-header-cta{display:inline-flex!important}
  .main-navigation .menu-bar-items .psc-header-cta>a.psc-btn{padding:9px 16px;min-height:40px;font-size:14px}
  .main-navigation .menu-toggle,.main-navigation .menu-toggle:hover,.main-navigation .menu-toggle:focus{background:transparent!important;color:#14202B!important;padding-inline:10px 0;line-height:44px}
  .main-navigation .menu-toggle .gp-icon svg{width:22px;height:22px}
  .main-navigation.toggled .main-nav ul{border-top:1px solid #ECEDEE}
  .main-navigation.toggled .main-nav ul li a{line-height:52px;padding-inline:4px;border-bottom:1px solid #ECEDEE;font-size:16px}
  .main-navigation.toggled .main-nav ul li a::after{display:none}
  .main-navigation.toggled .main-nav ul li[class*="current-menu-"]>a{color:#D90F42}
}

/* ---------- Full-width photo hero ---------- */
.psc-hero-full{position:relative;display:flex;align-items:flex-end;min-height:clamp(560px,80vh,760px);background:#1B2530;color:#fff;overflow:hidden}
.psc-hero-full__img{position:absolute;inset:0}
.psc-hero-full__img img{width:100%;height:100%;object-fit:cover;object-position:center 45%;display:block}
.psc-hero-full::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(12,18,25,.82) 0%,rgba(12,18,25,.58) 42%,rgba(12,18,25,.12) 100%),linear-gradient(0deg,rgba(12,18,25,.45) 0%,rgba(12,18,25,0) 45%)}
.psc-hero-full__inner{position:relative;z-index:2;width:100%;padding-block:120px clamp(64px,9vw,104px);display:flex;flex-direction:column;gap:24px}
.psc-hero-full__inner>*{max-width:640px}
.psc-hero-full h1{color:#fff;margin:0}
.psc-hero-full .psc-strong{font-weight:500}
.psc-hero-full__eyebrow{color:#FF8099;margin:0}
.psc-hero-full__lead{margin:0;font-size:18px;line-height:1.7;color:rgba(255,255,255,.88)}
.psc-link--light{color:#fff;border-bottom-color:rgba(255,255,255,.8)}
.psc-link--light:hover,.psc-link--light:focus{color:#fff;border-bottom-color:#fff}
@media (max-width:768px){
  .psc-hero-full{min-height:clamp(520px,88vh,680px)}
  .psc-hero-full::after{background:linear-gradient(180deg,rgba(12,18,25,.30) 0%,rgba(12,18,25,.55) 40%,rgba(12,18,25,.88) 100%)}
  .psc-hero-full__inner{padding-block:96px 48px;gap:20px}
  .psc-hero-full__lead{font-size:16px}
}

/* ---------- Currently-on-site strip ---------- */
.psc-onsite-strip{background:#fff;border-bottom:1px solid var(--psc-line)}
.psc-onsite-strip__inner{display:flex;align-items:center;gap:20px 32px;padding-block:18px}
.psc-onsite-strip__label{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--psc-ink);white-space:nowrap;flex:none}
.psc-onsite-strip__items{display:flex;gap:28px;flex:1;min-width:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.psc-onsite-strip__items::-webkit-scrollbar{display:none}
.psc-onsite-item{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--psc-ink);scroll-snap-align:start;flex:none;max-width:320px}
.psc-onsite-item__thumb{width:52px;height:52px;border-radius:10px;overflow:hidden;flex:none;background:var(--psc-ph)}
.psc-onsite-item__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.psc-onsite-item__text{display:flex;flex-direction:column;min-width:0}
.psc-onsite-item__title{font-size:14px;font-weight:500;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.psc-onsite-item__sub{font-size:12px;color:var(--psc-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.psc-onsite-item:hover .psc-onsite-item__title{color:var(--psc-red)}
.psc-onsite-strip__all{font-size:14px;font-weight:500;text-decoration:none;color:var(--psc-ink);white-space:nowrap;flex:none}
.psc-onsite-strip__all:hover{color:var(--psc-red)}
@media (max-width:900px){
  .psc-onsite-strip__inner{flex-wrap:wrap;gap:12px 16px;padding-block:16px}
  .psc-onsite-strip__items{order:3;flex-basis:100%;gap:20px}
  .psc-onsite-strip__all{margin-inline-start:auto}
}

/* ---------- Stats: more authority ---------- */
.psc-stat__value{font-size:clamp(40px,5vw,60px);font-weight:400;letter-spacing:-.035em}
.psc-stat__label{font-size:15px}
.psc-count{font-variant-numeric:tabular-nums}

/* ---------- Project cards: hover ---------- */
.psc-card .psc-media{transition:transform .35s ease,box-shadow .35s ease}
.psc-card:hover .psc-media,.psc-card:focus-visible .psc-media{transform:translateY(-4px);box-shadow:0 14px 32px rgba(20,32,43,.14)}
.psc-card__more{font-size:14px;font-weight:500;color:var(--psc-red);margin-top:4px}
@media (hover:hover){
  .psc-card__more{opacity:0;transform:translateY(4px);transition:opacity .25s ease,transform .25s ease}
  .psc-card:hover .psc-card__more,.psc-card:focus-visible .psc-card__more{opacity:1;transform:none}
}

/* ---------- Fade-up on scroll (only when JS is on and motion is allowed) ---------- */
.psc-js-reveal .psc-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.psc-js-reveal .psc-reveal.is-in{opacity:1;transform:none}
/* Hero readability: deeper shade behind the text */
.psc-hero-full::after{background:linear-gradient(90deg,rgba(12,18,25,.88) 0%,rgba(12,18,25,.7) 40%,rgba(12,18,25,.2) 100%),linear-gradient(0deg,rgba(12,18,25,.55) 0%,rgba(12,18,25,0) 50%)}
.psc-hero-full h1,.psc-hero-full__lead{text-shadow:0 1px 2px rgba(0,0,0,.25)}
@media (max-width:768px){.psc-hero-full::after{background:linear-gradient(180deg,rgba(12,18,25,.35) 0%,rgba(12,18,25,.72) 35%,rgba(12,18,25,.92) 100%)}}
/* Stats: two columns on phones */
@media (max-width:520px){.psc-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.psc-stat{padding:24px 12px 24px 0;border-top:1px solid var(--psc-line);border-inline-start:0}.psc-stat:nth-child(-n+2){border-top:0}.psc-stat__value{font-size:38px}}
/* Hero text: stronger contrast */
.psc-hero-full::after{background:linear-gradient(90deg,rgba(12,18,25,.92) 0%,rgba(12,18,25,.82) 36%,rgba(12,18,25,.45) 62%,rgba(12,18,25,.15) 100%),linear-gradient(0deg,rgba(12,18,25,.6) 0%,rgba(12,18,25,0) 55%)}
.psc-hero-full__lead{color:#fff;font-weight:400;text-shadow:0 1px 3px rgba(0,0,0,.55);max-width:560px}
.psc-hero-full h1{text-shadow:0 2px 6px rgba(0,0,0,.35)}
@media (max-width:768px){.psc-hero-full::after{background:linear-gradient(180deg,rgba(12,18,25,.45) 0%,rgba(12,18,25,.82) 32%,rgba(12,18,25,.95) 100%)}}
/* Hero paragraph must stay white (beats the general grey body-text rule) */
.psc .psc-hero-full__lead,.psc-hero-full p{color:#fff}

/* ---------- Hero v2: clear photo, glass panel for the text ---------- */
.psc-hero-full::after{background:linear-gradient(0deg,rgba(12,18,25,.35) 0%,rgba(12,18,25,0) 50%)}
.psc-hero-full__inner{display:block;padding-block:96px clamp(56px,8vw,88px)}
.psc-hero-full__inner>*{max-width:none}
.psc-hero-full__panel{max-width:620px;display:flex;flex-direction:column;gap:22px;padding:36px 40px;border-radius:24px;
  background:rgba(10,16,24,.62);-webkit-backdrop-filter:blur(14px) saturate(120%);backdrop-filter:blur(14px) saturate(120%);
  border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 60px rgba(0,0,0,.25)}
.psc-hero-full h1,.psc-hero-full__lead{text-shadow:none}
.psc-hero-full__lead{max-width:none}
@media (max-width:768px){
  .psc-hero-full::after{background:linear-gradient(0deg,rgba(12,18,25,.5) 0%,rgba(12,18,25,0) 60%)}
  .psc-hero-full{min-height:clamp(560px,92vh,720px)}
  .psc-hero-full__inner{padding-block:260px 32px}
  .psc-hero-full__panel{padding:26px 22px;gap:16px;border-radius:18px;background:rgba(10,16,24,.7)}
}
/* Phones: crop the sky so the building shows above the panel.
   v1.0.11 (B1): the old 135% rule did apply but the img stayed anchored at top:0, so it showed MORE sky.
   Fix = oversize the img and pull it up so the visible band is ~1/3 to ~9/10 of the photo. */
@media (max-width:768px){
  .psc-hero-full{min-height:clamp(520px,72vh,640px)}
  .psc-hero-full__inner{padding-block:210px 24px}
  .psc-hero-full__img img{position:absolute;height:160%;top:-52%;object-position:center center}
}
@media (min-width:521px) and (max-width:768px){.psc-hero-full__img img{height:130%;top:-26%}}

/* ---------- Hero v3: wide low strip at the bottom of the photo (approved 13 Oct 2026) ---------- */
@media (min-width:769px){
  .psc-hero-full__inner{padding-block:110px 40px}
  .psc-hero-full__panel{max-width:none;width:100%;display:grid;grid-template-columns:1.1fr 1fr;grid-template-areas:"eyebrow eyebrow" "title lead" "title actions";column-gap:48px;row-gap:12px;padding:26px 36px;border-radius:20px;align-items:start}
  .psc-hero-full__eyebrow{grid-area:eyebrow}
  .psc-hero-full h1{grid-area:title;font-size:clamp(32px,3.4vw,46px);line-height:1.08}
  .psc-hero-full__lead{grid-area:lead;font-size:16px;line-height:1.6;align-self:end}
  .psc-hero__actions{grid-area:actions}
}
.psc-hero-full .psc-hero__actions .psc-btn{display:none}

/* ---------- "Currently on site": pulsing live dot (approved 13 Oct 2026) ---------- */
.psc-dot--ongoing{position:relative;width:10px;height:10px;background:#16A34A;box-shadow:0 0 0 2px rgba(22,163,74,.18)}
.psc-dot--ongoing::before{content:"";position:absolute;inset:-3px;border-radius:50%;border:2px solid #16A34A;opacity:0;animation:pscPulse 1.8s ease-out infinite}
@keyframes pscPulse{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.2);opacity:0}}
@media (prefers-reduced-motion:reduce){.psc-dot--ongoing::before{animation:none}}

/* =====================================================================
   v1.0.11 — Phase 2 components (B8–B13). White, calm, PSC tokens.
   ===================================================================== */

/* ---------- Hero v4: split layout on white (B8) ---------- */
.psc-hero2{background:#fff;padding-block:clamp(40px,5vw,72px) clamp(40px,5vw,64px);border-bottom:1px solid var(--psc-line)}
.psc-hero2__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-areas:"text visual" "tiles visual";column-gap:clamp(32px,5vw,72px);row-gap:40px;align-items:start}
.psc-hero2__text{grid-area:text;display:flex;flex-direction:column;gap:22px;padding-top:12px}
.psc-hero2__text h1{margin:0;max-width:640px;font-size:clamp(38px,4.6vw,66px)}
.psc-hero2__text .psc-eyebrow{margin:0}
.psc-hero2__lead{margin:0;max-width:520px}
.psc-hero2__text .psc-hero__actions{margin-top:6px}
.psc-hero2__visual{grid-area:visual;position:relative;align-self:stretch;min-height:420px}
.psc-hero2__visual .psc-media{height:100%;min-height:420px;border-radius:var(--psc-radius-lg);background:var(--psc-ph)}
.psc-hero2__tiles{grid-area:tiles;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0 28px;border-top:1px solid var(--psc-line)}
.psc-hero2__tiles li+li .psc-tile{border-inline-start:1px solid var(--psc-line);padding-inline-start:24px;margin-inline-start:-28px}
.psc-tile{display:flex;flex-direction:column;gap:6px;padding:20px 0 4px;text-decoration:none;color:var(--psc-ink)}
.psc-tile__label{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--psc-muted)}
.psc-tile__title{font-size:19px;font-weight:500;letter-spacing:-.01em;line-height:1.3}
.psc-tile__sub{font-size:14px;color:var(--psc-body);line-height:1.45}
.psc-tile:hover .psc-tile__title{color:var(--psc-red)}
@media (max-width:900px){
  /* Phones: headline first so H1 + lead + link sit above the fold (B1 acceptance), photo second. */
  .psc-hero2{padding-block:32px 40px;border-bottom:0}
  .psc-hero2__grid{grid-template-columns:1fr;grid-template-areas:"text" "visual" "tiles";row-gap:28px}
  .psc-hero2__visual{min-height:0}
  .psc-hero2__visual .psc-media{min-height:0;aspect-ratio:4/3;max-height:62vh;border-radius:var(--psc-radius)}
  .psc-hero2__visual .psc-media img{object-position:center 65%}
  .psc-hero2__visual .psc-corner{width:44px;height:42px;top:-12px;inset-inline-end:4px}
  .psc-hero2__text{padding-top:0;gap:16px}
  .psc-hero2__text h1{font-size:clamp(34px,10vw,44px)}
  .psc-hero2__tiles{grid-template-columns:1fr}
  .psc-hero2__tiles li+li .psc-tile{border-inline-start:0;padding-inline-start:0;margin-inline-start:0;border-top:1px solid var(--psc-line)}
  .psc-tile{padding:14px 0}
}
/* Old full-bleed hero classes stay in the file for safety but are no longer rendered (removed from front-page.php in v1.0.11). */

/* ---------- Stats: five across on desktop ---------- */
@media (min-width:1024px){.psc-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}
.psc-stat__value{white-space:nowrap}
.psc-stat__value small{font-size:.42em;margin-inline-start:4px;letter-spacing:0}
.psc-stats:has(> :nth-child(5)) .psc-stat__value{font-size:clamp(34px,3.6vw,50px)}
.psc-stats:has(> :nth-child(5)) .psc-stat{padding-inline:20px}
.psc-stats:has(> :nth-child(5)) .psc-stat:first-child{padding-inline-start:0}

/* ---------- Services: numbered list (B9) ---------- */
.psc-services{list-style:none;margin:0;padding:0;border-top:1px solid var(--psc-line)}
.psc-service{display:grid;grid-template-columns:64px minmax(0,4fr) minmax(0,7fr);gap:12px 32px;align-items:baseline;padding:28px 0;border-bottom:1px solid var(--psc-line);text-decoration:none;color:var(--psc-ink)}
.psc-service__n{font-size:15px;font-weight:500;color:var(--psc-red);letter-spacing:.06em;font-variant-numeric:tabular-nums}
.psc-service__title{font-size:clamp(22px,2.4vw,30px);font-weight:300;letter-spacing:-.02em;line-height:1.2}
.psc-service__text{font-size:16px;line-height:1.6;color:var(--psc-body)}
.psc-service:hover .psc-service__title,.psc-service:focus-visible .psc-service__title{color:var(--psc-red)}
@media (max-width:768px){.psc-service{grid-template-columns:44px minmax(0,1fr);gap:6px 16px}.psc-service__text{grid-column:2}}

/* ---------- Project cards: area · height (B11) ---------- */
.psc-card__figs{font-size:14px;font-weight:500;color:var(--psc-ink);font-variant-numeric:tabular-nums;margin-top:2px}

/* ---------- Projects listing: chips, filters, totals (B11) ---------- */
.psc-archive-head{display:block;padding-block:48px 24px}
.psc-archive-head__lead{margin:16px 0 0;max-width:640px}
.psc-chips{display:flex;flex-wrap:wrap;gap:8px}
.psc-chip{display:inline-flex;align-items:center;min-height:40px;padding:8px 16px;border:1px solid var(--psc-line);border-radius:999px;font-size:14px;font-weight:500;color:var(--psc-ink);background:#fff;text-decoration:none;cursor:pointer;line-height:1.2;transition:border-color .2s,background .2s,color .2s}
.psc-chip:hover,.psc-chip:focus-visible{border-color:var(--psc-ink);color:var(--psc-ink)}
.psc-chip[aria-current="page"]{background:var(--psc-ink);border-color:var(--psc-ink);color:#fff}
.psc-filters{border-block:1px solid var(--psc-line);padding-block:16px;margin-bottom:8px}
.psc-filters__body{display:flex;flex-direction:column;gap:12px}
.psc-filters__toggle{margin-bottom:12px}
@media (min-width:769px){.psc-filters__toggle{display:none!important}}
@media (max-width:768px){
  .psc-filters--js:not(.is-open) .psc-filters__body{display:none}
  .psc-filters--js.is-open .psc-filters__toggle{background:var(--psc-ink);border-color:var(--psc-ink);color:#fff}
}
.psc-totals{font-size:14px;color:var(--psc-muted);font-variant-numeric:tabular-nums;margin:16px 0 28px}

/* ---------- Project page: related + adjacent spacing (B12) ---------- */
.psc-adjacent{margin-top:0}
.psc .psc-section--sand .psc-head{margin-bottom:32px}

/* ---------- Quote desk (B13) ---------- */
.psc-desk{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:32px;align-items:start}
.psc-desk__form{max-width:none;border:1px solid var(--psc-line);border-radius:var(--psc-radius-lg);padding:clamp(20px,3vw,36px);gap:24px}
.psc-desk__head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--psc-line)}
.psc-desk__title{display:block;font-size:clamp(22px,2.4vw,28px);font-weight:300;letter-spacing:-.02em;color:var(--psc-ink)}
.psc-desk__ready{margin:0;text-align:end;font-size:13px;color:var(--psc-muted);display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}
.psc-desk__pct{font-size:28px;font-weight:400;color:var(--psc-ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.psc-desk__steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--psc-line);border-radius:12px;overflow:hidden}
.psc-desk__steps button{font:inherit;font-size:14px;font-weight:500;min-height:44px;background:#fff;border:0;color:var(--psc-muted);cursor:pointer;padding:0 8px}
.psc-desk__steps button+button{border-inline-start:1px solid var(--psc-line)}
.psc-desk__steps button[aria-selected="true"]{background:var(--psc-ink);color:#fff}
.psc-desk__bar{height:4px;background:var(--psc-line);border-radius:4px;overflow:hidden;margin-top:-12px}
.psc-desk__bar-fill{height:100%;background:var(--psc-red);transition:width .25s ease}
.psc-desk__form--js .psc-step legend{margin-bottom:8px}
.psc-desk__form--js .psc-step[hidden]{display:none}
.psc-desk__summary{margin:0;font-size:14px;color:var(--psc-ink);font-weight:500;padding:12px 16px;background:var(--psc-sand);border-radius:12px}
.psc-desk__actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.psc-desk__actions .psc-btn{align-self:auto}
.psc-form__error{color:#B80C37;font-size:13px;font-weight:400}
.psc-form [aria-invalid="true"]{border-color:#B80C37!important}
.psc-desk__aside{display:flex;flex-direction:column;gap:16px;position:sticky;top:96px}
.psc-desk__box{border:1px solid var(--psc-line);border-radius:var(--psc-radius);padding:24px;display:flex;flex-direction:column;gap:12px}
.psc-desk__box--sand{background:var(--psc-sand);border-color:var(--psc-sand)}
.psc-desk__box .psc-eyebrow{margin:0}
.psc-plain{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:15px;color:var(--psc-body)}
.psc-plain a{text-decoration:none;color:var(--psc-ink);font-weight:500}
.psc-plain a:hover{color:var(--psc-red)}
@media (max-width:900px){.psc-desk{grid-template-columns:1fr}.psc-desk__aside{position:static}}
@media (max-width:520px){.psc-desk__steps button{font-size:13px}.psc-desk__head{flex-direction:row}.psc-desk__pct{font-size:22px}}

/* ---------- Services page: anchored sections (B10, content via REST) ---------- */
.psc-svc-nav{margin:24px 0 8px}
.psc-svc{border-top:1px solid var(--psc-line);margin-top:24px}
.psc-svc__item{display:grid;grid-template-columns:72px minmax(0,5fr) minmax(0,6fr);gap:16px 40px;padding:clamp(36px,4vw,56px) 0;border-bottom:1px solid var(--psc-line);scroll-margin-top:96px}
.psc-svc__n{font-size:clamp(28px,3vw,40px);font-weight:300;color:var(--psc-red);line-height:1;letter-spacing:-.02em}
.psc-svc__lead h2{margin:0 0 12px;font-size:clamp(26px,3vw,38px)}
.psc-svc__lead p{margin:0;font-size:17px;line-height:1.6;color:var(--psc-body)}
.psc-svc__body p{margin:0 0 16px}
.psc-svc__list{list-style:none;margin:0 0 16px;padding:0}
.psc-svc__list li{padding:10px 0;border-top:1px solid var(--psc-line);font-size:15px;display:flex;gap:12px;align-items:center}
.psc-svc__list li::before{content:"";width:16px;height:1px;background:var(--psc-red);flex:none}
.psc-svc__meta{font-size:14px;color:var(--psc-muted)}
.psc-svc__meta strong{color:var(--psc-ink);font-weight:500}
.psc-svc__where{margin-top:clamp(40px,5vw,64px);max-width:720px}
.psc-svc__where h2{margin:0 0 12px}
@media (max-width:768px){.psc-svc__item{grid-template-columns:48px minmax(0,1fr)}.psc-svc__body{grid-column:2}}

/* ---------- v1.0.12 fixes ---------- */
/* hidden attribute must beat the display rules on buttons and steps */
.psc-desk [hidden]{display:none!important}
/* With JS the step tabs carry the step names; keep the legend for screen readers only */
.psc-desk__form--js .psc-step legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* Project facts on phones: stacked key / value column (from the PAK Georgia profile layout) */
@media (max-width:520px){
  .psc-facts{display:flex;flex-direction:column;margin-bottom:32px}
  .psc-fact{flex-direction:row;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;border-top:1px solid var(--psc-line);border-inline-start:0}
  .psc-fact:first-child{border-top:0}
  .psc-fact__v{text-align:end;font-size:15px}
}

/* ---------- v1.0.13: quote desk on sand, general enquiry form ---------- */
.psc-desk__form{background:var(--psc-sand);border-color:var(--psc-sand)}
.psc-desk__form .psc-desk__head{border-bottom-color:var(--psc-sand-line)}
.psc-desk__form .psc-desk__steps,.psc-desk__form .psc-desk__steps button{background:#fff}
.psc-desk__form .psc-desk__steps button[aria-selected="true"]{background:var(--psc-ink)}
.psc-desk__form .psc-desk__bar{background:var(--psc-sand-line)}
.psc-desk__form .psc-desk__summary{background:#fff}
.psc-desk__form .psc-check{background:#fff}
.psc-desk__box--sand{background:#fff;border-color:var(--psc-line)}
.psc-contact{margin-top:clamp(40px,5vw,64px);max-width:860px}
.psc-contact__form{border:1px solid var(--psc-line);border-radius:var(--psc-radius-lg);padding:clamp(20px,3vw,36px)}
.psc-contact__form .psc-form__grid label:last-child{grid-column:1/-1}
/* Stats: a year must not count up from zero */

/* =====================================================================
   v1.0.14 — bigger hero, "How a job starts", long-form sections with
   side labels (D1), erection sequence (B42), branded 404 (B18).
   ===================================================================== */

/* ---------- Hero: photo takes half the page and bleeds to the right edge ---------- */
@media (min-width:901px){
  .psc-hero2__grid{grid-template-columns:minmax(0,6fr) minmax(0,6fr);column-gap:clamp(32px,4vw,56px)}
  .psc-hero2__visual{margin-inline-end:calc(-1 * max(0px,(100vw - var(--psc-max)) / 2))}
  .psc-hero2__visual .psc-media{min-height:560px;border-start-end-radius:0;border-end-end-radius:0}
  .psc-hero2__visual .psc-media img{object-position:center 60%}
  .psc-hero2__visual .psc-corner{inset-inline-end:auto;inset-inline-start:-20px;transform:scaleX(-1)}
  [dir="rtl"] .psc-hero2__visual{margin-inline-end:0;margin-inline-start:calc(-1 * max(0px,(100vw - var(--psc-max)) / 2))}
  .psc-hero2__tiles{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
}
@media (min-width:1441px){.psc-hero2__visual{margin-inline-end:calc(-1 * max(0px,(100vw - var(--psc-max)) / 2 - 24px))}}

/* ---------- How a job starts (B14) ---------- */
.psc-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border-top:1px solid var(--psc-sand-line);counter-reset:psc-step}
.psc-step-card{display:flex;flex-direction:column;gap:12px;padding:28px 24px 8px 0;border-inline-end:1px solid var(--psc-sand-line);margin-inline-end:24px;position:relative}
.psc-step-card:last-child{border-inline-end:0;margin-inline-end:0}
.psc-step-card__n{font-size:clamp(28px,3vw,40px);font-weight:300;letter-spacing:-.02em;color:var(--psc-red);line-height:1;font-variant-numeric:tabular-nums}
.psc-step-card__title{font-size:18px;font-weight:500;letter-spacing:-.01em;line-height:1.3;color:var(--psc-ink)}
.psc-step-card__text{font-size:15px;line-height:1.6;color:var(--psc-body)}
@media (max-width:1100px){.psc-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.psc-step-card:nth-child(3n){border-inline-end:0;margin-inline-end:0}.psc-step-card:nth-child(n+4){border-top:1px solid var(--psc-sand-line)}}
@media (max-width:640px){
  .psc-steps{grid-template-columns:1fr;border-top:0}
  .psc-step-card,.psc-step-card:nth-child(3n){display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px 16px;padding:18px 0;border:0;border-top:1px solid var(--psc-sand-line);margin:0}
  .psc-step-card__n{grid-row:1/3;font-size:24px;padding-top:2px}
}

/* ---------- Long-form pages: sections with vertical labels (D1) ---------- */
.psc-long__head{padding-block:clamp(48px,6vw,80px) clamp(24px,3vw,40px);max-width:calc(var(--psc-max))}
.psc-long__head h1{margin:0;max-width:880px}
.psc-long__lead{max-width:680px;margin:20px 0 0}
.psc-long__body{padding-bottom:clamp(64px,8vw,112px)}
.psc-sec{position:relative;padding-block:clamp(36px,4.5vw,64px);border-top:1px solid var(--psc-line)}
.psc-sec--intro{border-top:0;padding-top:0}
.psc-sec__body{max-width:820px}
.psc-sec__body>h2:first-child{margin-top:0}
.psc-sec__body h2{font-size:clamp(26px,3vw,38px);margin:0 0 20px}
.psc-sec__body h3{margin:28px 0 8px}
.psc-sec__body p{font-size:17px;line-height:1.7}
.psc-sec__body ul{padding-inline-start:20px}
.psc-sec__body li{margin:6px 0;color:var(--psc-body)}
.psc-sec__label{display:none}
@media (min-width:1100px){
  .psc-long__body{position:relative}
  .psc-sec{padding-inline-start:120px;min-height:260px;box-sizing:border-box}
  .psc-sec__body{max-width:860px}
  .psc-sec__label{display:flex;gap:12px;align-items:center;position:absolute;left:0;top:clamp(36px,4.5vw,64px);transform-origin:top left;transform:rotate(90deg) translateY(-100%);
    font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--psc-muted);white-space:nowrap;font-weight:500;padding-top:2px}
  .psc-sec__label::after{content:"";width:48px;height:1px;background:var(--psc-red)}
  .psc-sec__n{color:var(--psc-red);font-variant-numeric:tabular-nums}
  [dir="rtl"] .psc-sec{padding-inline-start:120px}
}
.psc-long .psc-stats--inline{margin:8px 0 0;border-block:1px solid var(--psc-line)}
.psc-long .psc-stats--inline .psc-stat{padding:24px 20px}
.psc-long .psc-stats--inline .psc-stat:first-child{padding-inline-start:0}
.psc-long .psc-stats--inline .psc-stat__value{font-size:clamp(30px,3vw,40px)}
.psc-long .psc-btn,.psc-long .wp-block-button__link{margin-top:8px}
.psc-long .entry-content .psc-link{display:inline-block}

/* ---------- Erection sequence (B42) ---------- */
.psc-seq{list-style:none;margin:8px 0 0;padding:0;counter-reset:psc-seq}
.psc-seq__step{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(28px,4vw,48px) 0;border-top:1px solid var(--psc-line)}
.psc-seq__step:first-child{border-top:0;padding-top:0}
.psc-seq__text{display:flex;flex-direction:column;gap:8px}
.psc-seq__n{font-size:clamp(28px,3vw,40px);font-weight:300;color:var(--psc-red);letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums}
.psc-seq__title{margin:4px 0 0;font-size:clamp(22px,2.4vw,30px);font-weight:400;letter-spacing:-.02em}
.psc-seq__text p{margin:0;font-size:16px;line-height:1.7}
.psc-seq__media{border-radius:var(--psc-radius);overflow:hidden;background:var(--psc-ph);aspect-ratio:3/2}
.psc-seq__media--line{background:var(--psc-sand);display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}
.psc-seq__media--line svg{width:100%;height:100%;max-height:240px}
@media (max-width:768px){.psc-seq__step{grid-template-columns:1fr;gap:16px;align-items:start}.psc-seq__media{order:-1;max-height:240px}}
@media (min-width:1100px){.psc-sec .psc-seq{max-width:none}.psc-sec__body:has(.psc-seq){max-width:1060px}}

/* ---------- Branded 404 (B18) ---------- */
.psc-404__hero{padding-block:clamp(56px,8vw,112px) clamp(40px,5vw,64px);max-width:720px}
.psc-404__hero h1{margin:0 0 20px}
.psc-404__hero .psc-lead{margin:0 0 28px}
.psc-404__search{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;align-items:stretch}
.psc-404__search label{flex:1 1 260px;display:flex}
.psc-404__search input[type=search]{width:100%;box-sizing:border-box;font:inherit;font-size:16px;color:var(--psc-ink);border:1px solid #D5DADF;border-radius:999px;padding:12px 20px;min-height:48px}
.psc-404__search input:focus{outline:0;border-color:var(--psc-ink);box-shadow:0 0 0 3px rgba(20,32,43,.08)}
.psc-404__recent{padding-bottom:clamp(64px,8vw,112px)}
.psc-404__recent .psc-eyebrow{margin-bottom:28px}

/* ---------- Search results use the plain page layout ---------- */
.psc-search-results article{padding:20px 0;border-top:1px solid var(--psc-line)}

/* =====================================================================
   v1.0.17 — building explorer (B31/B32), figures strip on phones (18 Oct
   Customizer rule folded in), share-image order fixed in inc/seo.php.
   ===================================================================== */

/* ---------- Figures strip on phones: no indent on rows 2-3, odd last item full width ---------- */
@media (max-width:520px){.psc-stats .psc-stat,.psc-long .psc-stats--inline .psc-stat,.psc-stats:has(> :nth-child(5)) .psc-stat{padding-inline:0 12px}.psc-stats .psc-stat:nth-child(even){padding-inline:12px 0}.psc-stats:has(> :nth-child(5)) .psc-stat:last-child:nth-child(odd){grid-column:1/-1}}

/* ---------- Building explorer ---------- */
.psc-xp .psc-head{align-items:flex-end}
.psc-xp__lead{margin:0;max-width:420px;font-size:16px;line-height:1.6;color:var(--psc-body)}
.psc-xp__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,4vw,56px);align-items:start}
.psc-xp__controls{display:flex;flex-direction:column;gap:24px;min-width:0}
.psc-xp__types{display:flex;flex-wrap:wrap;gap:8px}
.psc-xp__type{font:inherit;font-size:14px;font-weight:500}
.psc-xp__type[aria-checked="true"]{background:var(--psc-ink);border-color:var(--psc-ink);color:#fff}
.psc-xp__els{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;padding-top:20px;border-top:1px solid var(--psc-line)}
.psc-xp__el-btn{display:flex;align-items:center;gap:12px;min-height:44px;padding:6px 4px;margin:0;border:0;background:transparent;font:inherit;font-size:15px;color:var(--psc-ink);text-align:start;cursor:pointer;border-radius:8px;line-height:1.3}
.psc-xp__el-btn:hover{color:var(--psc-red)}
.psc-xp__el-btn:disabled{color:var(--psc-muted);cursor:default;opacity:.55}
.psc-xp__el-btn:focus-visible{outline:2px solid var(--psc-red);outline-offset:2px}
.psc-xp__sw{flex:none;width:34px;height:20px;border-radius:999px;background:#D5DADF;position:relative;transition:background .2s}
.psc-xp__sw::after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(20,32,43,.25);transition:transform .2s}
.psc-xp__el-btn[aria-pressed="true"] .psc-xp__sw{background:var(--psc-ink)}
.psc-xp__el-btn[aria-pressed="true"] .psc-xp__sw::after{transform:translateX(14px)}
.psc-xp__el-btn[data-fixed] .psc-xp__sw{background:var(--psc-muted)}
.psc-xp__note{background:var(--psc-sand);border-radius:var(--psc-radius);padding:22px 24px;display:flex;flex-direction:column;gap:8px}
.psc-xp__note-tag{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--psc-red);font-weight:500}
.psc-xp__note-title{font-size:18px;font-weight:500;letter-spacing:-.01em}
.psc .psc-xp__note-text{margin:0;font-size:15px;line-height:1.65;color:var(--psc-body)}
.psc .psc-xp__note-links{margin:8px 0 0;display:flex;flex-wrap:wrap;gap:8px 28px}
.psc-xp__note-links .psc-link{padding-top:4px}
.psc-xp__stage{margin:0;position:relative;background:#fff;border:1px solid var(--psc-line);border-radius:var(--psc-radius-lg);padding:clamp(12px,2vw,24px);box-sizing:border-box;min-width:0}
.psc-xp__drawing[hidden]{display:none}
.psc-xp__svg{display:block;width:100%;height:auto;aspect-ratio:2/1}
.psc-xp__el{transition:opacity .25s}
.psc-xp__el[data-hidden]{display:none}
.psc-xp__el[data-selected] line,.psc-xp__el[data-selected] polygon,.psc-xp__el[data-selected] path,.psc-xp__el[data-selected] rect{stroke:var(--psc-red)}
.psc-xp__el[data-selected] polygon{fill:#FBE9EE}
.psc-xp.is-ready .psc-xp__el{cursor:pointer}
.psc-xp.is-ready .psc-xp__el:hover line,.psc-xp.is-ready .psc-xp__el:hover polygon,.psc-xp.is-ready .psc-xp__el:hover path,.psc-xp.is-ready .psc-xp__el:hover rect{stroke:var(--psc-red)}
.psc-xp__hint{position:absolute;right:20px;bottom:12px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--psc-muted)}
@media (max-width:1024px){
  .psc-xp__grid{grid-template-columns:1fr}
  .psc-xp__stage{order:-1}
}
@media (max-width:520px){
  .psc-xp__els{grid-template-columns:1fr;gap:0}
  .psc-xp__hint{position:static;display:block;margin-top:8px;text-align:end}
  .psc-xp__stage{padding:8px 8px 12px;border-radius:var(--psc-radius)}
}
@media (prefers-reduced-motion:reduce){.psc-xp__sw,.psc-xp__sw::after,.psc-xp__el{transition:none}}
