/*
Theme Name: Pinnacle Logic Technologies
Theme URI: https://pinnaclelogic.ai
Author: Pinnacle Logic Technologies
Author URI: https://pinnaclelogic.ai
Description: Custom block theme for Pinnacle Logic Technologies — AI, Software Engineering, and Cybersecurity. Built from the PLW website wireframe specification. Full Site Editing / Gutenberg native.
Requires at least: 6.1
Tested up to: 6.7
Requires PHP: 7.4
Version: 0.9.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pinnacle-logic
*/

/* ============================================================
   Pinnacle Logic Technologies — design tokens (mirror of theme.json)
   ============================================================ */
:root{
  --pl-navy:#0A2342;
  --pl-navy-deep:#060f1e;
  --pl-teal:#00C7C7;
  --pl-gray:#EAEAEA;
  --pl-ink:#1a1a2e;
  --pl-muted:#5b6b7f;
  --pl-section-alt:#f6f9fc;
  --pl-card-border:#dde4f0;
  --pl-teal-dim:rgba(0,199,199,.12);
  --pl-white:#ffffff;
}

/* ── Base ──────────────────────────────────────────────── */
body{background:var(--pl-white);color:var(--pl-ink);}

/* Small uppercase teal label used across sections */
.pl-eyebrow{
  color:var(--pl-teal);
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  font-size:.72rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  margin-bottom:.4rem;
}

/* ── Header / navigation ───────────────────────────────── */
.pl-site-header{
  background:#ffffff;
  position:sticky;
  top:0;
  z-index:100;
  border-bottom:1px solid #e6ebf2;
  box-shadow:0 1px 8px rgba(10,35,66,.05);
}
.pl-header__inner{padding-block:.75rem;}

/* Logo — full lockup already contains the company name, links to home */
.pl-brand-lockup{gap:0;}
.pl-logo-link{display:block;line-height:0;}
.pl-logo-img{display:block;height:76px;width:auto;}

/* Nav links (Navigation block).
   !important is needed to beat core's higher-specificity
   .wp-block-navigation .wp-block-navigation-item__content rule,
   which otherwise forces the links to the dark body text colour. */
.pl-nav a,
.pl-nav .wp-block-navigation-item__content{
  color:var(--pl-navy) !important;
  font-size:.92rem;
  font-weight:500;
  text-decoration:none;
}
.pl-nav a:hover,
.pl-nav a:focus,
.pl-nav .current-menu-item > a{color:var(--pl-teal) !important;}

/* Mobile hamburger + overlay menu — same dark-on-navy fix.
   The open/close icons inherit the dark text colour, and the
   overlay panel needs a navy background so white links show. */
.pl-nav .wp-block-navigation__responsive-container-open{color:var(--pl-navy) !important;}
.pl-nav .wp-block-navigation__responsive-container-close{color:#fff !important;}
.pl-nav .wp-block-navigation__responsive-container.is-menu-open{
  background-color:var(--pl-navy) !important;
}
.pl-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
  color:#fff !important;
  font-size:1.15rem;
}

/* Header CTA button */
.pl-cta-btn .wp-block-button__link{
  background:var(--pl-teal);
  color:var(--pl-navy);
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  font-size:.8rem;
  padding:.6em 1.1em;
  border-radius:6px;
}

/* ── Generic buttons ───────────────────────────────────── */
.pl-btn--primary .wp-block-button__link{
  background:var(--pl-teal);
  color:var(--pl-navy);
  font-weight:700;
}
.pl-btn--ghost .wp-block-button__link{
  background:transparent;
  border:1px solid var(--pl-teal);
  color:var(--pl-teal);
}

/* ── Hero ──────────────────────────────────────────────── */
.pl-hero{
  position:relative;
  overflow:hidden;
  background:var(--pl-navy);
  padding-top:clamp(4rem,9vw,7.5rem);
  padding-bottom:clamp(4rem,9vw,7.5rem);
  text-align:center;
}
/* Faint AI dot-grid overlay */
.pl-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:radial-gradient(circle,var(--pl-teal) 1px,transparent 1px);
  background-size:26px 26px;
  opacity:.08;
  pointer-events:none;
}
.pl-hero > *{position:relative;z-index:1;}
.pl-hero__title{
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  color:#fff;
  font-size:clamp(2rem,4.5vw,3.25rem);
  line-height:1.16;
  max-width:18ch;
  margin-inline:auto;
}
.pl-hero__sub{
  color:rgba(255,255,255,.66);
  font-size:clamp(1rem,1.6vw,1.15rem);
  line-height:1.7;
  max-width:54ch;
  margin-inline:auto;
}
.pl-hero__btns{margin-top:.5rem;}

