.phase3-page, .phase3-page * { box-sizing: border-box; }
.phase3-page { --p3-ink:#111719; --p3-muted:#657077; --p3-line:rgba(17,23,25,.12); --p3-gold:#f7a600; --p3-green:#1f8f3a; --p3-panel:#fff; --p3-soft:#f6f7f2; color:var(--p3-ink); background:var(--p3-soft); }
.p3-shell { width:min(100% - 40px, 1180px); margin-inline:auto; }
.p3-hero { position:relative; overflow:hidden; padding:118px 0 74px; color:#fff; background:#070a0b; }
.p3-hero:before { content:""; position:absolute; inset:0; background:linear-gradient(105deg, rgba(0,0,0,.94), rgba(0,0,0,.74) 46%, rgba(0,0,0,.34)), url("../images/homepage/pack-04-project-installations.png") center/cover no-repeat; opacity:.95; }
.p3-hero .p3-shell { position:relative; z-index:1; }
.p3-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-bottom:24px; color:rgba(255,255,255,.76); font-size:.82rem; }
.p3-breadcrumb a { color:#fff; }
.p3-eyebrow { margin:0 0 12px; color:var(--p3-gold); font-size:.78rem; font-weight:900; text-transform:uppercase; }
.p3-hero h1 { max-width:760px; margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.5rem, 5vw, 4.8rem); line-height:1; }
.p3-hero p { max-width:640px; margin:20px 0 0; color:rgba(255,255,255,.86); font-size:1.04rem; line-height:1.7; }
.p3-actions, .p3-link-row { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.p3-button { display:inline-flex; min-height:48px; align-items:center; justify-content:center; gap:10px; padding:0 20px; border:1px solid var(--p3-line); border-radius:6px; color:var(--p3-ink); background:#fff; font-size:.76rem; font-weight:900; text-transform:uppercase; text-decoration:none; cursor:pointer; }
.p3-button--gold { border-color:var(--p3-gold); background:linear-gradient(135deg,var(--p3-gold),#ffc928); }
.p3-button--dark { color:#fff; border-color:#111; background:#101417; }
.p3-section { padding:54px 0; }
.p3-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:start; }
.p3-card, .p3-form-card, .p3-panel { border:1px solid var(--p3-line); border-radius:8px; background:var(--p3-panel); box-shadow:0 18px 42px rgba(17,23,25,.08); }
.p3-card, .p3-panel { padding:26px; }
.p3-card h2, .p3-panel h2, .p3-form-card h2 { margin:0 0 12px; font-size:clamp(1.35rem, 2.2vw, 2rem); line-height:1.12; }
.p3-card p, .p3-panel p, .p3-list li, .p3-faq p { color:var(--p3-muted); line-height:1.65; }
.p3-list { margin:16px 0 0; padding-left:18px; }
.p3-form-card { padding:28px; }
.p3-form { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.p3-form label { display:grid; gap:7px; color:#263033; font-size:.78rem; font-weight:900; text-transform:uppercase; }
.p3-form input, .p3-form select, .p3-form textarea { width:100%; min-height:48px; padding:12px 13px; border:1px solid var(--p3-line); border-radius:6px; background:#fff; color:var(--p3-ink); font:inherit; }
.p3-form textarea { min-height:124px; resize:vertical; }
.p3-wide { grid-column:1 / -1; }
.p3-note { margin:14px 0 0; padding:12px 14px; border-left:4px solid var(--p3-gold); background:#fff8e3; color:#5d4a19; font-size:.9rem; line-height:1.55; }
.p3-resource-grid, .p3-faq-list, .p3-tile-grid { display:grid; gap:14px; }
.p3-resource-grid { grid-template-columns:repeat(3,1fr); }
.p3-resource { display:grid; gap:10px; min-height:170px; padding:20px; border:1px solid var(--p3-line); border-radius:8px; background:#fff; text-decoration:none; }
.p3-resource strong, .p3-tile strong { color:var(--p3-ink); }
.p3-resource span, .p3-tile span { color:var(--p3-muted); font-size:.9rem; line-height:1.55; }
.p3-faq details { border:1px solid var(--p3-line); border-radius:8px; background:#fff; }
.p3-faq summary { padding:18px 20px; font-weight:900; cursor:pointer; }
.p3-faq p { margin:0; padding:0 20px 18px; }
.p3-legal { max-width:900px; }
.p3-legal h2 { margin:34px 0 12px; font-size:1.45rem; }
.p3-legal p, .p3-legal li { color:var(--p3-muted); line-height:1.75; }
.p3-tile-grid { grid-template-columns:repeat(4,1fr); }
.p3-tile { display:grid; gap:9px; padding:22px; border:1px solid var(--p3-line); border-radius:8px; background:#fff; text-decoration:none; }
.p3-blog-row { display:grid; grid-template-columns:1.3fr .7fr; gap:28px; }
@media (max-width:900px) { .p3-grid, .p3-blog-row { grid-template-columns:1fr; } .p3-resource-grid, .p3-tile-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:620px) { .p3-shell { width:min(100% - 24px, 1180px); } .p3-hero { padding:96px 0 56px; } .p3-form, .p3-resource-grid, .p3-tile-grid { grid-template-columns:1fr; } .p3-button { width:100%; } }
