/*
Theme Name: Legate Project Development
Theme URI: https://www.phxcapsolutions.com/
Author: Phoenix Capital Solutions
Description: Block theme for Legate Project Development, a Phoenix Capital Solutions company. Every homepage section is a drag and drop block pattern you can edit, reorder or reuse in the WordPress Site Editor. Concept 01: The Plumb Line.
Version: 1.0.0
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: legate
Tags: full-site-editing, block-patterns, one-column, custom-colors, editor-style
*/

:root{
  --lg-slate:var(--wp--preset--color--slate);
  --lg-deep:var(--wp--preset--color--deep);
  --lg-copper:var(--wp--preset--color--copper);
  --lg-tcopper:var(--wp--preset--color--text-copper);
  --lg-ivory:var(--wp--preset--color--ivory);
  --lg-surface:var(--wp--preset--color--surface);
  --lg-stone:var(--wp--preset--color--stone);
  --lg-line:var(--wp--preset--color--line);
  --lg-muted:var(--wp--preset--color--muted);
  --lg-mist:var(--wp--preset--color--mist);
  --lg-faint:#8C939A;
  --lg-display:var(--wp--preset--font-family--display);
  --lg-ease:cubic-bezier(.2,.7,.2,1);
  --lg-edge:max(0px, calc((100% - var(--wp--style--global--content-size)) / 2));
}
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
:focus-visible{outline:2px solid var(--lg-tcopper);outline-offset:3px}
.wp-site-blocks > *{margin-block-start:0 !important}
.lg-main{margin:0 !important}
.lg-main > *{margin-block:0 !important}

/* Shared text styles */
.lg-eyebrow{font-size:.8125rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--lg-tcopper);margin-bottom:0}
.lg-on-dark,.lg-dark .lg-eyebrow{color:var(--lg-copper)}
.lg-eyebrow + *{margin-block-start:1rem !important}
.lg-lede{color:var(--lg-muted);max-width:60ch}
.lg-dark .lg-lede{color:var(--lg-mist)}
.lg-section{padding-block:clamp(4rem,9vw,8rem) !important}
.lg-surface{background:var(--lg-surface)}
.lg-dark{background:var(--lg-slate);color:var(--lg-ivory)}
.lg-dark h2{color:var(--lg-ivory)}

/* Header */
.lg-header{color:var(--lg-slate);transition:background .3s var(--lg-ease),color .3s var(--lg-ease),box-shadow .3s var(--lg-ease)}
.lg-nav{min-height:76px;align-items:center}
.lg-brand{gap:12px !important;align-items:center}
.lg-mark{margin:0 !important}
.lg-mark img{width:22px;height:auto;display:block}
.lg-wm-group{gap:4px !important}
.lg-wm-group > *{margin:0 !important}
.lg-wm{font-family:var(--lg-display);font-size:1.6rem;font-weight:500;letter-spacing:.14em;line-height:1}
.lg-wm a{text-decoration:none;color:inherit}
.lg-wm-sub{font-size:.62rem;letter-spacing:.32em;text-transform:uppercase;opacity:.8;line-height:1}
.lg-nav-right{gap:2rem !important;align-items:center}
.lg-menu{font-size:.9375rem;gap:2rem}
.lg-menu a{text-decoration:none;opacity:.88}
.lg-menu a:hover{opacity:1;text-decoration:underline;text-decoration-color:var(--lg-copper);text-underline-offset:8px}
.lg-header .wp-block-navigation__responsive-container.is-menu-open{background:var(--lg-ivory) !important;color:var(--lg-slate) !important;padding:2rem}
.lg-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{font-size:1.25rem;padding:.5rem 0}
.lg-header-over{position:fixed;top:0;left:0;right:0;z-index:50;color:var(--lg-ivory)}
body.admin-bar .lg-header-over{top:var(--wp-admin--admin-bar--height,32px)}
.lg-header-over.is-scrolled{background:color-mix(in srgb,var(--lg-ivory) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--lg-slate);box-shadow:0 1px 0 var(--lg-line)}
header.wp-block-template-part:has(.lg-header-solid){position:sticky;top:0;z-index:50}
body.admin-bar header.wp-block-template-part:has(.lg-header-solid){top:var(--wp-admin--admin-bar--height,32px)}
.lg-header-solid{background:var(--lg-ivory);box-shadow:0 1px 0 var(--lg-line)}
@media (max-width:960px){.lg-nav-cta{display:none !important}}

