/*
Theme Name: QB Design Signal
Theme URI: https://qbdesign.io/
Author: QB Design
Description: A modern FTTH/FTTX engineering theme for QB Design, with replaceable hero and project imagery.
Version: 1.0.22
Requires at least: 6.0
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: qb-design-signal
*/
:root{--green:#153f2f;--green2:#245b45;--orange:#ff6935;--paper:#f2f3ef;--white:#fff;--muted:#62736b;--line:#d4ddd7}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--paper);color:var(--green);font-family:Arial,sans-serif}body.admin-bar .site-header{top:32px}a{color:inherit}.wrap{width:min(1180px,92vw);margin:auto}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.site-header{position:sticky;top:0;z-index:50;background:#f2f3eff2;backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav{height:82px;display:flex;align-items:center;gap:32px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:15px;font-weight:700;letter-spacing:.14em}.custom-logo{display:block;max-width:42px;height:auto}.brand-mark{width:36px;height:36px}.links{display:flex;gap:28px;margin-left:auto}.links a{text-decoration:none;font-size:14px}.links a:hover{color:var(--orange)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border:0;border-radius:99px;text-decoration:none;font-weight:700;cursor:pointer}.btn-primary{background:var(--orange);color:#fff}.btn-secondary{border:1px solid var(--green)}.menu-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--line);padding:9px 12px;border-radius:99px;color:var(--green)}
.hero{padding:70px 0 92px;display:grid;grid-template-columns:1.08fr .92fr;gap:58px;align-items:center;min-height:690px}.hero h1{font-size:clamp(58px,7vw,100px);line-height:.98;letter-spacing:-.06em;margin:16px 0 24px}.hero h1 em{font-style:normal;color:var(--orange)}.hero p{font-size:18px;line-height:1.65;max-width:650px}.actions{display:flex;gap:12px;margin-top:30px}.hero-media{width:100%;max-width:520px;margin:auto}.hero-media img{display:block;width:100%;height:auto;max-height:540px;object-fit:contain}.cube-art{width:100%;filter:drop-shadow(0 25px 30px #153f2f20)}.cube-art .route{fill:none;stroke:#f5f2eb;stroke-width:2;stroke-linecap:round}.cube-art .backbone{stroke:var(--orange);stroke-width:3.5}.cube-art .node{fill:var(--orange);stroke:#3d3a36;stroke-width:3}.cube-art text{fill:#f5f2eb;font-family:Arial,sans-serif}
.stats{background:var(--green);color:#fff}.stats-row{display:grid;grid-template-columns:repeat(3,1fr)}.stat{padding:30px 0}.stat+.stat{padding-left:38px;border-left:1px solid #ffffff25}.stat b{display:block;font-size:34px}.stat span{font-size:13px;color:#b9cbc2}
.home-section{padding:105px 0}.section-head{display:grid;grid-template-columns:.75fr 1.25fr;gap:60px;margin-bottom:54px}.section-head h2{font-size:clamp(38px,5vw,64px);line-height:1.05;letter-spacing:-.05em;margin:0}.section-head p{font-size:17px;line-height:1.65;margin:4px 0;color:var(--muted)}.services{background:#fff}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service{background:#edf2ee;padding:28px;min-height:270px;transition:.25s}.service:hover{background:#dfeae3;transform:translateY(-3px)}.service .num{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--orange)}.service h3{font-size:22px;margin:62px 0 12px}.service p{color:var(--muted);line-height:1.6}
.steps{border-top:1px solid var(--green)}.step{display:grid;grid-template-columns:90px 1fr 1fr;gap:30px;padding:32px 0;border-bottom:1px solid var(--line)}.step b{font-size:13px;color:var(--orange)}.step h3{font-size:27px;margin:0}.step p{margin:0;color:var(--muted);line-height:1.6}.projects{background:var(--green);color:#fff}.projects .section-head p{color:#b9cbc2}.project-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.project{min-height:370px;padding:30px;position:relative;overflow:hidden;background:#1e4d3a}.project.alt{background:var(--orange)}.project img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.58}.project-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,#102e23cc)}.project h3{position:absolute;z-index:2;left:30px;bottom:24px;margin:0;font-size:27px}.project small{display:block;margin-top:8px;color:#ffffffc5}.project .tag{position:relative;z-index:2;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.about{background:#fff}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about h2{font-size:clamp(42px,5vw,66px);line-height:1.04;letter-spacing:-.05em;margin:10px 0}.about-copy{font-size:18px;line-height:1.7;color:var(--muted)}.principles{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.principle{padding:26px;background:#fff}.principle b{display:block;font-size:18px;margin-bottom:8px}.principle span{font-size:14px;color:var(--muted)}.contact{background:var(--orange);color:#fff}.contact-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:70px;align-items:end}.contact h2{font-size:clamp(48px,7vw,92px);line-height:.98;letter-spacing:-.055em;margin:10px 0 26px}.contact-card{border-top:1px solid #ffffff70;padding-top:24px}.contact-card a{display:block;font-size:20px;text-decoration:none;margin-bottom:10px}.contact-card p{color:#ffffffc2;line-height:1.6}.contact .btn{background:#fff;color:var(--green);margin-top:14px}.site-footer{background:#102e23;color:#fff;padding:44px 0}.footer-row{display:flex;justify-content:space-between;align-items:flex-end}.site-footer small{color:#a9beb4}.content-area{padding:80px 0;min-height:60vh}.entry{background:#fff;padding:40px;max-width:850px}.entry img{max-width:100%;height:auto}.entry-content{line-height:1.75}.entry-title{font-size:clamp(38px,6vw,64px);letter-spacing:-.04em}
@media(max-width:820px){body.admin-bar .site-header{top:46px}.links,.nav>.btn{display:none}.menu-toggle{display:block}.links.open{display:flex;position:absolute;top:82px;left:0;right:0;margin:0;padding:24px 4vw;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column}.hero,.stats-row,.service-grid,.project-grid,.about-grid,.contact-grid,.section-head{grid-template-columns:1fr}.hero{padding:58px 0}.stat+.stat{padding-left:0;border-left:0;border-top:1px solid #ffffff25}.section-head{gap:20px}.step{grid-template-columns:55px 1fr}.step p{grid-column:2}.principles{grid-template-columns:1fr}.footer-row{display:block}.site-footer .brand{margin-bottom:14px}}@media(max-width:480px){.hero h1{font-size:52px}.actions{flex-direction:column}.home-section{padding:78px 0}.entry{padding:24px}}

.project:not(:has(img))::before{content:"";position:absolute;inset:0;background-size:cover;background-position:center;opacity:.84}.project:not(:has(img))::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 760 420'%3E%3Cg fill='none' stroke='%23d7e2dc' stroke-width='1' opacity='.18'%3E%3Cpath d='M-40 90H800M-40 210H800M-40 330H800M100-20V460M285-20V460M495-20V460M660-20V460M-30 390 230-20M180 450 505-20M420 450 790 35'/%3E%3C/g%3E%3Cg fill='none' stroke='%23f4f2eb' stroke-width='2'%3E%3Cpath d='M92 267V150H210M290 157l72-95M390 213l-18 105h106M548 230l54 87M646 170l55-70'/%3E%3Cpath d='M-20 300C105 274 171 128 290 157S470 298 790 84' stroke='%23ff6935' stroke-width='4'/%3E%3C/g%3E%3Cg fill='%23ff6935' stroke='%23153f2f' stroke-width='3'%3E%3Ccircle cx='92' cy='267' r='7'/%3E%3Ccircle cx='290' cy='157' r='10'/%3E%3Ccircle cx='390' cy='213' r='7'/%3E%3Ccircle cx='548' cy='230' r='7'/%3E%3Ccircle cx='646' cy='170' r='7'/%3E%3C/g%3E%3Cg fill='%23fff' font-family='Arial' font-size='11' font-weight='700'%3E%3Ctext x='307' y='142'%3EDP-037%3C/text%3E%3Ctext x='108' y='255'%3EDP-021%3C/text%3E%3Ctext x='560' y='218'%3EDP-044%3C/text%3E%3Ctext x='388' y='338'%3E31 AURORA AVE.%3C/text%3E%3C/g%3E%3C/svg%3E")}.project.alt:not(:has(img))::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 520 420'%3E%3Cg fill='none' stroke='%23f6dfd1' stroke-width='1.5' opacity='.2'%3E%3Cpath d='M-30 78Q95 25 222 80t328-5M-40 155q130-62 245-5t350-14M-30 252q125-55 252 5t330-22M-20 345q120-42 240 12t330-32'/%3E%3C/g%3E%3Cg fill='none' stroke='%23fff' stroke-width='2'%3E%3Cpath d='M101 272 65 188M218 211l-18-112M326 176l40 101M430 128l35-75'/%3E%3Cpath d='M-20 323C103 303 113 194 218 211S354 124 550 91' stroke='%23ffd7c5' stroke-width='4'/%3E%3C/g%3E%3Cg fill='%23fff' stroke='%23783720' stroke-width='3'%3E%3Ccircle cx='101' cy='272' r='7'/%3E%3Ccircle cx='218' cy='211' r='10'/%3E%3Ccircle cx='326' cy='176' r='7'/%3E%3Ccircle cx='430' cy='128' r='7'/%3E%3C/g%3E%3Cg fill='%23fff' font-family='Arial' font-size='11' font-weight='700'%3E%3Ctext x='234' y='197'%3EDP-112%3C/text%3E%3Ctext x='340' y='162'%3EDP-118%3C/text%3E%3Ctext x='77' y='181'%3EHOUSE 24%3C/text%3E%3C/g%3E%3C/svg%3E")}

.hero-media:has(.cube-art){position:relative;aspect-ratio:384/382;max-width:500px}.hero-media:has(.cube-art)::before{content:"";position:absolute;inset:0;background:url("assets/hero-city-network.svg") center/contain no-repeat}.hero-media:has(.cube-art) .cube-art{visibility:hidden;position:absolute;inset:0}

.header-wordmark{display:block;width:clamp(170px,22vw,260px);max-width:none;height:auto}.brand:has(.header-wordmark){gap:0;font-size:0;letter-spacing:0}

.eyebrow{font-size:15px;line-height:1.4;letter-spacing:.12em}.service .num{font-size:14px;line-height:1.4}.stats-row .stat{padding:30px 24px;text-align:center}.stats-row .stat+.stat{padding-left:24px}.stakeholder-callout{display:grid;grid-template-columns:calc(50% + 15px) 1fr;gap:30px;align-items:stretch;margin:0 0 44px;background:var(--green);color:#fff}.stakeholder-lead{display:flex;flex-direction:column;justify-content:center;padding:34px 40px;background:var(--orange)}.stakeholder-kicker{display:block;margin-bottom:16px;color:#102e23;font-size:18px;font-weight:700;line-height:1.35;letter-spacing:.1em;text-transform:uppercase}.stakeholder-callout strong{display:block;font-size:clamp(28px,2.7vw,38px);line-height:1.08;letter-spacing:-.025em}.stakeholder-copy{display:flex;flex-direction:column;justify-content:center;padding:30px 40px 30px 20px;color:#fff;font-size:22px;line-height:1.45}.stakeholder-copy p{margin:0}.stakeholder-copy ul{display:grid;grid-template-columns:1fr 1fr;gap:10px 26px;margin:14px 0 16px;padding-left:24px}.stakeholder-copy li{padding-left:2px}.text-arrow{display:inline-block;margin-left:6px;font-family:Arial,Helvetica,sans-serif;font-size:1.15em;font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased}

@media(max-width:820px){.stats-row .stat{text-align:left;padding:24px 0}.stats-row .stat+.stat{padding-left:0}.stakeholder-callout{grid-template-columns:1fr;gap:0;margin-bottom:34px}.stakeholder-lead{padding:27px 24px}.stakeholder-kicker{font-size:16px}.stakeholder-copy{padding:26px 24px;font-size:18px;line-height:1.55}.stakeholder-copy ul{grid-template-columns:1fr;gap:7px;margin:12px 0 15px}}

/* PageLayer Theme Builder compatibility: prevent legacy full-site template
   wrappers from appearing around this theme. PageLayer page content is untouched. */
body > .pagelayer-header,
body > .pagelayer-footer{display:none!important}
