/* Phil Gibson site styles — component theming via .pg- classes. Layout handled by Elementor containers. */
:root{--pg-paper:#f1ede1;--pg-paper2:#e7e1d0;--pg-paper3:#fbf9f2;--pg-ink:#16140d;--pg-ink-soft:#54503f;--pg-ink-faint:#8d8771;--pg-line:#d4cdb8;--pg-red:#cc4632;--pg-sage:#8d9a83;--pg-on-dark:#f1ede1;--pg-on-dark-soft:#a6a08c;--pg-mono:ui-monospace,'SF Mono','Menlo','Consolas','Roboto Mono',monospace;}
body{background:var(--pg-paper);color:var(--pg-ink);}
::selection{background:var(--pg-red);color:var(--pg-paper);}
/* outlined stroke text */
.pg-stroke .elementor-heading-title,.pg-stroke{color:transparent!important;-webkit-text-stroke:1.5px var(--pg-ink);}
.pg-stroke-light .elementor-heading-title,.pg-stroke-light{color:transparent!important;-webkit-text-stroke:1.5px var(--pg-on-dark-soft);}
/* mono micro-label */
.pg-label .elementor-heading-title,.pg-label{font-family:var(--pg-mono)!important;font-size:.72rem!important;letter-spacing:.16em!important;text-transform:uppercase;color:var(--pg-ink-faint)!important;font-weight:500!important;display:inline-flex;align-items:center;gap:.6em;line-height:1.4;}
.pg-label .elementor-heading-title::before{content:'';width:7px;height:7px;background:var(--pg-red);display:inline-block;flex:none;}
.pg-label-plain .elementor-heading-title::before{display:none;}
.pg-label-on-dark .elementor-heading-title{color:var(--pg-on-dark-soft)!important;}
/* tag pill */
.pg-tag .elementor-heading-title,.pg-tag{font-family:var(--pg-mono)!important;font-size:.7rem!important;letter-spacing:.08em!important;text-transform:uppercase;padding:.5em .85em;border:1.5px solid var(--pg-line);border-radius:999px;color:var(--pg-ink-soft)!important;display:inline-block;line-height:1;font-weight:500!important;}
.pg-tag-solid .elementor-heading-title{background:var(--pg-ink);color:var(--pg-paper)!important;border-color:var(--pg-ink);}
.pg-tag-on-dark .elementor-heading-title{border-color:#2c281c!important;color:var(--pg-on-dark-soft)!important;}
/* buttons (native elementor button widget, themed) */
.pg-btn .elementor-button{font-family:var(--pg-mono)!important;letter-spacing:.08em;text-transform:uppercase;font-weight:500;border-radius:0;border:1.5px solid var(--pg-ink);font-size:.8rem;padding:1.05em 1.5em;transition:background .18s,color .18s,border-color .18s;}
.pg-btn-lg .elementor-button{padding:1.25em 1.9em;font-size:.92rem;}
.pg-btn .elementor-button .elementor-button-icon{transition:transform .2s ease;}
.pg-btn .elementor-button:hover .elementor-button-icon{transform:translateX(4px);}
.pg-btn-solid .elementor-button{background:var(--pg-ink);color:var(--pg-paper);}
.pg-btn-solid .elementor-button:hover{background:var(--pg-red);border-color:var(--pg-red);color:var(--pg-paper);}
.pg-btn-ghost .elementor-button{background:transparent;color:var(--pg-ink);}
.pg-btn-ghost .elementor-button:hover{background:var(--pg-ink);color:var(--pg-paper);}
.pg-btn-ondark .elementor-button{background:var(--pg-paper);color:var(--pg-ink);border-color:var(--pg-paper);}
.pg-btn-ondark .elementor-button:hover{background:var(--pg-ink);color:var(--pg-paper);border-color:var(--pg-ink);}
/* textlink */
.pg-textlink .elementor-button,.pg-textlink a{background:transparent!important;border:0;border-bottom:2px solid var(--pg-ink)!important;border-radius:0;padding:0 0 1px!important;font-weight:700;color:var(--pg-ink)!important;letter-spacing:-.01em;text-transform:none;font-family:inherit!important;}
.pg-textlink .elementor-button:hover{color:var(--pg-red)!important;border-color:var(--pg-red)!important;background:transparent!important;}
/* dividers */
.pg-divider .elementor-divider-separator{border-top-width:1.5px!important;border-color:var(--pg-ink)!important;}
.pg-divider-light .elementor-divider-separator{border-color:var(--pg-on-dark-soft)!important;}
.pg-hairline .elementor-divider-separator{border-color:var(--pg-line)!important;}
/* statement */
.pg-statement .elementor-heading-title{font-weight:800;line-height:1.02;letter-spacing:-.03em;}
.pg-statement .pg-red{color:var(--pg-red);}
.pg-statement .pg-sage{color:var(--pg-sage);}
/* headings on dark */
.pg-on-dark .elementor-heading-title{color:var(--pg-on-dark);}
.pg-on-dark-soft .elementor-heading-title,.pg-body-ondark{color:var(--pg-on-dark-soft)!important;}
/* work card */
.pg-work{transition:transform .22s ease,box-shadow .22s ease;}
.pg-work:hover{transform:translateY(-4px);box-shadow:10px 12px 0 -2px var(--pg-ink);}
/* service row hover */
.pg-svc-row{transition:padding-left .25s ease;}
.pg-svc-row:hover{padding-left:clamp(.5rem,1.5vw,1.25rem);}
/* mono number accents */
.pg-mono .elementor-heading-title,.pg-mono{font-family:var(--pg-mono)!important;letter-spacing:.08em;}
.pg-num .elementor-heading-title{font-weight:800;letter-spacing:-.03em;line-height:1;}
.pg-stepno .elementor-heading-title{font-family:var(--pg-mono)!important;color:var(--pg-red)!important;font-size:.85rem!important;font-weight:500!important;letter-spacing:.06em;}
/* email hero */
.pg-email-hero .elementor-heading-title{font-weight:800;letter-spacing:-.03em;line-height:1.05;}
.pg-email-hero a{color:var(--pg-ink);border-bottom:3px solid var(--pg-ink);padding-bottom:4px;transition:color .18s,border-color .18s;word-break:break-word;}
.pg-email-hero a:hover{color:var(--pg-red);border-color:var(--pg-red);}
/* placeholder text */
.pg-placeholder .elementor-heading-title,.pg-placeholder{color:var(--pg-ink-faint)!important;font-family:var(--pg-mono)!important;font-weight:400!important;}
/* sticky header blur + footer */
.xpro-theme-builder-header.xtb-header-sticky,.pg-header-sticky{position:sticky;top:0;z-index:99;background:color-mix(in srgb,#f1ede1 88%,transparent)!important;backdrop-filter:saturate(1.4) blur(10px);}
/* WPForms theming */
.pg-form .wpforms-field-label{font-family:var(--pg-mono)!important;font-size:.7rem!important;letter-spacing:.1em;text-transform:uppercase;color:var(--pg-ink-soft)!important;font-weight:500!important;}
.pg-form input[type=text],.pg-form input[type=email],.pg-form textarea{background:var(--pg-paper)!important;border:1.5px solid var(--pg-line)!important;border-radius:0!important;color:var(--pg-ink)!important;padding:.8em .9em!important;font-size:.98rem!important;}
.pg-form input:focus,.pg-form textarea:focus{border-color:var(--pg-ink)!important;outline:none!important;box-shadow:none!important;}
.pg-form textarea{min-height:130px!important;}
.pg-form .wpforms-submit{font-family:var(--pg-mono)!important;letter-spacing:.08em;text-transform:uppercase;font-weight:500!important;background:var(--pg-ink)!important;color:var(--pg-paper)!important;border:1.5px solid var(--pg-ink)!important;border-radius:0!important;padding:1.1em 1.9em!important;width:100%!important;transition:background .18s,border-color .18s;}
.pg-form .wpforms-submit:hover{background:var(--pg-red)!important;border-color:var(--pg-red)!important;}
/* nav menu (xpro horizontal menu) tweaks */
.pg-nav a{font-family:var(--pg-mono)!important;font-size:.75rem!important;letter-spacing:.1em;text-transform:uppercase;}
/* ---- type scale ---- */
.pg-display .elementor-heading-title{font-size:clamp(3.2rem,11.5vw,11rem);font-weight:800;line-height:.9;letter-spacing:-.035em;}
.pg-h1 .elementor-heading-title{font-size:clamp(2.6rem,7vw,6rem);font-weight:800;line-height:.98;letter-spacing:-.03em;}
.pg-h2 .elementor-heading-title{font-size:clamp(2rem,4.6vw,3.6rem);font-weight:800;line-height:1.02;letter-spacing:-.025em;}
.pg-h3 .elementor-heading-title{font-size:clamp(1.3rem,2.2vw,1.9rem);font-weight:700;line-height:1.12;letter-spacing:-.015em;}
.pg-statement .elementor-heading-title{font-size:clamp(2rem,5.5vw,4.6rem)!important;font-weight:800;line-height:1.02;letter-spacing:-.03em;}
.pg-lead .elementor-heading-title,.pg-lead{font-size:clamp(1.05rem,1.7vw,1.45rem)!important;line-height:1.42;color:var(--pg-ink-soft);font-weight:400;}
.pg-body p,.pg-body{color:var(--pg-ink-soft);}
.pg-body-ondark p,.pg-body-ondark{color:var(--pg-on-dark-soft)!important;}
.pg-footer-mark .elementor-heading-title{font-size:clamp(3.5rem,16vw,13rem);font-weight:800;letter-spacing:-.045em;line-height:.85;}
.pg-colnum .elementor-heading-title{font-size:clamp(2.2rem,4vw,3.4rem);font-weight:800;letter-spacing:-.03em;line-height:1;}
.pg-coltitle .elementor-heading-title{font-weight:700;font-size:1.15rem;}
.pg-worktitle .elementor-heading-title{font-weight:700;font-size:1.15rem;letter-spacing:-.01em;line-height:1.1;}
.pg-brandname .elementor-heading-title{font-weight:800;letter-spacing:-.02em;font-size:1.02rem;line-height:1;}
.pg-brandrole .elementor-heading-title{font-family:var(--pg-mono)!important;font-size:.6rem!important;letter-spacing:.14em;text-transform:uppercase;color:var(--pg-ink-faint)!important;}
.pg-steptitle .elementor-heading-title{font-weight:700;font-size:1.25rem;letter-spacing:-.01em;}
.pg-spec-k .elementor-heading-title{font-family:var(--pg-mono)!important;font-size:.72rem!important;letter-spacing:.12em;text-transform:uppercase;color:var(--pg-on-dark-soft)!important;font-weight:500!important;}
.pg-cinfo-k .elementor-heading-title{font-family:var(--pg-mono)!important;font-size:.72rem!important;letter-spacing:.12em;text-transform:uppercase;color:var(--pg-ink-faint)!important;font-weight:500!important;}
.pg-cinfo-v .elementor-heading-title{font-weight:600;}
.pg-workmeta .elementor-heading-title{font-family:var(--pg-mono)!important;font-size:.66rem!important;letter-spacing:.1em;text-transform:uppercase;color:var(--pg-ink-faint)!important;}
.pg-workyear .elementor-heading-title{font-family:var(--pg-mono)!important;font-size:.78rem!important;color:var(--pg-ink-faint)!important;}
.pg-footcol-h .elementor-heading-title{font-family:var(--pg-mono)!important;font-size:.7rem!important;letter-spacing:.14em;text-transform:uppercase;color:var(--pg-on-dark-soft)!important;font-weight:500!important;}
.pg-footcol a,.pg-footcol .elementor-icon-list-text{color:var(--pg-on-dark)!important;font-size:.95rem!important;transition:color .15s;}
.pg-footcol a:hover,.pg-footcol .elementor-icon-list-item:hover .elementor-icon-list-text{color:var(--pg-red)!important;}
.pg-footbottom .elementor-heading-title{font-family:var(--pg-mono)!important;font-size:.7rem!important;letter-spacing:.06em;text-transform:uppercase;color:var(--pg-on-dark-soft)!important;font-weight:400!important;}
.pg-filter .elementor-heading-title{font-family:var(--pg-mono)!important;font-size:.72rem!important;letter-spacing:.08em;text-transform:uppercase;padding:.55em 1em;border:1.5px solid var(--pg-line);border-radius:999px;color:var(--pg-ink-soft)!important;display:inline-block;line-height:1;}
.pg-filter-active .elementor-heading-title{background:var(--pg-ink);color:var(--pg-paper)!important;border-color:var(--pg-ink);}
/* header/footer wrappers */
.xpro-theme-builder-header{border-bottom:1.5px solid var(--pg-ink);}
.xpro-theme-builder-header-nav{width:100%;}
#xpro-theme-builder-footer{background:var(--pg-ink);color:var(--pg-on-dark);}
.pg-brand-link,.pg-brand-link:hover{display:flex;}

/* statement text */
.pg-stmt p,.pg-stmt{font-size:clamp(2rem,5.5vw,4.6rem)!important;font-weight:800;line-height:1.02;letter-spacing:-.03em;color:var(--pg-on-dark);margin:0;}
.pg-stmt .r{color:var(--pg-red);}
.pg-stmt .s{color:var(--pg-sage);}
.pg-stmt-dark p{color:var(--pg-on-dark);}
.pg-stmt-light p{color:var(--pg-ink);}
/* svc number/desc */
.pg-svcno .elementor-heading-title{font-family:var(--pg-mono)!important;color:var(--pg-red)!important;font-size:.8rem!important;letter-spacing:.08em;}
.pg-spec-v p,.pg-spec-v{color:var(--pg-on-dark);}

.pg-email-hero .elementor-heading-title{font-size:clamp(1.6rem,4.5vw,3rem)!important;}
.pg-email-hero .elementor-heading-title a{color:var(--pg-ink);border-bottom:3px solid var(--pg-ink);padding-bottom:4px;}
.pg-email-hero .elementor-heading-title a:hover{color:var(--pg-red);border-bottom-color:var(--pg-red);}
.pg-card{border:1.5px solid var(--pg-ink);border-radius:5px;background:var(--pg-paper3);}
.pg-sendlist ul{margin:0;padding:0;list-style:none;display:grid;gap:.85rem;}
.pg-sendlist li{color:var(--pg-ink-soft);}
.pg-sendlist strong{color:var(--pg-ink);}