/* Hero */
.lg-hero,.lg-bleed{padding-left:0 !important;padding-right:0 !important}
.lg-hero > .wp-block-cover__inner-container,.lg-bleed > .wp-block-cover__inner-container{width:100% !important}
.lg-hero{padding-top:120px !important;padding-bottom:clamp(3rem,8vw,6rem) !important}
.lg-hero .wp-block-cover__image-background{animation:lg-settle 2.4s var(--lg-ease) forwards;transform:scale(1.04)}
@keyframes lg-settle{to{transform:scale(1)}}
.lg-hero .wp-block-cover__inner-container{color:var(--lg-ivory)}
.lg-hero .lg-hero-title{color:var(--lg-ivory);max-width:12ch;margin-left:var(--lg-edge) !important;margin-right:auto !important}
.lg-hero .lg-hero-lede{font-size:var(--wp--preset--font-size--lg);line-height:1.5;color:#E2DBD0;max-width:44ch;margin-left:var(--lg-edge) !important;margin-right:auto !important}
.lg-hero-actions{margin-top:2.5rem !important;gap:1rem}
.lg-btn-ghost .wp-block-button__link{background:transparent !important;color:inherit !important;border:1px solid currentColor;padding:calc(1rem - 1px) calc(1.5rem - 1px)}
.lg-btn-ghost .wp-block-button__link:hover{background:rgba(255,255,255,.08) !important}
.lg-hero-meta{border-top:1px solid rgba(244,240,232,.25);padding-top:1.5rem;margin-top:4rem !important;gap:.75rem 2rem !important;font-size:.8125rem;letter-spacing:.18em;text-transform:uppercase;color:#CFC6B8}
.lg-hero-meta > *{margin:0 !important}

/* Proof band */
.lg-proof{padding-block:clamp(3rem,6vw,5rem) !important}
.lg-stats{gap:2rem !important}
.lg-stat-num{font-family:var(--lg-display);font-size:var(--wp--preset--font-size--xxl);font-weight:500;color:var(--lg-copper);line-height:1;margin:0}
.lg-stat-label{color:var(--lg-mist);font-size:.9375rem;max-width:24ch;margin-top:.75rem !important}
.lg-note{color:#7E8893;font-size:.8125rem;margin-top:2rem !important}

/* Intro */
.lg-intro-cols{gap:clamp(2.5rem,6vw,6rem) !important}
.lg-pull{font-family:var(--lg-display);font-size:var(--wp--preset--font-size--xl);line-height:1.25;padding-left:1.5rem;border-left:2px solid var(--lg-tcopper);margin-top:2rem !important}
.lg-pull + .lg-lede{margin-top:2rem !important}
.lg-lede + .lg-lede{margin-top:1rem !important}
.lg-intro-img{position:relative;margin:0}
.lg-intro-img img{aspect-ratio:4/5;object-fit:cover;width:100%}
.lg-intro-img figcaption{position:absolute;bottom:1rem;left:1rem;margin:0;font-size:.8125rem;letter-spacing:.18em;text-transform:uppercase;color:var(--lg-ivory);background:rgba(20,27,35,.6);padding:.5rem .75rem}

/* Section heads */
.lg-sec-head{margin-bottom:clamp(2.5rem,5vw,4rem) !important;gap:2rem !important;align-items:flex-end}
.lg-sec-title{margin:0 !important}
.lg-sec-title > :first-child{margin-top:0}
.lg-sec-head > .lg-lede{max-width:46ch;margin:0 !important}

/* Services */
.lg-svc{gap:0 !important;margin-block:0 !important}
.lg-svc + .lg-svc{margin-top:-1px !important}
.lg-card{border:1px solid var(--lg-line);padding:2rem;display:flex;flex-direction:column;gap:1rem;transition:background .25s var(--lg-ease)}
.lg-card > *{margin:0 !important}
.lg-card + .lg-card{margin-left:-1px}
.lg-card:hover{background:var(--lg-ivory)}
.lg-num{font-family:var(--lg-display);font-size:var(--wp--preset--font-size--xl);color:var(--lg-tcopper);line-height:1}
.lg-card-text{color:var(--lg-muted);font-size:.9375rem;line-height:1.65}
.lg-tags{margin-top:auto !important;padding-top:1rem;border-top:1px dashed var(--lg-line);font-size:.8125rem;color:var(--lg-faint);letter-spacing:.04em}
.lg-card.is-feature{background:var(--lg-slate);color:var(--lg-ivory);border-color:var(--lg-slate)}
.lg-card.is-feature h3{color:var(--lg-ivory)}
.lg-card.is-feature .lg-card-text{color:var(--lg-mist)}
.lg-card.is-feature .lg-num{color:var(--lg-copper)}
.lg-card.is-feature .lg-tags{border-color:#3A4654}

/* Approach */
.lg-steps{position:relative;gap:0 !important}
.lg-steps::before{content:"";position:absolute;top:22px;left:0;right:0;height:1px;background:var(--lg-line)}
.lg-step{padding-right:1.5rem}
.lg-step > *{margin:0 !important}
.lg-dot{width:44px;height:44px;border-radius:50%;background:var(--lg-ivory);border:1px solid var(--lg-tcopper);display:grid;place-items:center;font-family:var(--lg-display);font-size:1.3rem;color:var(--lg-tcopper);position:relative;z-index:1;line-height:1}
.lg-step h3{margin-top:1.5rem !important}
.lg-step-text{margin-top:.75rem !important;color:var(--lg-muted);font-size:.9375rem}
.lg-gate{margin-top:1rem !important;font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase;color:var(--lg-tcopper);font-weight:500}

/* Full bleed image breaks */
.lg-bleed{min-height:clamp(360px,62vw,720px) !important;padding-bottom:clamp(2rem,6vw,5rem) !important}
.lg-bleed .lg-bleed-quote{font-family:var(--lg-display);font-size:var(--wp--preset--font-size--xxl);line-height:1.1;color:var(--lg-ivory);max-width:22ch;margin-left:var(--lg-edge) !important;margin-right:auto !important}

/* Leadership */
.lg-leader{gap:clamp(2.5rem,6vw,6rem) !important}
.lg-portrait-col{position:sticky;top:110px;align-self:flex-start}
.lg-portrait{min-height:clamp(440px,48vw,680px) !important;padding:1.5rem !important;margin:0;align-items:flex-end}
.lg-portrait .wp-block-cover__inner-container > *{margin-left:0 !important}
.lg-mono{font-family:var(--lg-display);font-size:5rem;line-height:.8;color:var(--lg-copper);margin:0}
.lg-mono-name{font-size:.8125rem;letter-spacing:.22em;text-transform:uppercase;color:var(--lg-ivory);margin-top:.5rem !important}
.lg-caption{font-size:.8125rem;color:var(--lg-faint);margin-top:1rem !important}
.lg-role{font-size:.9375rem;letter-spacing:.18em;text-transform:uppercase;color:var(--lg-tcopper);font-weight:600;margin-top:1rem !important}
.lg-opener{font-size:var(--wp--preset--font-size--lg);line-height:1.5}
.lg-bio{color:var(--lg-muted);margin-top:1.25rem !important}
.lg-timeline{margin-top:3rem !important;border-top:1px solid var(--lg-line)}
.lg-tl-row{display:grid;grid-template-columns:140px 1fr;gap:1.5rem;padding:1.25rem 0;border-bottom:1px solid var(--lg-line);margin:0 !important}
.lg-tl-row > *{margin:0 !important}
.lg-tl-date{font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase;color:var(--lg-tcopper);font-weight:600;padding-top:3px}
.lg-tl-text{font-size:.9375rem;color:var(--lg-muted)}
.lg-tl-text strong{color:var(--lg-slate);font-weight:600}
.lg-sig{margin-top:2.5rem !important;font-family:var(--lg-display);font-size:var(--wp--preset--font-size--xl);font-style:italic}

/* Who we serve */
.lg-clients{gap:1.5rem !important}
.lg-client{border-top:2px solid var(--lg-slate);padding-top:1.5rem}
.lg-client > *{margin:0 !important}
.lg-client .lg-client-title{font-family:var(--lg-display);font-size:var(--wp--preset--font-size--xl);font-weight:500;line-height:1.15}
.lg-client .lg-card-text{margin-top:.75rem !important}

/* Owner report */
.lg-report-cols{gap:clamp(2.5rem,6vw,5rem) !important}
.lg-checks{list-style:none;padding:0;margin-top:2rem !important;display:grid;gap:1rem}
.lg-checks li{position:relative;padding-left:30px;font-size:.9375rem;color:var(--lg-muted)}
.lg-checks li::before{content:"";position:absolute;left:5px;top:.3em;width:6px;height:11px;border:solid var(--lg-tcopper);border-width:0 2px 2px 0;transform:rotate(45deg)}
.lg-report-card{background:var(--lg-surface);border:1px solid var(--lg-line);padding:2rem;box-shadow:0 30px 60px -30px rgba(20,27,35,.35)}
.lg-rc-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--lg-line);padding-bottom:1rem;margin-bottom:1.5rem;gap:1rem}
.lg-rc-head b{font-family:var(--lg-display);font-size:1.4rem;font-weight:600}
.lg-rc-head span{font-size:.8125rem;color:var(--lg-faint);letter-spacing:.12em;text-transform:uppercase}
.lg-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}
.lg-kpis div{background:var(--lg-ivory);padding:1rem}
.lg-kpis small{display:block;font-size:.8125rem;color:var(--lg-faint)}
.lg-kpis b{font-family:var(--lg-display);font-size:var(--wp--preset--font-size--xl);font-weight:600;font-variant-numeric:tabular-nums}
.lg-kpis .ok{color:#4C7A4A}
.lg-kpis .warn{color:var(--lg-tcopper)}
.lg-bar{margin-top:1rem}
.lg-bar .lbl{display:flex;justify-content:space-between;font-size:.8125rem;color:var(--lg-muted);margin-bottom:.5rem}
.lg-bar .track{height:8px;background:var(--lg-stone);position:relative}
.lg-bar .fill{position:absolute;inset:0 auto 0 0;background:var(--lg-tcopper);width:var(--w,0%);transition:width 1.2s var(--lg-ease)}
.lg-bar .plan{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--lg-slate);left:var(--p,0%)}
.lg-rc-foot{margin:1.5rem 0 0;font-size:.8125rem;color:var(--lg-faint)}

/* Phoenix family */
.lg-family-cols{gap:4rem !important}
.lg-fam-list{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 2rem}
.lg-fam-item{margin:0 !important;padding:.75rem 0;border-bottom:1px solid #2F3B48;color:var(--lg-mist);font-size:.9375rem}
.lg-fam-item strong{color:var(--lg-ivory);font-weight:600}

/* Contact */
.lg-contact-cols{gap:clamp(2.5rem,6vw,5rem) !important}
.lg-dl{margin-top:2.5rem !important}
.lg-dl > *{margin:0}
.lg-dt{font-size:.8125rem;letter-spacing:.18em;text-transform:uppercase;color:var(--lg-faint);margin-top:1.5rem !important}
.lg-dt:first-child{margin-top:0 !important}
.lg-dd{font-size:var(--wp--preset--font-size--lg);margin-top:.25rem !important}
.lg-dd a{text-decoration:none;border-bottom:1px solid var(--lg-tcopper)}
.lg-form{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.lg-form .full{grid-column:1/-1}
.lg-form label{display:block;font-size:.8125rem;letter-spacing:.12em;text-transform:uppercase;color:var(--lg-muted);margin-bottom:.5rem;font-weight:500}
.lg-form input,.lg-form select,.lg-form textarea{width:100%;box-sizing:border-box;font:inherit;font-size:1rem;color:var(--lg-slate);background:var(--lg-surface);border:1px solid var(--lg-line);border-radius:2px;padding:.75rem 1rem;transition:border-color .2s}
.lg-form input:focus,.lg-form select:focus,.lg-form textarea:focus{outline:none;border-color:var(--lg-tcopper)}
.lg-form textarea{min-height:130px;resize:vertical}
.lg-form-actions{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}
.lg-form button{cursor:pointer;border:0}
.lg-form-note{font-size:.8125rem;color:var(--lg-faint)}
.lg-form-ok{display:none;padding:1rem;background:#E8D6C3;font-size:.9375rem}
.lg-form-ok.is-visible{display:block}

/* Footer */
.lg-footer{border-top:1px solid var(--lg-line);padding-block:3rem !important;font-size:.8125rem;color:var(--lg-faint)}
.lg-foot-cols{gap:2.5rem !important}
.lg-foot-small{max-width:80ch;line-height:1.7;margin-top:1.25rem}
.lg-foot-cols .wp-block-column > .lg-foot-small:first-child{margin-top:0}
.lg-footer .lg-brand{color:var(--lg-slate)}

/* Standard pages and posts */
.lg-page{padding-block:clamp(3rem,6vw,6rem) !important}
.lg-page .wp-block-post-title{font-size:var(--wp--preset--font-size--xxl)}

/* Reveal on scroll, front end only */
.lg-js .lg-rv{opacity:0;transform:translateY(24px);transition:opacity .9s var(--lg-ease),transform .9s var(--lg-ease)}
.lg-js .lg-rv.in{opacity:1;transform:none}

/* Responsive */
@media (max-width:781px){
  .lg-stats{flex-wrap:wrap !important}
  .wp-block-columns.lg-stats > .wp-block-column{flex-basis:calc(50% - 1rem) !important}
  .lg-card + .lg-card{margin-left:0;margin-top:-1px}
  .lg-svc{gap:0 !important}
  .lg-steps{gap:2rem !important}
  .lg-steps::before{top:0;bottom:0;left:22px;right:auto;width:1px;height:auto}
  .lg-step{display:grid;grid-template-columns:44px 1fr;column-gap:1.5rem;padding-right:0}
  .lg-step .lg-dot{grid-row:span 4}
  .lg-step h3{margin-top:.5rem !important}
  .lg-portrait-col{position:relative;top:0}
  .lg-tl-row{grid-template-columns:1fr;gap:.25rem}
  .wp-block-columns.lg-clients{flex-wrap:wrap !important}
  .wp-block-columns.lg-clients > .wp-block-column{flex-basis:calc(50% - .75rem) !important}
  .lg-form{grid-template-columns:1fr}
}
@media (max-width:560px){
  .wp-block-columns.lg-clients > .wp-block-column{flex-basis:100% !important}
  .lg-fam-list{grid-template-columns:1fr}
  .lg-kpis{grid-template-columns:1fr;gap:.5rem}
  .lg-kpis div{display:flex;justify-content:space-between;align-items:baseline;padding:.75rem 1rem}
  .lg-kpis b{font-size:1.5rem}
  .lg-rc-head{flex-wrap:wrap}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important}
  .lg-js .lg-rv{opacity:1;transform:none}
}
