/*
Theme Name: F&M Construction
Theme URI: https://ijc.fc7.mytemp.website/
Author: F&M Construction
Description: Custom classic theme for F&M Construction (San Antonio general contractor). Renders the site's shared templates and content as WordPress pages mapped by slug, preserving the published copy, visual system, and structured data. Installs under wp-content/themes/fmconstruction without touching WordPress core.
Version: 1.0.0
Requires at least: 6.3
Tested up to: 6.6
Requires PHP: 8.1
License: Proprietary — F&M Construction
Text Domain: fmconstruction
*/
/* F&M monochrome production override */
:root{--ink:#111;--forest:#000;--paper:#fff;--cream:#f2f2f2;--white:#fff;--clay:#111;--clay-dark:#000;--sage:#555;--line:rgba(0,0,0,.18);--shadow:0 24px 60px rgba(0,0,0,.16)}.site-header{background:rgba(255,255,255,.97)}.eyebrow,.section-label{color:#fff}.concept-image{background:#000}.concept-image img,.visual-grid img{filter:grayscale(1) contrast(1.05)}.concept-image figcaption{background:rgba(0,0,0,.92)}.trust-grid span,.split p,.narrow>p,.section-head p,.service-card p,.faq-list details p,.process-row p,.legal-copy p,.legal-copy li,.form-note{color:#555}.step b{color:#fff}.step p,.contact-panel p{color:#e5e5e5}.field input,.field select,.field textarea{border-color:#777}.alert.success{background:#f4f4f4;border-color:#000}.alert.error{background:#ededed;border-color:#111}.site-footer{background:#000;color:#e5e5e5}.footer-bottom{border-color:#555;color:#bbb}.nav-cta,.button,.button.dark,.button.light{background:#000!important;color:#fff!important;border:2px solid #000!important;opacity:1!important}.nav-cta:hover,.button:hover,.button.dark:hover,.button.light:hover{background:#fff!important;color:#000!important;border-color:#000!important}.button:focus-visible,.nav-cta:focus-visible{outline:3px solid #fff!important;outline-offset:3px}
/* Modern monochrome + signal-orange accent system */
:root{--accent:#ff5a1f;--accent-deep:#d93d0b;--accent-soft:#fff0ea}.eyebrow,.section-label{color:var(--accent)!important}.utility{border-bottom:2px solid var(--accent)}.brand-mark{background:var(--accent)!important;color:#000!important}.nav-cta,.button,.button.dark,.button.light{background:#000!important;color:#fff!important;border-color:#000!important;box-shadow:inset 0 -3px 0 var(--accent)}.nav-cta:hover,.button:hover,.button.dark:hover,.button.light:hover{background:var(--accent)!important;color:#000!important;border-color:var(--accent)!important;box-shadow:none}.text-link span,.service-card span,.check-list span,.faq-list summary:after,.process-row:before{color:var(--accent)!important}.service-card:hover{border-color:var(--accent);box-shadow:0 18px 45px rgba(0,0,0,.16)}.cta-band{background:var(--accent)!important;color:#000!important}.cta-band .button{background:#000!important;color:#fff!important;border-color:#000!important}.concept-image figcaption{border-left:4px solid var(--accent)}.alert.success{border-left-color:var(--accent)!important}.alert.error{border-left-color:#000!important}.site-footer{border-top:4px solid var(--accent)}/* Keep construction and leadership photography in its original color. */.concept-image img,.visual-grid img{filter:none!important}
:root{--ink:#172019;--forest:#13251b;--paper:#f5f1e8;--cream:#ebe4d6;--white:#fffdf8;--clay:#b85f3c;--clay-dark:#91482e;--sage:#71806f;--line:rgba(23,32,25,.16);--serif:Georgia,"Times New Roman",serif;--sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--shadow:0 24px 60px rgba(14,26,18,.14);--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.65 var(--sans)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}.shell{width:min(var(--max),calc(100% - 48px));margin-inline:auto}.narrow{max-width:800px}.skip-link{position:fixed;left:16px;top:-80px;z-index:100;background:var(--white);padding:12px 16px;border:2px solid var(--clay)}.skip-link:focus{top:16px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #e18862;outline-offset:3px}.utility{background:var(--forest);color:#d8dfd7;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.utility .shell{height:34px;display:flex;align-items:center;justify-content:space-between;gap:20px}.site-header{position:sticky;top:0;z-index:50;background:rgba(245,241,232,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.header-inner{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:inline-flex;align-items:center;gap:12px;font-size:1rem;letter-spacing:.01em}.brand-mark{display:grid;place-items:center;width:42px;height:42px;background:var(--clay);color:#fff;font-weight:800;font-size:.72rem}.brand b{font-weight:750}.primary-nav{display:flex;align-items:center;gap:28px;font-size:.88rem;font-weight:650}.primary-nav a:not(.nav-cta):hover,.primary-nav a[aria-current=page]:not(.nav-cta){color:var(--clay)}.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;background:var(--clay);color:#fff;font-size:.75rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;border:1px solid var(--clay);cursor:pointer;transition:background .2s,transform .2s}.nav-cta:hover,.button:hover{background:var(--clay-dark);border-color:var(--clay-dark);transform:translateY(-2px)}.button.dark{background:var(--forest);border-color:var(--forest)}.button.light{background:transparent;border-color:rgba(255,255,255,.6)}.text-link{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.text-link span{color:var(--clay);margin-left:5px}.menu-toggle{display:none;border:0;background:none;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.home-hero{background:var(--forest);color:#fff}.home-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;min-height:650px}.home-hero-copy{display:flex;justify-content:center;flex-direction:column;padding:80px clamp(30px,5vw,70px) 80px 0}.eyebrow,.section-label{display:block;margin-bottom:18px;color:#de8762;font-size:.7rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.home-hero h1,.page-hero h1{font:400 clamp(3.3rem,6vw,6rem)/.94 var(--serif);letter-spacing:-.05em;margin:0}.home-hero p,.page-hero-copy>p{max-width:58ch;margin:26px 0 32px;color:#d7ddd5;font-size:1.05rem}.button-row{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.home-hero .text-link{color:#fff}.concept-image{position:relative;margin:0;min-height:380px;background:#25362b;overflow:hidden}.concept-image img{width:100%;height:100%;object-fit:cover}.concept-image figcaption{position:absolute;right:0;bottom:0;max-width:80%;padding:11px 14px;background:rgba(19,37,27,.94);color:#fff;font-size:.65rem;letter-spacing:.07em;text-transform:uppercase}.trust-strip{border-bottom:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-grid div{padding:24px 18px;border-left:1px solid var(--line)}.trust-grid div:last-child{border-right:1px solid var(--line)}.trust-grid strong{display:block;font:400 1.22rem var(--serif)}.trust-grid span{font-size:.76rem;color:#60685f}.section{padding:96px 0}.tone{background:var(--cream)}.dark-section{background:var(--forest);color:#fff}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,8vw,110px);align-items:start}.split h2,.section-head h2,.narrow h2,.cta-band h2{font:400 clamp(2.4rem,4.5vw,4.2rem)/1.03 var(--serif);letter-spacing:-.04em;margin:0}.split p,.narrow>p,.section-head p{color:#555e55}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:42px}.section-head p{max-width:55ch;margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-card{display:flex;min-height:250px;flex-direction:column;padding:30px;background:var(--white);border:1px solid var(--line);transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.service-card span{color:var(--clay);font:400 1.35rem var(--serif)}.service-card h3{margin:40px 0 8px;font:400 1.55rem var(--serif)}.service-card p{color:#5b635a;margin:0}.service-card b{margin-top:auto;padding-top:20px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.visual-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.visual-grid .concept-image:first-child{min-height:610px}.visual-stack{display:grid;gap:18px}.visual-stack .concept-image{min-height:296px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;margin-top:45px;border-top:1px solid rgba(255,255,255,.22)}.step{padding-top:26px}.step b{color:#e68b66;font:400 1.5rem var(--serif)}.step h3{margin:18px 0 8px}.step p{margin:0;color:#c4cec4}.cta-band{background:var(--clay);color:#fff;padding:72px 0}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.cta-band h2{max-width:750px}.cta-band .button{background:var(--forest);border-color:var(--forest);flex:0 0 auto}.page-hero{background:var(--forest);color:#fff}.page-hero-grid{display:grid;grid-template-columns:1fr 1fr;min-height:570px}.page-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:70px clamp(30px,5vw,70px) 70px 0}.page-hero h1{font-size:clamp(3rem,5.4vw,5.25rem)}.check-list{border-top:1px solid var(--line)}.check-list div{display:grid;grid-template-columns:35px 1fr;gap:18px;padding:19px 0;border-bottom:1px solid var(--line)}.check-list span{color:var(--clay);font-weight:900}.check-list p{margin:0}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:0}.faq-list summary{list-style:none;cursor:pointer;padding:22px 45px 22px 0;font:400 1.2rem var(--serif);position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:10px;color:var(--clay)}.faq-list details[open] summary:after{content:'–'}.faq-list details p{max-width:75ch;margin:0;padding:0 40px 24px 0;color:#586157}.process-list{counter-reset:process}.process-row{counter-increment:process;display:grid;grid-template-columns:110px 1fr 1fr;gap:35px;padding:36px 0;border-top:1px solid var(--line)}.process-row:before{content:'0' counter(process);color:var(--clay);font:400 1.8rem var(--serif)}.process-row h2{font:400 2rem var(--serif);margin:0}.process-row p{margin:0;color:#596159}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.contact-panel{background:var(--forest);color:#fff;padding:45px}.contact-panel h1{font:400 clamp(3rem,5vw,4.8rem)/.98 var(--serif);letter-spacing:-.04em;margin:0}.contact-panel p{color:#ccd4cc}.contact-form{display:grid;gap:18px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field label{display:block;margin-bottom:6px;font-size:.74rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.field input,.field select,.field textarea{width:100%;border:1px solid #a8ada6;background:var(--white);color:var(--ink);padding:13px 14px;border-radius:0}.field textarea{min-height:150px;resize:vertical}.field-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-note{font-size:.78rem;color:#636a62}.alert{padding:14px 16px;border-left:4px solid;margin-bottom:22px}.alert.success{background:#dcebdd;border-color:#367747}.alert.error{background:#f7ded7;border-color:#a63f27}.legal-copy h2{font:400 2rem var(--serif);margin:42px 0 8px}.legal-copy p,.legal-copy li{color:#555e55}.site-footer{background:#0e1711;color:#cfd5ce;padding:64px 0 24px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:60px}.footer-grid h2{color:#fff;font:800 .7rem var(--sans);letter-spacing:.13em;text-transform:uppercase}.footer-grid a:not(.brand){display:block;margin:8px 0;font-size:.88rem}.footer-grid p{max-width:38ch}.footer-brand{color:#fff}.footer-bottom{display:flex;justify-content:space-between;margin-top:48px;padding-top:20px;border-top:1px solid #344037;color:#8e998e;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}@media(max-width:850px){.shell{width:min(var(--max),calc(100% - 34px))}.utility .shell{font-size:.62rem}.menu-toggle{display:block}.primary-nav{display:none;position:absolute;top:80px;left:0;right:0;padding:22px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}.primary-nav.open{display:flex}.home-hero-grid,.page-hero-grid,.split,.contact-layout{grid-template-columns:1fr}.home-hero-copy,.page-hero-copy{padding:60px 0 45px}.home-hero h1,.page-hero h1{font-size:clamp(3rem,13vw,4.5rem)}.home-hero-grid .concept-image,.page-hero-grid .concept-image{min-height:360px}.section{padding:68px 0}.trust-grid{grid-template-columns:1fr 1fr}.section-head{display:block}.section-head p{margin-top:18px}.service-grid{grid-template-columns:1fr 1fr}.visual-grid{grid-template-columns:1fr}.visual-grid .concept-image:first-child{min-height:400px}.visual-stack{grid-template-columns:1fr 1fr}.visual-stack .concept-image{min-height:260px}.steps{grid-template-columns:1fr 1fr}.cta-inner{display:block}.cta-band .button{margin-top:28px}.process-row{grid-template-columns:65px 1fr}.process-row p{grid-column:2}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}@media(max-width:540px){.utility .shell span:last-child{display:none}.service-grid,.steps,.visual-stack,.form-row,.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.trust-grid strong{font-size:1rem}.trust-grid div{padding:16px 10px}.contact-panel{padding:30px 24px}.concept-image figcaption{max-width:100%}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:8px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* final monochrome cascade */
:root{--ink:#111;--forest:#000;--paper:#fff;--cream:#f2f2f2;--white:#fff;--clay:#111;--clay-dark:#000;--sage:#555;--line:rgba(0,0,0,.18);--shadow:0 24px 60px rgba(0,0,0,.16)}.site-header{background:rgba(255,255,255,.97)}.eyebrow,.section-label{color:#fff}.concept-image{background:#000}.concept-image img,.visual-grid img{filter:grayscale(1) contrast(1.05)}.concept-image figcaption{background:rgba(0,0,0,.92)}.trust-grid span,.split p,.narrow>p,.section-head p,.service-card p,.faq-list details p,.process-row p,.legal-copy p,.legal-copy li,.form-note{color:#555}.step b{color:#fff}.step p,.contact-panel p{color:#e5e5e5}.field input,.field select,.field textarea{border-color:#777}.alert.success{background:#f4f4f4;border-color:#000}.alert.error{background:#ededed;border-color:#111}.site-footer{background:#000;color:#e5e5e5}.footer-bottom{border-color:#555;color:#bbb}.nav-cta,.button,.button.dark,.button.light{background:#000!important;color:#fff!important;border:2px solid #000!important;opacity:1!important}.nav-cta:hover,.button:hover,.button.dark:hover,.button.light:hover{background:#fff!important;color:#000!important;border-color:#000!important}.button:focus-visible,.nav-cta:focus-visible{outline:3px solid #fff!important;outline-offset:3px}
/* Modern monochrome + signal-orange accent system */
:root{--accent:#ff5a1f;--accent-deep:#d93d0b;--accent-soft:#fff0ea}.eyebrow,.section-label{color:var(--accent)!important}.utility{border-bottom:2px solid var(--accent)}.brand-mark{background:var(--accent)!important;color:#000!important}.nav-cta,.button,.button.dark,.button.light{background:#000!important;color:#fff!important;border-color:#000!important;box-shadow:inset 0 -3px 0 var(--accent)}.nav-cta:hover,.button:hover,.button.dark:hover,.button.light:hover{background:var(--accent)!important;color:#000!important;border-color:var(--accent)!important;box-shadow:none}.text-link span,.service-card span,.check-list span,.faq-list summary:after,.process-row:before{color:var(--accent)!important}.service-card:hover{border-color:var(--accent);box-shadow:0 18px 45px rgba(0,0,0,.16)}.cta-band{background:var(--accent)!important;color:#000!important}.cta-band .button{background:#000!important;color:#fff!important;border-color:#000!important}.concept-image figcaption{border-left:4px solid var(--accent)}.alert.success{border-left-color:var(--accent)!important}.alert.error{border-left-color:#000!important}.site-footer{border-top:4px solid var(--accent)}/* Keep construction and leadership photography in its original color. */.concept-image img,.visual-grid img{filter:none!important}