/* Hero stat row */
.pl-hero__stats{
  gap:2.5rem !important;
  margin-top:2.5rem;
}
.pl-stat{position:relative;}
.pl-stat + .pl-stat::before{
  content:"";
  position:absolute;
  left:-1.25rem;
  top:15%;
  height:70%;
  width:1px;
  background:rgba(255,255,255,.14);
}
.pl-stat__val{
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  color:var(--pl-teal);
  font-size:1.5rem;
  line-height:1;
  margin:0;
}
.pl-stat__label{
  font-size:.68rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,255,255,.42);
  margin:.4rem 0 0;
}

/* ── Footer ────────────────────────────────────────────── */
.pl-site-footer{background:var(--pl-navy-deep);}
.pl-footer__inner{padding-block:2rem;}
.pl-footer__brand{
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  color:var(--pl-teal);
  margin:0;
  font-size:.95rem;
  letter-spacing:.04em;
}
.pl-footer__copy{
  color:rgba(255,255,255,.4);
  font-size:.8rem;
  margin:.25rem 0 0;
}
.pl-footer__copy a{color:rgba(255,255,255,.65);text-decoration:none;}
.pl-footer__copy a:hover{color:var(--pl-teal);}
.pl-footer__social .wp-social-link{background:rgba(255,255,255,.08);}

/* ── Responsive ────────────────────────────────────────── */
@media (max-width:781px){
  /* .wp-block-group raises specificity above WordPress' generated layout rule, which
     otherwise keeps the header items pushed to the left edge. */
  .wp-block-group.pl-header__inner{gap:.75rem;justify-content:center;}
  /* Seven menu links: a little tighter so they stay on one line down to phone width. */
  .pl-nav .wp-block-navigation__container{gap:.4rem 1.1rem !important;}
  .pl-nav .wp-block-navigation-item__content{font-size:.88rem;}
  .pl-hero__stats{gap:1.5rem !important;}
  .pl-footer__inner{gap:1rem;text-align:center;justify-content:center;}
}

/* ============================================================
   Content sections (Pillars · Industries · Why Us · CTA)
   ============================================================ */
.pl-section{
  padding-top:clamp(3.5rem,7vw,6rem);
  padding-bottom:clamp(3.5rem,7vw,6rem);
}
.pl-section--alt{background:var(--pl-section-alt);}
.pl-section--navy{background:var(--pl-navy);}
.pl-center{text-align:center;}
.pl-center .pl-sec-body{margin-inline:auto;}

/* Section headings */
.pl-sec-title{
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  color:var(--pl-navy);
  font-size:clamp(1.5rem,3vw,2.1rem);
  line-height:1.2;
  margin:0 0 .6rem;
}
.pl-sec-body{
  color:var(--pl-muted);
  font-size:1.05rem;
  line-height:1.7;
  max-width:56ch;
  margin:0;
}
.pl-section--navy .pl-sec-title{color:#fff;}
.pl-section--navy .pl-sec-body{color:rgba(255,255,255,.6);}

/* Card grids */
.pl-grid-3,.pl-grid-4{display:grid;gap:1.25rem;margin-top:2rem;}
.pl-grid-3{grid-template-columns:repeat(3,1fr);}
.pl-grid-4{grid-template-columns:repeat(4,1fr);}
.pl-grid-3 > *,.pl-grid-4 > *{margin:0 !important;}
@media (max-width:900px){
  .pl-grid-3{grid-template-columns:1fr;}
  .pl-grid-4{grid-template-columns:repeat(2,1fr);}
}

/* Shared card */
.pl-card{
  background:#fff;
  border:1px solid var(--pl-card-border);
  border-radius:10px;
  padding:1.75rem;
  height:100%;
  transition:transform .18s ease,box-shadow .18s ease;
}
.pl-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(10,35,66,.10);}
.pl-card__title{
  font-family:'Montserrat',sans-serif;font-weight:700;color:var(--pl-navy);
  font-size:1.1rem;margin:0 0 .5rem;
}
.pl-card__text{color:var(--pl-muted);font-size:.95rem;line-height:1.6;margin:0;}

