:root{
  --pp-green:#071f18;--pp-green2:#0b3126;--pp-lime:#b9d84c;--pp-cream:#f4eee3;
  --pp-paper:#f7f3ec;--pp-ink:#10261f;--pp-line:rgba(16,38,31,.16);
  --pp-serif:Georgia,"Times New Roman",serif;--pp-sans:"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{background:var(--pp-green);scroll-behavior:smooth}
body{margin:0;font-family:var(--pp-sans);background:var(--pp-paper);color:var(--pp-ink);overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
.pp-page{min-height:100vh}
.pp-dark{background:var(--pp-green);color:var(--pp-cream)}
.pp-hero{
  min-height:94svh;padding:118px 5vw 56px;position:relative;overflow:hidden;
  background:radial-gradient(circle at 72% 20%,rgba(185,216,76,.13),transparent 30%),linear-gradient(180deg,#061b15,#0b2b22);
  display:grid;grid-template-columns:.88fr 1.12fr;gap:5vw;align-items:center
}
.pp-kicker{font-size:9px;letter-spacing:.2em;text-transform:uppercase;opacity:.58;margin:0 0 22px}
.pp-hero h1,.pp-title{
  font:400 clamp(60px,8vw,132px)/.86 var(--pp-serif);letter-spacing:-.065em;margin:0
}
.pp-hero h1 em,.pp-title em{font-style:italic;font-weight:400}
.pp-hero-copy{position:relative;z-index:2}
.pp-lead{font-size:14px;line-height:1.75;max-width:640px;opacity:.69;margin:28px 0 0}
.pp-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.pp-pill{
  border:1px solid rgba(255,255,255,.32);border-radius:999px;padding:13px 18px;
  font-size:9px;letter-spacing:.13em;text-transform:uppercase;display:inline-flex;gap:18px;align-items:center
}
.pp-pill.light{border-color:rgba(16,38,31,.22)}
.pp-hero-gallery{height:72vh;min-height:560px;position:relative;perspective:1400px}
.pp-shot{position:absolute;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.34);background:#14352b}
.pp-shot img{filter:saturate(.93) contrast(1.04);transition:opacity .32s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.pp-shot.s1{width:52%;height:70%;right:4%;top:2%;transform:rotate(2.5deg)}
.pp-shot.s2{width:43%;height:53%;left:0;bottom:0;transform:rotate(-3deg)}
.pp-shot.s3{width:31%;height:42%;right:12%;bottom:1%;transform:rotate(4deg);z-index:3}
.pp-section{padding:120px 5vw}
.pp-section-head{max-width:1450px;margin:0 auto 50px;display:grid;grid-template-columns:150px 1fr minmax(260px,390px);gap:30px;align-items:end}
.pp-section-head>p{font-size:9px;letter-spacing:.18em;text-transform:uppercase;opacity:.48;margin:0 0 10px}
.pp-section-head h2{font:400 clamp(48px,6vw,94px)/.91 var(--pp-serif);letter-spacing:-.055em;margin:0}
.pp-section-head h2 em{font-style:italic;font-weight:400}
.pp-section-head>span{font-size:12px;line-height:1.7;opacity:.62}
.pp-facts{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--pp-line);border-bottom:1px solid var(--pp-line)}
.pp-fact{padding:28px 22px;border-right:1px solid var(--pp-line)}
.pp-fact:last-child{border-right:0}
.pp-fact b{font:400 clamp(36px,4vw,62px)/1 var(--pp-serif);letter-spacing:-.04em;display:block}
.pp-fact span{font-size:10px;line-height:1.5;opacity:.55;display:block;margin-top:9px}
.pp-grid{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.pp-card{background:#ece4d6;min-height:430px;display:grid;grid-template-columns:1.08fr .92fr;overflow:hidden}
.pp-card:nth-child(3n+2){background:#e6ddce}
.pp-card-media{position:relative;min-height:430px;overflow:hidden;background:#d9d0c2}
.pp-card-media img{position:absolute;inset:0;transition:opacity .33s ease,transform .8s ease}
.pp-card.is-changing .pp-card-media img{opacity:.08;transform:scale(1.025)}
.pp-dots{position:absolute;left:13px;bottom:12px;z-index:4;display:flex;gap:4px;padding:6px 8px;background:rgba(5,26,20,.42);border-radius:999px;backdrop-filter:blur(8px)}
.pp-dots i{width:13px;height:2px;background:rgba(255,255,255,.34)}
.pp-dots i.active{width:22px;background:white}
.pp-card-copy{padding:28px 24px;display:flex;flex-direction:column}
.pp-card-copy small{font-size:8px;letter-spacing:.16em;text-transform:uppercase;opacity:.42}
.pp-card-copy h3{font:400 clamp(31px,3vw,50px)/.96 var(--pp-serif);letter-spacing:-.045em;margin:68px 0 16px}
.pp-card-copy p{font-size:11px;line-height:1.7;opacity:.64;margin:0}
.pp-card-copy a{margin-top:auto;border-top:1px solid var(--pp-line);padding-top:16px;font-size:9px;text-transform:uppercase;letter-spacing:.12em;display:flex;justify-content:space-between;align-items:center}
.pp-band{padding:0 5vw 120px}
.pp-band-inner{max-width:1500px;margin:0 auto;background:var(--pp-green);color:var(--pp-cream);padding:64px;display:grid;grid-template-columns:.8fr 1.2fr;gap:50px}
.pp-band h3{font:400 clamp(48px,5.5vw,86px)/.92 var(--pp-serif);letter-spacing:-.055em;margin:0}
.pp-band h3 em{font-style:italic;font-weight:400}
.pp-band p{font-size:13px;line-height:1.8;opacity:.65;margin:0}
.pp-levels{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.pp-level{min-height:720px;position:relative;overflow:hidden;background:#17392f;color:white}
.pp-level img{position:absolute;inset:0;filter:saturate(.9) contrast(1.05);transition:transform .9s ease}
.pp-level:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(5,25,19,.82))}
.pp-level-copy{position:absolute;z-index:3;left:24px;right:24px;bottom:24px}
.pp-level-copy small{font-size:8px;letter-spacing:.17em;text-transform:uppercase;opacity:.62}
.pp-level-copy h3{font:400 clamp(35px,3.4vw,54px)/.95 var(--pp-serif);letter-spacing:-.045em;margin:10px 0}
.pp-level-copy p{font-size:10px;line-height:1.6;opacity:.7;margin:0}
.pp-steps{max-width:1500px;margin:0 auto;border-top:1px solid var(--pp-line)}
.pp-step{display:grid;grid-template-columns:75px 1fr 1fr;gap:30px;padding:22px 0;border-bottom:1px solid var(--pp-line);align-items:center}
.pp-step b{font:400 28px var(--pp-serif)}
.pp-step h4{font:400 clamp(25px,2.4vw,40px)/1 var(--pp-serif);margin:0;letter-spacing:-.035em}
.pp-step p{font-size:11px;line-height:1.6;opacity:.58;margin:0}
.pp-reviews{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pp-review{padding:34px;background:#ebe2d3;min-height:320px;display:flex;flex-direction:column}
.pp-review .stars{font-size:11px;letter-spacing:.2em;margin-bottom:25px}
.pp-review blockquote{font:400 clamp(27px,2.6vw,42px)/1.12 var(--pp-serif);letter-spacing:-.035em;margin:0}
.pp-review footer{margin-top:auto;padding-top:25px;border-top:1px solid var(--pp-line);display:flex;justify-content:space-between;gap:20px;font-size:9px;line-height:1.5;text-transform:uppercase;letter-spacing:.1em;opacity:.55}
.pp-source-grid{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.pp-source{border:1px solid var(--pp-line);padding:22px;min-height:150px;display:flex;flex-direction:column}
.pp-source b{font:400 27px var(--pp-serif)}
.pp-source span{font-size:10px;line-height:1.5;opacity:.55;margin-top:8px}
.pp-source i{font-style:normal;font-size:20px;margin-top:auto;text-align:right}
.pp-contact-grid{max-width:1450px;margin:0 auto;display:grid;grid-template-columns:1.25fr .75fr;gap:18px}
.pp-contact-main,.pp-contact-side{background:#ece4d6;padding:34px}
.pp-contact-main a.phone{font:400 clamp(34px,4vw,58px)/1 var(--pp-serif);letter-spacing:-.04em;display:block}
.pp-contact-main h3,.pp-contact-side h3{font:400 32px var(--pp-serif);margin:0 0 18px}
.pp-contact-main p,.pp-contact-side p{font-size:12px;line-height:1.75;opacity:.64}
.pp-contact-row{padding:18px 0;border-top:1px solid var(--pp-line);display:grid;grid-template-columns:160px 1fr;gap:20px}
.pp-contact-row b{font-size:9px;text-transform:uppercase;letter-spacing:.14em}
.pp-contact-row span{font-size:12px;line-height:1.6}
.pp-legal{max-width:1450px;margin:18px auto 0;padding:28px;border:1px solid var(--pp-line)}
.pp-legal h3{font:400 34px var(--pp-serif);margin:0 0 20px}
.pp-legal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pp-legal-grid div{border-top:1px solid var(--pp-line);padding-top:14px}
.pp-legal-grid b{font-size:8px;letter-spacing:.14em;text-transform:uppercase;display:block;margin-bottom:8px}
.pp-legal-grid span{font-size:11px;line-height:1.55;opacity:.7}
.pp-cta{padding:130px 5vw;background:#071f18;color:#f4eee3;text-align:center}
.pp-cta h2{font:400 clamp(58px,8vw,122px)/.88 var(--pp-serif);letter-spacing:-.06em;margin:0}
.pp-cta h2 em{font-style:italic;font-weight:400}
.pp-cta p{font-size:12px;line-height:1.7;opacity:.6;max-width:680px;margin:24px auto}
.pp-cta .pp-pill{margin-top:12px}
.pp-sector-grid{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pp-sector{min-height:520px;position:relative;overflow:hidden;background:#17392f;color:white}
.pp-sector img{position:absolute;inset:0;transition:opacity .32s ease,transform .9s ease;filter:saturate(.92) contrast(1.04)}
.pp-sector:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,18,14,.03),rgba(3,18,14,.78))}
.pp-sector-copy{position:absolute;z-index:3;left:20px;right:20px;bottom:20px}
.pp-sector-copy small{font-size:8px;letter-spacing:.16em;text-transform:uppercase;opacity:.6}
.pp-sector-copy h3{font:400 clamp(30px,3vw,46px)/.96 var(--pp-serif);letter-spacing:-.04em;margin:9px 0}
.pp-sector-copy p{font-size:10px;line-height:1.55;opacity:.68;margin:0}
.pp-sector.is-changing img{opacity:.08;transform:scale(1.025)}
.pp-format-grid{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--pp-line);border-bottom:1px solid var(--pp-line)}
.pp-format{padding:28px 22px;border-right:1px solid var(--pp-line)}
.pp-format:last-child{border-right:0}
.pp-format b{font:400 34px var(--pp-serif);display:block}
.pp-format p{font-size:10px;line-height:1.6;opacity:.58}
.pp-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.pp-reveal.in{opacity:1;transform:none}
@media(max-width:1050px){
  .pp-hero{grid-template-columns:1fr;padding-top:100px}.pp-hero-gallery{height:62vh;min-height:460px}
  .pp-section-head{grid-template-columns:100px 1fr}.pp-section-head>span{grid-column:2}
  .pp-facts{grid-template-columns:1fr 1fr}.pp-fact:nth-child(2){border-right:0}
  .pp-grid{grid-template-columns:1fr}.pp-levels{grid-template-columns:1fr}.pp-level{min-height:62vh}
  .pp-sector-grid{grid-template-columns:1fr 1fr}.pp-format-grid{grid-template-columns:1fr 1fr}.pp-format:nth-child(2){border-right:0}
}
@media(max-width:760px){
  .pp-hero{min-height:auto;padding:94px 14px 40px}.pp-hero h1{font-size:clamp(50px,14vw,76px)}
  .pp-hero-gallery{height:52vh;min-height:360px}.pp-shot.s1{width:64%;height:68%}.pp-shot.s2{width:52%}.pp-shot.s3{width:36%}
  .pp-section{padding:82px 14px}.pp-section-head{display:block;margin-bottom:30px}.pp-section-head h2{font-size:clamp(44px,12vw,70px);margin:12px 0 18px}
  .pp-facts{grid-template-columns:1fr}.pp-fact{border-right:0;border-bottom:1px solid var(--pp-line)}
  .pp-card{grid-template-columns:1fr}.pp-card-media{min-height:340px}.pp-card-copy{min-height:270px}.pp-card-copy h3{margin-top:38px}
  .pp-band{padding:0 14px 82px}.pp-band-inner{padding:34px 22px;grid-template-columns:1fr}.pp-level{min-height:72vh}
  .pp-step{grid-template-columns:50px 1fr}.pp-step p{grid-column:2}.pp-reviews{grid-template-columns:1fr}
  .pp-source-grid{grid-template-columns:1fr 1fr}.pp-contact-grid{grid-template-columns:1fr}.pp-contact-main a.phone{font-size:clamp(32px,9vw,48px)}
  .pp-contact-row{grid-template-columns:1fr}.pp-legal-grid{grid-template-columns:1fr}.pp-sector-grid{grid-template-columns:1fr}
  .pp-sector{min-height:65vh}.pp-format-grid{grid-template-columns:1fr}.pp-format{border-right:0;border-bottom:1px solid var(--pp-line)}
  .pp-cta{padding:90px 14px}.pp-cta h2{font-size:clamp(48px,14vw,78px)}
}
/* project form */
.project-form{
  max-width:1100px;margin:0 auto;background:#ece4d6;padding:34px;border:1px solid rgba(16,38,31,.08)
}
.form-head{display:grid;grid-template-columns:52px 1fr;gap:18px;align-items:start;padding-bottom:24px;border-bottom:1px solid var(--pp-line)}
.form-head>span{font:400 26px var(--pp-serif)}
.form-head h2{font:400 clamp(34px,4vw,56px)/1 var(--pp-serif);letter-spacing:-.04em;margin:0}
.form-head p{font-size:10px;opacity:.55;margin:8px 0 0}
.project-form .grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px}
.project-form label>span{display:block;font-size:8px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px;opacity:.58}
.project-form input,.project-form select,.project-form textarea{
  width:100%;border:0;border-bottom:1px solid rgba(16,38,31,.26);background:transparent;color:var(--pp-ink);
  padding:12px 0;font:400 16px var(--pp-sans);outline:none
}
.project-form input:focus,.project-form select:focus,.project-form textarea:focus{border-bottom-color:var(--pp-ink)}
.project-form .consent{display:flex;gap:10px;align-items:flex-start;margin-top:24px}
.project-form .consent input{width:16px;height:16px;margin-top:1px}
.project-form .consent span{font-size:10px;text-transform:none;letter-spacing:0;line-height:1.5;opacity:.6;margin:0}
.project-form .submit{
  margin-top:26px;border:0;border-radius:999px;background:var(--pp-green);color:var(--pp-cream);
  padding:15px 19px;display:flex;align-items:center;gap:22px;font-size:9px;letter-spacing:.13em;text-transform:uppercase;cursor:pointer
}
.project-form .submit span{font-size:18px}
.project-form .status{margin-top:14px;font-size:10px;line-height:1.5}
.project-form .hp{position:absolute!important;left:-9999px!important;opacity:0!important}
@media(max-width:760px){
  .project-form{padding:24px 18px}
  .project-form .grid{grid-template-columns:1fr}
  .form-head{grid-template-columns:38px 1fr}
}

.pp-crossfade-next{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:cover!important;opacity:0!important;z-index:2!important;
  transition:opacity .52s cubic-bezier(.2,.7,.2,1)!important;
  transform:scale(1.018)!important;pointer-events:none!important;
}
.pp-crossfade-next.show{opacity:1!important}
.pp-shot,.pp-level,.pp-sector,.pp-card-media{background:#102a22}
.pp-shot img,.pp-level img,.pp-sector img,.pp-card-media img{backface-visibility:hidden}

/* about image-led v3 */
.pp-about .pp-hero{grid-template-columns:.76fr 1.24fr}
.pp-about .pp-hero h1{font-size:clamp(48px,6.2vw,96px);line-height:.9}
.pp-about .pp-lead{font-size:13px;max-width:560px}
.pp-about .pp-section-head h2{font-size:clamp(42px,5.2vw,78px)}
.pp-about .pp-section-head>span{font-size:11px}
.pp-about .pp-hero-gallery{height:76vh;min-height:590px}
.pp-about .pp-shot.s1{width:58%;height:74%}
.pp-about .pp-shot.s2{width:46%;height:58%}
.pp-about .pp-shot.s3{width:36%;height:46%}

.pp-about-visuals{padding:45px 4vw 120px;background:#071f18;color:#f4eee3}
.pp-about-visuals-head{
  width:min(1420px,94vw);margin:0 auto 38px;
  display:grid;grid-template-columns:150px 1fr 360px;gap:28px;align-items:end
}
.pp-about-visuals-head>p{font-size:9px;letter-spacing:.18em;text-transform:uppercase;opacity:.52;margin:0 0 10px}
.pp-about-visuals-head h2{font:400 clamp(42px,5.4vw,82px)/.92 var(--pp-serif);letter-spacing:-.055em;margin:0}
.pp-about-visuals-head h2 em{font-style:italic;font-weight:400}
.pp-about-visuals-head>span{font-size:11px;line-height:1.7;opacity:.58}
.pp-about-mosaic{
  width:min(1580px,96vw);margin:0 auto;
  display:grid;grid-template-columns:1.25fr .9fr .95fr;grid-auto-rows:minmax(240px,32vh);gap:12px
}
.pp-about-photo{margin:0;position:relative;overflow:hidden;background:#17392f}
.pp-about-photo img{position:absolute;inset:0;transition:transform .9s ease}
.pp-about-photo:hover img{transform:scale(1.025)}
.pp-about-photo.p1{grid-row:span 2}
.pp-about-photo.p2{grid-column:span 2}
.pp-about-photo.p5{grid-column:span 2}

.pp-project-levels-section{padding-top:105px}
.pp-about .pp-levels{gap:12px}
.pp-about .pp-level{min-height:760px}
.pp-about .pp-level-copy{left:28px;right:28px;bottom:28px}
.pp-about .pp-level-copy h3{font-size:clamp(34px,3.2vw,52px)}

.pp-process-highlight{
  background:#071f18;color:#f4eee3;padding:0 4vw 120px
}
.pp-process-visual{
  width:min(1580px,96vw);height:78vh;min-height:620px;margin:0 auto;
  position:relative;overflow:hidden;background:#17392f
}
.pp-process-visual>img{position:absolute;inset:0;filter:saturate(.9) contrast(1.04)}
.pp-process-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,18,14,.82),rgba(3,18,14,.18) 68%,rgba(3,18,14,.3))}
.pp-process-title{position:absolute;left:4%;bottom:7%;z-index:3;max-width:850px}
.pp-process-title>p{font-size:9px;letter-spacing:.19em;text-transform:uppercase;opacity:.58;margin:0 0 16px}
.pp-process-title h2{font:400 clamp(54px,7vw,108px)/.88 var(--pp-serif);letter-spacing:-.06em;margin:0}
.pp-process-title h2 em{font-style:italic;font-weight:400}
.pp-process-title>span{display:block;margin-top:20px;font-size:12px;line-height:1.65;opacity:.62;max-width:620px}
.pp-process-steps{
  width:min(1580px,96vw);margin:0 auto;
  display:grid;grid-template-columns:repeat(3,1fr);
  border-left:1px solid rgba(255,255,255,.16);border-top:1px solid rgba(255,255,255,.16)
}
.pp-process-step{
  min-height:210px;padding:24px;
  border-right:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)
}
.pp-process-step b{font:400 26px var(--pp-serif);opacity:.75}
.pp-process-step h4{font:400 clamp(25px,2.2vw,36px)/1 var(--pp-serif);letter-spacing:-.035em;margin:45px 0 10px}
.pp-process-step p{font-size:10px;line-height:1.6;opacity:.56;margin:0}

@media(max-width:1050px){
  .pp-about .pp-hero{grid-template-columns:1fr}
  .pp-about-visuals-head{grid-template-columns:100px 1fr}
  .pp-about-visuals-head>span{grid-column:2}
  .pp-about-mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:340px}
  .pp-about-photo.p1{grid-row:span 2}
  .pp-about-photo.p2,.pp-about-photo.p5{grid-column:auto}
  .pp-process-steps{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .pp-about .pp-hero h1{font-size:clamp(44px,12vw,66px)}
  .pp-about-visuals{padding:70px 14px 82px}
  .pp-about-visuals-head{display:block;width:100%;margin-bottom:28px}
  .pp-about-visuals-head h2{font-size:clamp(42px,12vw,64px);margin:10px 0 14px}
  .pp-about-mosaic{width:100%;grid-template-columns:1fr;grid-auto-rows:52vh}
  .pp-about-photo.p1,.pp-about-photo.p2,.pp-about-photo.p5{grid-row:auto;grid-column:auto}
  .pp-about .pp-level{min-height:72vh}
  .pp-process-highlight{padding:0 14px 82px}
  .pp-process-visual{width:100%;height:72vh;min-height:540px}
  .pp-process-title{left:18px;right:18px;bottom:24px}
  .pp-process-title h2{font-size:clamp(48px,13vw,72px)}
  .pp-process-steps{width:100%;grid-template-columns:1fr}
}
