/* Engineering Project Planning service page */
body.epp-page{
  background-image:
    linear-gradient(115deg, rgba(244,239,228,.94), rgba(244,239,228,.82) 52%, rgba(244,239,228,.96)),
    radial-gradient(circle at 12% 12%, rgba(184,95,61,.18), transparent 34%),
    radial-gradient(circle at 88% 10%, rgba(15,127,122,.14), transparent 30%),
    radial-gradient(circle at 84% 82%, rgba(211,154,43,.15), transparent 30%),
    url("../img/mosaic/mosaic-geometric-wall.jpg");
  background-size:cover,820px 620px,740px 520px,700px 520px,cover;
  background-position:center,top left,top right,bottom right,center;
  background-attachment:fixed,fixed,fixed,fixed,fixed;
}
.epp-shell{padding-top:34px;padding-bottom:16px;}
.epp-breadcrumb{margin:0 0 18px;color:var(--muted);font-size:13px;}
.epp-breadcrumb span{padding:0 7px;color:#9f8c74;}
.epp-hero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);
  gap:34px;
  padding:32px;
  border:1px solid rgba(132,94,53,.15);
  border-radius:36px;
  background:linear-gradient(135deg,rgba(255,250,240,.94),rgba(248,237,219,.82));
  box-shadow:var(--shadow);
  overflow:hidden;
}
.epp-hero::after{content:"";position:absolute;right:-110px;top:-140px;width:330px;height:330px;border-radius:50%;background:radial-gradient(circle,rgba(184,95,61,.16),rgba(211,154,43,.08) 42%,transparent 68%);pointer-events:none;}
.epp-hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;}
.epp-hero h1{margin:16px 0 18px;max-width:11ch;font-family:var(--heading);font-size:clamp(3.5rem,7.2vw,6.6rem);line-height:.88;letter-spacing:-.055em;color:#30261d;}
.epp-hero h1 em{color:var(--accent2);font-style:normal;}
.epp-hero-lead{margin:0;max-width:62ch;color:#655746;font-size:1.08rem;line-height:1.58;}
.epp-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;}
.epp-hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;}
.epp-hero-tags span{display:inline-flex;align-items:center;min-height:29px;padding:5px 10px;border:1px solid rgba(132,94,53,.17);border-radius:999px;background:rgba(255,248,234,.72);color:#625544;font-size:12px;font-weight:700;}
.epp-project-model{position:relative;z-index:2;min-height:525px;padding:24px;border:1px solid rgba(132,94,53,.18);border-radius:30px;background:linear-gradient(155deg,rgba(255,255,255,.67),rgba(238,221,191,.65));box-shadow:0 24px 56px rgba(79,51,20,.14);overflow:hidden;}
.epp-project-model::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(132,94,53,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(132,94,53,.06) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(to bottom,black,transparent 82%);pointer-events:none;}
.epp-model-kicker{position:relative;z-index:2;color:var(--accent2);font-size:11px;font-weight:850;letter-spacing:.14em;text-transform:uppercase;}
.epp-plan-stack{position:relative;z-index:2;display:grid;gap:12px;margin-top:22px;}
.epp-plan-row{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:14px;border:1px solid rgba(132,94,53,.16);border-radius:16px;background:rgba(255,250,240,.88);box-shadow:0 8px 18px rgba(79,51,20,.06);}
.epp-plan-id{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;border:1px solid rgba(184,95,61,.24);background:rgba(184,95,61,.08);color:var(--accent2);font:850 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;}
.epp-plan-row strong{display:block;color:#30261d;font-size:14px;}
.epp-plan-row small{display:block;margin-top:3px;color:var(--muted);font-size:12px;}
.epp-plan-status{color:var(--accent);font-size:10px;font-weight:850;letter-spacing:.1em;text-transform:uppercase;}
.epp-model-footer{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.epp-mini-stat{padding:12px 4px 4px;border-top:2px solid rgba(15,127,122,.22);}
.epp-mini-stat b{display:block;color:#30261d;font-family:var(--heading);font-size:1.38rem;}
.epp-mini-stat span{display:block;color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase;}
.epp-coverage{display:grid;grid-template-columns:repeat(5,1fr);margin-top:18px;border:1px solid rgba(132,94,53,.14);border-radius:22px;background:rgba(255,250,240,.78);overflow:hidden;box-shadow:0 10px 26px rgba(79,51,20,.07);}
.epp-coverage div{padding:15px 12px;text-align:center;color:#665847;font-size:12px;font-weight:760;border-right:1px solid rgba(132,94,53,.13);}
.epp-coverage div:last-child{border-right:0;}
.epp-section{margin-top:34px;padding:30px;border:1px solid rgba(132,94,53,.13);border-radius:32px;background:rgba(255,250,240,.75);box-shadow:0 12px 32px rgba(79,51,20,.08);}
.epp-section--strong{background:linear-gradient(135deg,rgba(255,250,240,.94),rgba(238,221,191,.78));}
.epp-section-head{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:44px;align-items:start;margin-bottom:24px;}
.epp-section-head h2,.epp-gates-copy h2,.epp-package-copy h2,.epp-cta h2{margin:10px 0 0;font-family:var(--heading);font-size:clamp(2.1rem,4.6vw,4.2rem);line-height:.97;letter-spacing:-.035em;color:#30261d;}
.epp-section-head > p,.epp-gates-copy p,.epp-package-copy > p,.epp-cta p{margin:3px 0 0;color:#6f604f;font-size:1rem;line-height:1.62;}
.epp-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.epp-card{position:relative;min-height:238px;padding:22px;border:1px solid rgba(132,94,53,.16);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(255,250,240,.96));box-shadow:0 8px 22px rgba(79,51,20,.07);overflow:hidden;}
.epp-card::before{content:"";position:absolute;left:0;top:0;right:0;height:5px;background:linear-gradient(90deg,var(--accent),var(--accent3),var(--accent2));}
.epp-card-num{color:var(--accent2);font:850 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;}
.epp-card h3{margin:25px 0 9px;font-family:var(--heading);font-size:1.48rem;line-height:1.08;color:#30261d;}
.epp-card p{margin:0;color:var(--muted);font-size:.92rem;}
.epp-taglist{display:flex;flex-wrap:wrap;gap:7px;margin-top:17px;}
.epp-tag{padding:5px 8px;border:1px solid rgba(15,127,122,.17);border-radius:999px;background:rgba(15,127,122,.055);color:#49645b;font-size:11px;font-weight:700;}
.epp-process{display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin-top:28px;}
.epp-process-step{position:relative;padding:18px 16px 12px;border-top:1px solid rgba(132,94,53,.25);}
.epp-process-step::before{content:"";position:absolute;top:-5px;left:17px;width:9px;height:9px;border-radius:50%;background:var(--accent2);box-shadow:0 0 0 5px rgba(184,95,61,.10);}
.epp-process-step:not(:last-child)::after{content:"→";position:absolute;top:12px;right:-4px;color:#b7a38a;}
.epp-process-step b{display:block;color:#30261d;font-size:14px;}
.epp-process-step span{display:block;margin-top:6px;color:var(--muted);font-size:11px;line-height:1.4;}
.epp-gates-layout{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:42px;align-items:center;}
.epp-gates{display:grid;gap:0;}
.epp-gate{position:relative;display:grid;grid-template-columns:68px 1fr;gap:16px;align-items:center;padding:13px 0;}
.epp-gate:not(:last-child)::after{content:"";position:absolute;left:33px;top:48px;bottom:-12px;width:1px;background:linear-gradient(var(--accent2),rgba(132,94,53,.12));}
.epp-gate-index{position:relative;z-index:2;width:68px;height:44px;display:grid;place-items:center;border:1px solid rgba(184,95,61,.25);border-radius:14px;background:#fffaf0;color:var(--accent2);font:850 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;}
.epp-gate strong{display:block;color:#30261d;font-size:15px;}
.epp-gate p{margin:3px 0 0;color:var(--muted);font-size:12px;}
.epp-budget{display:grid;grid-template-columns:repeat(6,1fr);gap:11px;}
.epp-budget-item{min-height:178px;padding:18px;border:1px solid rgba(132,94,53,.15);border-radius:19px;background:rgba(255,250,240,.91);display:flex;flex-direction:column;justify-content:space-between;}
.epp-budget-icon{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(184,95,61,.21);border-radius:11px;background:rgba(184,95,61,.07);color:var(--accent2);font-weight:850;}
.epp-budget-item b{display:block;color:#30261d;font-size:14px;}
.epp-budget-item small{display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.4;}
.epp-package-layout{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:44px;align-items:start;}
.epp-package{border:1px solid rgba(132,94,53,.16);border-radius:22px;background:#fffaf0;overflow:hidden;}
.epp-package-row{display:grid;grid-template-columns:56px 1fr;gap:15px;padding:16px 19px;border-bottom:1px solid rgba(132,94,53,.13);}
.epp-package-row:last-child{border-bottom:0;}
.epp-package-row > span{padding-top:4px;color:var(--accent2);font:850 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;}
.epp-package-row b{display:block;color:#30261d;font-size:14px;}
.epp-package-row small{display:block;margin-top:3px;color:var(--muted);font-size:12px;}
.epp-scenarios,.epp-examples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.epp-scenario,.epp-example{padding:22px;border:1px solid rgba(132,94,53,.15);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(255,250,240,.96));box-shadow:0 8px 20px rgba(79,51,20,.06);}
.epp-scenario--focus{border-color:rgba(15,127,122,.27);background:linear-gradient(160deg,rgba(15,127,122,.08),rgba(255,250,240,.96));}
.epp-scenario small,.epp-example-type{color:var(--accent2);font-size:10px;font-weight:850;letter-spacing:.1em;text-transform:uppercase;}
.epp-scenario h3,.epp-example h3{margin:12px 0 8px;font-family:var(--heading);font-size:1.55rem;line-height:1.05;color:#30261d;}
.epp-scenario p,.epp-example p{color:var(--muted);font-size:.88rem;}
.epp-scenario ul{padding-left:18px;color:#665847;font-size:.86rem;}
.epp-example{min-height:355px;}
.epp-example-type{display:inline-flex;padding:5px 8px;border:1px solid rgba(15,127,122,.18);border-radius:999px;background:rgba(15,127,122,.05);color:var(--accent);}
.epp-example h4{margin:18px 0 5px;color:#7b6a56;font-size:10px;letter-spacing:.1em;text-transform:uppercase;}
.epp-example-flow{color:var(--accent2)!important;font:720 11px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace;}
.epp-related{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;}
.epp-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:34px;padding:30px;border:1px solid rgba(15,127,122,.20);border-radius:32px;background:linear-gradient(135deg,rgba(255,250,240,.96),rgba(238,221,191,.82));box-shadow:var(--shadow);}
.epp-cta-copy{max-width:800px;}
.epp-cta h2{font-size:clamp(2rem,4vw,3.7rem);}
.epp-cta p{margin-top:10px;}
@media(max-width:980px){
  .epp-hero,.epp-section-head,.epp-gates-layout,.epp-package-layout{grid-template-columns:1fr;}
  .epp-hero h1{max-width:13ch;}
  .epp-project-model{min-height:500px;}
  .epp-coverage{grid-template-columns:repeat(2,1fr);}
  .epp-coverage div{border-bottom:1px solid rgba(132,94,53,.13);}
  .epp-card-grid{grid-template-columns:1fr;}
  .epp-process{grid-template-columns:repeat(3,1fr);row-gap:18px;}
  .epp-process-step:nth-child(3)::after{display:none;}
  .epp-budget{grid-template-columns:repeat(3,1fr);}
  .epp-scenarios,.epp-examples{grid-template-columns:1fr;}
  .epp-cta{align-items:flex-start;flex-direction:column;}
}
@media(max-width:720px){
  body.epp-page{background-attachment:scroll,scroll,scroll,scroll,scroll;}
  .epp-shell{padding-top:22px;}
  .epp-hero,.epp-section,.epp-cta{padding:22px;border-radius:26px;}
  .epp-hero h1{font-size:clamp(3rem,15vw,4.7rem);}
  .epp-project-model{min-height:545px;padding:18px;}
  .epp-plan-row{grid-template-columns:40px 1fr;}
  .epp-plan-status{grid-column:2;}
  .epp-model-footer{left:18px;right:18px;grid-template-columns:1fr;gap:4px;}
  .epp-mini-stat{padding:7px 0 2px;}
  .epp-coverage{grid-template-columns:1fr;}
  .epp-coverage div{border-right:0;text-align:left;}
  .epp-section-head{gap:18px;}
  .epp-process{grid-template-columns:1fr;}
  .epp-process-step::after{display:none;}
  .epp-budget{grid-template-columns:1fr 1fr;}
  .epp-budget-item{min-height:150px;}
}
@media(max-width:480px){.epp-budget{grid-template-columns:1fr;}}