/* Pillar cards */
.pl-pillar{border-top:3px solid var(--pl-teal);}
.pl-pillar__icon{
  display:flex;align-items:center;justify-content:center;
  width:48px;height:48px;border-radius:8px;background:var(--pl-teal-dim);
  font-size:1.4rem;margin:0 0 .9rem;
}
.pl-pillar__cta{margin:.9rem 0 0;}
.pl-pillar__cta a{color:var(--pl-teal);font-weight:600;font-size:.92rem;text-decoration:none;}
.pl-pillar__cta a:hover{text-decoration:underline;}

/* Industry cards */
.pl-ind-card{text-align:center;}
.pl-ind__icon{
  display:flex;align-items:center;justify-content:center;
  width:56px;height:56px;border-radius:50%;background:var(--pl-navy);
  color:var(--pl-teal);font-size:1.5rem;margin:0 auto .8rem;
}
.pl-ind__name{font-family:'Montserrat',sans-serif;font-weight:700;color:var(--pl-navy);font-size:1rem;margin:0 0 .35rem;}
.pl-ind__desc{color:var(--pl-muted);font-size:.9rem;line-height:1.6;margin:0;}

/* Why-us cards (on navy) */
.pl-why-card{text-align:center;padding:1rem .5rem;}
.pl-why__icon{
  display:flex;align-items:center;justify-content:center;
  width:60px;height:60px;border-radius:50%;
  background:var(--pl-teal-dim);border:1px solid rgba(0,199,199,.35);
  color:var(--pl-teal);font-size:1.6rem;margin:0 auto .9rem;
}
.pl-why__title{font-family:'Montserrat',sans-serif;font-weight:700;color:#fff;font-size:1rem;margin:0 0 .35rem;}
.pl-why__desc{color:rgba(255,255,255,.55);font-size:.9rem;line-height:1.6;margin:0;}

/* Closing CTA strip */
.pl-cta-strip{
  background:linear-gradient(135deg,#071a30,#0f3060);
  padding-top:clamp(3rem,6vw,4.5rem);
  padding-bottom:clamp(3rem,6vw,4.5rem);
  text-align:center;
}
.pl-cta-strip__title{
  font-family:'Montserrat',sans-serif;font-weight:700;color:#fff;
  font-size:clamp(1.4rem,3vw,2rem);margin:0 0 .5rem;
}
.pl-cta-strip__sub{color:rgba(255,255,255,.6);font-size:1.05rem;margin:0 0 1.5rem;}
.pl-cta-strip__sub a{color:var(--pl-teal);font-weight:600;text-decoration:none;}
.pl-cta-strip__sub a:hover{text-decoration:underline;}
.pl-cta-strip .wp-block-buttons{justify-content:center;}

/* ============================================================
   Inner-page components (Services · Industries · About · Contact)
   ============================================================ */

/* Navy page-intro band */
.pl-page-hero{
  background:var(--pl-navy);
  padding-top:clamp(2.5rem,6vw,4rem);
  padding-bottom:clamp(2.5rem,6vw,4rem);
}
.pl-page-hero__title{
  font-family:'Montserrat',sans-serif;font-weight:700;color:#fff;
  font-size:clamp(1.6rem,3.4vw,2.3rem);line-height:1.2;margin:.2rem 0 .5rem;max-width:24ch;
}
.pl-page-hero__sub{color:rgba(255,255,255,.6);font-size:1.05rem;line-height:1.7;max-width:64ch;margin:0;}

/* Two-column helper */
.pl-cols-2{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem;}
.pl-cols-2 > *{margin:0 !important;}
@media (max-width:900px){.pl-cols-2{grid-template-columns:1fr;}}

/* Teal-dot bullet list (services / industries bodies) */
.pl-list{list-style:none;margin:0;padding:0;}
.pl-list li{position:relative;padding-left:1.15rem;margin:0 0 .55rem;color:#3a4658;font-size:.95rem;line-height:1.55;}
.pl-list li::before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;border-radius:50%;background:var(--pl-teal);}

/* ── Services: pillar sections (icon+title header, item grid) ── */
.pl-svc-pillar-head{display:flex;align-items:center;gap:1rem;margin-bottom:1.85rem;}
.pl-svc-pillar-icon{flex-shrink:0;width:52px;height:52px;border-radius:10px;background:var(--pl-navy);display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin:0 !important;}
.pl-svc-pillar-sub{color:var(--pl-teal);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin:0 0 .2rem !important;}
.pl-svc-pillar-title{font-family:'Montserrat',sans-serif;font-weight:700;color:var(--pl-navy);font-size:1.4rem;margin:0 !important;}

.pl-svc-items{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;}
.pl-svc-items > *{margin:0 !important;}
@media (max-width:820px){.pl-svc-items{grid-template-columns:1fr;}}
.pl-svc-item{background:#fff;border:1px solid var(--pl-card-border);border-left:3px solid var(--pl-teal);border-radius:8px;padding:1.3rem 1.5rem;height:100%;}
.pl-svc-item__num{font-family:'Montserrat',sans-serif;font-weight:700;color:var(--pl-teal);font-size:.72rem;letter-spacing:.1em;margin:0 0 .4rem !important;}
.pl-svc-item__title{font-family:'Montserrat',sans-serif;font-weight:700;color:var(--pl-navy);font-size:1rem;line-height:1.35;margin:0 0 .5rem !important;}
.pl-svc-item__text{color:var(--pl-muted);font-size:.9rem;line-height:1.65;margin:0 !important;}
.pl-section--alt .pl-svc-item{background:#fff;}

/* ── Convergence model box ── */
.pl-converge{margin-top:1.75rem;border:1.5px dashed #b9cbe6;border-radius:10px;background:#f0f6ff;padding:1.75rem;text-align:center;}
.pl-converge__title{font-family:'Montserrat',sans-serif;font-weight:700;color:var(--pl-navy);font-size:1.1rem;margin:0 0 .4rem;}
.pl-converge__sub{color:var(--pl-muted);font-size:.95rem;margin:0 auto 1rem;max-width:60ch;}
.pl-converge__row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;}
.pl-converge__row > *{margin:0 !important;}
.pl-c-pill{background:var(--pl-navy);color:var(--pl-teal);padding:.45rem .95rem;border-radius:20px;font-size:.85rem;font-weight:700;}
.pl-c-plus{color:var(--pl-teal);font-size:1.1rem;font-weight:700;}
.pl-c-result{background:var(--pl-teal);color:var(--pl-navy);padding:.45rem 1.05rem;border-radius:20px;font-size:.85rem;font-weight:700;}

/* ── Industries: large cards ── */
.pl-ind-big-card{border:1px solid var(--pl-card-border);border-radius:10px;overflow:hidden;background:#fff;height:100%;}
.pl-ind-big-head{background:var(--pl-navy);padding:1.1rem 1.4rem;display:flex;gap:.8rem;align-items:flex-start;}
.pl-ind-big-head > *{margin:0 !important;}
.pl-ind-big__icon{width:44px;height:44px;border-radius:8px;background:var(--pl-teal-dim);display:flex;align-items:center;justify-content:center;font-size:1.35rem;flex-shrink:0;}
.pl-ind-big__title{font-family:'Montserrat',sans-serif;font-weight:700;color:#fff;font-size:1.05rem;margin:0;}
.pl-ind-big__sub{color:var(--pl-teal);font-size:.85rem;margin:.2rem 0 0;}
.pl-ind-big-body{padding:1.1rem 1.4rem 1.3rem;}

/* ── About ── */
.pl-story__head{font-family:'Montserrat',sans-serif;font-weight:700;color:var(--pl-navy);font-size:1.2rem;margin:.3rem 0 .8rem;}
.pl-story__text{color:#3a4658;line-height:1.8;font-size:1rem;margin:0 0 .8rem;}
.pl-approach-box{background:#f4f8fc;border-radius:10px;padding:1.6rem;border-left:3px solid var(--pl-teal);}
.pl-check-list{margin-top:1rem;}
.pl-check-item{display:flex;gap:.7rem;align-items:flex-start;margin:0 0 .85rem;}
.pl-check-item > *{margin:0 !important;}
.pl-check__mark{flex-shrink:0;width:22px;height:22px;border-radius:50%;background:var(--pl-teal-dim);color:var(--pl-teal);font-weight:700;font-size:.75rem;display:flex;align-items:center;justify-content:center;}
.pl-check__text{color:#3a4658;font-size:.95rem;line-height:1.6;}
.pl-mission{background:var(--pl-navy);border-radius:10px;padding:1.6rem 1.9rem;border-left:4px solid var(--pl-teal);margin-top:2.25rem;}
.pl-mission__text{color:#fff;font-size:1.08rem;line-height:1.7;font-style:italic;margin:.4rem 0 0;}
.pl-val__icon{font-size:1.7rem;margin:0 0 .5rem;}
.pl-team-card{text-align:center;}
.pl-avatar{width:56px;height:56px;border-radius:50%;background:var(--pl-navy);border:2px solid var(--pl-teal);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin:0 auto .8rem;}
.pl-team__name{font-family:'Montserrat',sans-serif;font-weight:700;color:var(--pl-navy);font-size:1.05rem;margin:0;}
.pl-team__role{color:var(--pl-teal);font-size:.85rem;margin:.25rem 0;}
.pl-team__spec{color:var(--pl-muted);font-size:.9rem;line-height:1.6;margin:0;}

/* ── Contact ── */
.pl-contact-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:2.25rem;margin-top:2rem;}
.pl-contact-grid > *{margin:0 !important;}
@media (max-width:900px){.pl-contact-grid{grid-template-columns:1fr;}.pl-contact-grid > .pl-form-card{order:-1;}}
.pl-contact-detail{display:flex;gap:.75rem;align-items:flex-start;margin:0 0 .9rem;}
.pl-contact-detail > *{margin:0 !important;}
.pl-contact__icon{flex-shrink:0;width:34px;height:34px;border-radius:7px;background:var(--pl-teal-dim);color:var(--pl-teal);display:flex;align-items:center;justify-content:center;font-size:1rem;}
.pl-contact__label{color:#8a97a8;font-size:.8rem;margin:0;}
.pl-contact__val{color:var(--pl-navy);font-weight:500;font-size:.98rem;margin:0;word-break:break-word;}
.pl-contact__val a{color:var(--pl-navy);text-decoration:none;border-bottom:1px solid var(--pl-teal);}
.pl-contact__val a:hover{color:var(--pl-teal);}
.pl-cta-card{position:relative;border:1px solid var(--pl-card-border);border-radius:8px;padding:.85rem 1rem;display:flex;gap:.75rem;align-items:center;margin:0 0 .7rem;transition:border-color .18s ease;}
.pl-cta-card:hover{border-color:var(--pl-teal);}
.pl-cta-card > *{margin:0 !important;}
.pl-cta-card__icon{flex-shrink:0;width:34px;height:34px;border-radius:6px;background:var(--pl-navy);color:var(--pl-teal);display:flex;align-items:center;justify-content:center;font-size:1rem;}
.pl-cta-card__title{color:var(--pl-navy);font-weight:700;font-size:.95rem;margin:0;}
.pl-cta-card__title a{color:inherit;text-decoration:none;}
.pl-cta-card__title a::after{content:"";position:absolute;inset:0;}
.pl-cta-card__sub{color:#8a97a8;font-size:.85rem;margin:0;}
.pl-form-card{background:#fff;border:1px solid var(--pl-card-border);border-radius:10px;padding:1.75rem;}
.pl-form-card__title{font-family:'Montserrat',sans-serif;font-weight:700;color:var(--pl-navy);font-size:1.15rem;margin:0 0 1rem;}

/* Contact form (theme-native — emails contact@pinnaclelogicgroup.com) */
.pl-form__row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;}
@media (max-width:600px){.pl-form__row{grid-template-columns:1fr;}}
.pl-form__field{margin:0 0 .9rem;}
.pl-form__field label{display:block;margin:0 0 .3rem;color:var(--pl-muted);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;}
.pl-form__field input,
.pl-form__field select,
.pl-form__field textarea{
  width:100%;box-sizing:border-box;padding:.65rem .8rem;
  border:1px solid var(--pl-card-border);border-radius:6px;background:#fff;
  color:var(--pl-ink);font-family:'Inter',sans-serif;font-size:.95rem;line-height:1.4;
}
.pl-form__field textarea{min-height:130px;resize:vertical;}
.pl-form__field input:focus,
.pl-form__field select:focus,
.pl-form__field textarea:focus{outline:2px solid var(--pl-teal);outline-offset:0;border-color:var(--pl-teal);}
.pl-form__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.pl-form__submit{
  background:var(--pl-teal);color:var(--pl-navy);border:0;border-radius:6px;
  padding:.75em 1.6em;font-family:'Montserrat',sans-serif;font-weight:700;font-size:.95rem;cursor:pointer;
}
.pl-form__submit:hover{filter:brightness(.95);}
.pl-form__note{margin:.9rem 0 0;color:#8a97a8;font-size:.82rem;}
.pl-form-notice{margin:0 0 1.1rem;padding:.8rem 1rem;border-radius:8px;font-size:.92rem;line-height:1.55;}
.pl-form-notice--ok{background:#e9faf7;border:1px solid rgba(0,199,199,.5);color:#0a4a4a;}
.pl-form-notice--err{background:#fdf0f0;border:1px solid #f1b4b4;color:#7a1f1f;}
.pl-form-notice a{color:inherit;font-weight:600;}

/* ── Industries page: jump chips, card detail, outcome tags ── */
.pl-ind-nav{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem;}
.pl-ind-nav > *{margin:0 !important;}
.pl-ind-nav__chip a{display:inline-block;padding:.42rem .95rem;border:1px solid rgba(255,255,255,.28);border-radius:20px;color:#fff;font-size:.85rem;font-weight:600;text-decoration:none;transition:border-color .18s ease,color .18s ease;}
.pl-ind-nav__chip a:hover{border-color:var(--pl-teal);color:var(--pl-teal);}
.pl-ind-big-card{scroll-margin-top:7.5rem;}
.pl-ind-big-col + .pl-ind-big-col{margin-top:1.15rem !important;}
.pl-cols-2 + .pl-ind-big-card{margin-top:2rem !important;}
.pl-ind-big-card--lead .pl-ind-big-body{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 2.5rem;}
.pl-ind-big-card--lead .pl-ind-big-body > *{margin:0 !important;}
@media (max-width:900px){.pl-ind-big-card--lead .pl-ind-big-body{grid-template-columns:1fr;}}
.pl-ind-big__overview{color:#3a4658;font-size:.95rem;line-height:1.7;margin:0 !important;}
.pl-ind-big__label{color:var(--pl-teal);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin:1.15rem 0 .55rem !important;}
.pl-ind-big__overview + .pl-ind-big__label{margin-top:1.25rem !important;}
.pl-ind-big-col > .pl-ind-big__label:first-child{margin-top:0 !important;}
.pl-list strong{color:var(--pl-navy);}
.pl-tags{display:flex;flex-wrap:wrap;gap:.45rem;}
.pl-tags > *{margin:0 !important;}
.pl-tag{background:var(--pl-teal-dim);color:var(--pl-navy);border:1px solid rgba(0,199,199,.35);border-radius:20px;padding:.22rem .8rem;font-size:.8rem;font-weight:600;}
.pl-mission--solo{margin-top:0;}

/* ── Layout fixes for WordPress block layouts ── */
/* Header, page content, footer and the sections inside <main> sit flush — no block-gap strips. */
.wp-site-blocks > *,
.wp-site-blocks > main.wp-block-group > *{margin-block-start:0 !important;margin-block-end:0 !important;}
/* Constrained layouts centre every child block, which pushes narrow titles and intro
   paragraphs off the left edge. Keep the column centred but left-align its content. */
.wp-block-group.pl-page-hero > *,
.wp-block-group.pl-section:not(.pl-center) > *{
  margin-left:calc((100% - min(100%, var(--wp--style--global--content-size, 1160px))) / 2) !important;
  margin-right:auto !important;
}
/* Padded boxes must not spill past the content column. */
.pl-mission,.pl-converge{box-sizing:border-box;}
/* Seven menu links plus the consultation button need about 1100px of width. Below
   that (down to the stacked tablet layout) the menu moves to its own centred row
   under the logo and button instead of pushing the button onto a line by itself. */
@media (min-width:782px) and (max-width:1100px){
  .pl-header__inner{justify-content:space-between;}
  .pl-header__inner > .pl-nav{order:3;flex-basis:100%;justify-content:center;}
}
/* Phones (below WordPress' 600px menu breakpoint): logo, menu and consultation
   button share one compact header row. */
@media (max-width:599px){
  .pl-logo-img{height:46px;}
  .wp-block-group.pl-header__inner{flex-wrap:nowrap;justify-content:space-between;gap:.5rem;}
  .pl-cta-btn .wp-block-button__link{font-size:.72rem;padding:.5em .85em;}
}

/* In-page jump links (Industries, Case Studies) clear the sticky header. */
.pl-section[id]{scroll-margin-top:7.5rem;}

/* Contact page hero actions */
.pl-page-hero .wp-block-buttons{margin-top:1.4rem;}

/* Home page: contact section with form (replaces the old button-only CTA strip) */
.pl-cta-strip--form{text-align:left;}
.pl-contact-home{display:grid;grid-template-columns:1fr 1.1fr;gap:2.5rem;align-items:center;}
.pl-contact-home > *{margin:0 !important;}
@media (max-width:900px){.pl-contact-home{grid-template-columns:1fr;}}
.pl-cta-strip--form .pl-cta-strip__title{margin:.2rem 0 .7rem;line-height:1.25;}
.pl-cta-strip--form .pl-cta-strip__sub{margin:0 0 1.1rem;}
.pl-cta-strip__mail{margin:0;color:rgba(255,255,255,.75);font-size:1rem;}
.pl-cta-strip__mail a{color:var(--pl-teal);font-weight:600;text-decoration:none;}
.pl-cta-strip__mail a:hover{text-decoration:underline;}
.pl-cta-strip--form .pl-form-card{text-align:left;box-shadow:0 18px 40px rgba(0,0,0,.25);}

/* ── Case Studies: AI research section and closing band ── */
/* WordPress' own layout rules give every child of a section max-width:1160px and load after
   this file, so the two width limits below need the extra .pl-section to win. */
.pl-section .pl-sec-body--wide{max-width:78ch;}
/* Short highlighted statement (scope notes, governance notes) */
.pl-note{box-sizing:border-box;border-left:3px solid var(--pl-teal);background:#f4f8fc;border-radius:0 8px 8px 0;padding:.9rem 1.2rem;color:#3a4658;font-size:.98rem;line-height:1.65;margin:1.25rem 0 0;}
.pl-section .pl-note{max-width:78ch;}
/* Full-width cards stacked one under another */
.pl-stack{display:grid;gap:1.75rem;margin-top:2rem;}
.pl-stack > *{margin:0 !important;}
/* Research card columns: even spacing between paragraphs, lists, labels and links */
.pl-ind-big-col.pl-res-col{display:flex;flex-direction:column;gap:.75rem;}
.pl-ind-big-col.pl-res-col > *{margin:0 !important;}
.pl-res__text{color:#3a4658;font-size:.95rem;line-height:1.7;}
.pl-res-col .pl-note{max-width:none;font-size:.92rem;}
.pl-res-col .pl-list li:last-child{margin-bottom:0;}
.pl-ind-big-col.pl-res-col > .pl-note + *{margin-top:.5rem !important;}
/* Closing band: Research → Strategy → Prototype → Solution → Value */
.pl-cta-strip--research .pl-cta-strip__sub{max-width:64ch;margin-inline:auto;}
.pl-cta-strip--research .pl-converge__row{margin-block:1.75rem 2rem !important;}
.pl-cta-strip--research .pl-c-pill{background:var(--pl-teal-dim);border:1px solid rgba(0,199,199,.45);color:#fff;}
.pl-ask{font-family:'Montserrat',sans-serif;font-weight:700;color:#fff;font-size:1.3rem;line-height:1.3;}
.pl-cta-strip--research .pl-ask{margin-block:0 1.1rem !important;}
@media (max-width:520px){
  /* Phones: the flow reads top to bottom instead of wrapping mid-sequence. */
  .pl-cta-strip--research .pl-converge__row{flex-direction:column;gap:.35rem;}
  .pl-cta-strip--research .pl-c-plus{transform:rotate(90deg);}
  .pl-cta-strip--research .wp-block-button__link{font-size:1rem;}
}
