:root{--pp-green:#247B1A;--pp-gold:#BEB51C;--pp-dark:#102E14;--pp-ink:#172019;--pp-muted:#68736C;--pp-bg:#F5F7F3;--pp-white:#fff;--pp-border:#e1e6e1;--pp-radius:12px;--pp-max:1220px;--pp-font-fa:"Estedad","Segoe UI",Tahoma,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{margin:0;overflow-x:clip;font-family:var(--pp-font-fa);background:var(--pp-bg);color:var(--pp-ink);line-height:1.8;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}img,svg{max-width:100%}section[id]{scroll-margin-top:96px}body.admin-bar section[id]{scroll-margin-top:128px}.pp-container{max-width:var(--pp-max);margin:0 auto;padding-inline:5%}.pp-skip-link{position:absolute;left:-9999px}.pp-skip-link:focus{left:12px;top:12px;z-index:9999;background:#fff;padding:8px 12px}.pp-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid var(--pp-border);backdrop-filter:blur(8px)}body.admin-bar .pp-header{top:32px}.pp-header-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}.pp-brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.pp-brand strong{display:block;color:var(--pp-green);font-size:18px;line-height:1.35}.pp-brand small{display:block;font-size:13px;color:var(--pp-muted);direction:ltr;text-align:right}.pp-logo{width:48px;height:48px;flex:none}.pp-nav{display:flex;align-items:center;gap:15px;min-width:0}.pp-nav-list{list-style:none;margin:0;padding:0;display:flex;gap:16px;align-items:center;min-width:0}.pp-nav-list a,.pp-lang{color:inherit;text-decoration:none;font-size:16px}.pp-lang{direction:ltr;color:var(--pp-muted)}.pp-menu-toggle{display:none;border:1px solid var(--pp-border);background:#fff;border-radius:8px;padding:7px 10px}.pp-button{display:inline-flex;align-items:center;justify-content:center;background:var(--pp-green);color:#fff!important;border:0;border-radius:8px;padding:12px 18px;text-decoration:none;font-weight:700;cursor:pointer}.pp-button-small{padding:9px 13px;font-size:15px}.pp-button-outline{background:transparent;border:1px solid rgba(255,255,255,.55)}.pp-hero{background:linear-gradient(120deg,#0d2812,#153f19 55%,#091c0d);color:#fff}.pp-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;min-height:530px;padding-inline:0}.pp-hero-copy{padding:74px 8% 68px 10%;align-self:center;max-width:690px;justify-self:end}.pp-eyebrow,.pp-kicker{color:#d2c936;font-size:15px;font-weight:700}.pp-hero h1{font-size:clamp(38px,4.1vw,58px);line-height:1.42;margin:14px 0 20px;letter-spacing:-.02em;text-wrap:balance}.pp-hero p{max-width:600px;color:#d7e1da;font-size:18px;line-height:2}.pp-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.pp-hero-visual{position:relative;min-width:0;background:radial-gradient(circle at 65% 30%,rgba(190,181,28,.22),transparent 35%),linear-gradient(145deg,#2b6331,#0b1d10)}.pp-machine{position:absolute;left:12%;right:12%;bottom:21%;height:43%;border:2px solid rgba(255,255,255,.22);border-radius:10px;background:rgba(255,255,255,.04)}.pp-machine:before{content:"";position:absolute;left:9%;right:9%;top:-23%;height:19%;border:2px solid rgba(255,255,255,.16);border-radius:5px}.pp-machine:after{content:"";position:absolute;left:12%;right:12%;bottom:-19%;border-top:5px solid rgba(190,181,28,.8)}.pp-photo-hero{background-image:linear-gradient(90deg,rgba(5,17,9,0) 0%,rgba(5,17,9,.025) 58%,rgba(10,45,17,.68) 100%),linear-gradient(180deg,rgba(5,17,9,0),rgba(5,17,9,.10)),var(--pp-bg-image);background-size:cover;background-position:center 49%;box-shadow:inset -14px 0 28px rgba(12,52,20,.15)}.pp-photo-project{background-image:linear-gradient(180deg,rgba(5,15,9,.03) 20%,rgba(5,15,9,.92) 100%),var(--pp-bg-image);background-size:cover;background-position:center}.pp-photo-project>div{position:relative;z-index:1}.pp-mwm-feature{display:grid;grid-template-columns:1.16fr .84fr;border:1px solid var(--pp-border);border-radius:16px;overflow:hidden;background:#f7f9f6;margin-bottom:18px;min-height:355px}.pp-mwm-feature-photo{background-image:linear-gradient(180deg,rgba(7,21,10,0),rgba(7,21,10,.08)),var(--pp-bg-image);background-size:cover;background-position:center 49%}.pp-mwm-feature-copy{padding:40px 42px;align-self:center}.pp-mwm-feature-copy h3{font-size:26px;line-height:1.5;margin:7px 0 12px}.pp-mwm-feature-copy p{color:var(--pp-muted);font-size:16px;margin:0 0 20px}.pp-photo-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pp-photo-mini-grid div{aspect-ratio:4/3;min-height:108px;border-radius:10px;background-image:var(--pp-bg-image);background-size:cover;background-position:center;border:1px solid rgba(16,46,20,.08);box-shadow:0 5px 18px rgba(16,46,20,.08)}.pp-about-photos{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pp-about-photos figure{margin:0;background:#fff;border:1px solid var(--pp-border);border-radius:14px;overflow:hidden}.pp-about-photo{aspect-ratio:16/8.7;background-image:linear-gradient(180deg,rgba(6,18,10,.02),rgba(6,18,10,.12)),var(--pp-bg-image);background-size:cover;background-position:center}.pp-about-photos figcaption{display:flex;justify-content:space-between;gap:16px;padding:14px 16px;font-size:15px}.pp-about-photos figcaption b{color:var(--pp-green)}.pp-about-photos figcaption span{color:var(--pp-muted)}.pp-hero-badge{position:absolute;left:22px;bottom:22px;background:rgba(9,25,14,.86);border:1px solid rgba(255,255,255,.15);padding:10px 13px;border-radius:8px;font-size:14px;line-height:1.65;box-shadow:0 8px 24px rgba(0,0,0,.16)}.pp-hero-badge span{color:#d8d047}.pp-stats{display:grid;grid-template-columns:repeat(4,1fr);max-width:var(--pp-max);margin:0 auto;background:#fff;border-bottom:1px solid var(--pp-border)}.pp-stats div{text-align:center;padding:24px 18px;border-left:1px solid var(--pp-border)}.pp-stats div:last-child{border-left:0}.pp-stats b{display:block;color:var(--pp-green);font-size:27px}.pp-stats span{font-size:15px;color:var(--pp-muted)}.pp-section{padding:64px 5%;max-width:var(--pp-max);margin:0 auto;background:#fff}.pp-section-muted{background:#f2f4f1}.pp-section-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:24px}.pp-section-head span{color:#8f8a10;font-size:14px;font-weight:700}.pp-section-head h2{font-size:29px;line-height:1.45;margin:5px 0 0}.pp-section-head p{max-width:540px;margin:0;color:var(--pp-muted);font-size:16px}.pp-card-grid{display:grid;gap:14px}.pp-card-grid-3{grid-template-columns:repeat(3,1fr)}.pp-card,.pp-news,.pp-content-card{background:#fff;border:1px solid var(--pp-border);border-radius:var(--pp-radius);padding:24px}.pp-card-num{display:inline-flex;min-width:38px;height:38px;align-items:center;justify-content:center;border-radius:8px;background:#edf7eb;color:var(--pp-green);font-weight:800;margin-bottom:14px}.pp-card h3,.pp-news h3{margin:0 0 8px;font-size:17px}.pp-card p,.pp-news p{margin:0;color:var(--pp-muted);font-size:15px}.pp-project-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:14px}.pp-project-grid-featured{grid-template-columns:1fr 1fr;gap:16px}.pp-project-stack{display:grid;gap:14px}.pp-project{min-height:170px;border-radius:var(--pp-radius);padding:26px;display:flex;align-items:end;color:#fff;background:radial-gradient(circle at 75% 30%,rgba(190,181,28,.2),transparent 25%),linear-gradient(135deg,#24552b,#0c1d12)}.pp-project-main{min-height:335px}.pp-project h3{font-size:22px;margin:7px 0}.pp-project small{color:#d8d047}.pp-project p{margin:0;color:#d7e1da}.pp-photo-project-rafsanjan{background-position:center 54%}.pp-project-proof{display:inline-flex;margin-top:13px;padding:5px 8px;border-radius:6px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:13px;font-weight:700}.pp-model-card{padding:0;overflow:hidden;display:flex;flex-direction:column}.pp-model-body{padding:22px 24px 24px}.pp-model-card:not(.pp-model-card-photo) .pp-model-body{padding-top:24px}.pp-model-visual{min-height:165px;background-image:linear-gradient(180deg,rgba(6,18,10,0),rgba(6,18,10,.10)),var(--pp-bg-image);background-size:cover;background-position:center;position:relative}.pp-model-visual span{position:absolute;right:12px;bottom:12px;background:rgba(9,25,14,.82);color:#fff;padding:5px 8px;border-radius:6px;font-size:13px}.pp-model-card .pp-card-num{margin-bottom:11px}.pp-split-card{background:linear-gradient(120deg,#0d2812,#17491d);color:#fff;border-radius:14px;padding:38px 5%;display:flex;align-items:center;justify-content:space-between;gap:28px}.pp-split-card h2{font-size:29px;margin:7px 0 10px}.pp-split-card p{max-width:720px;color:#d7e1da;margin:0}.pp-news time{font-size:13px;color:#a17c2e}.pp-contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px;align-items:start}.pp-contact-grid h2{font-size:30px}.pp-contact-grid p{color:var(--pp-muted)}.pp-form-placeholder{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pp-form-placeholder div{border:1px solid var(--pp-border);border-radius:8px;padding:12px;background:#fbfcfb;color:#7a847d;font-size:14px}.pp-form-placeholder .wide,.pp-form-placeholder button{grid-column:span 2}.pp-form-placeholder button{background:var(--pp-green);color:#fff;border:0;border-radius:8px;padding:12px;font-weight:700}.pp-footer{background:#0b210f;color:#9fada4}.pp-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px;padding-top:38px;padding-bottom:38px}.pp-footer strong{display:block;color:#fff;margin-bottom:8px}.pp-footer a{color:inherit;text-decoration:none}.pp-footer p{margin:0}.pp-content-card{max-width:900px;margin:0 auto}.pp-content-card h1{line-height:1.4}.pp-content-card a{color:var(--pp-green)}.pp-entry-content img{max-width:100%;height:auto}.pp-post-meta{font-size:15px;color:var(--pp-muted)}

/* v0.1.38 — earlier canvas opening with the assembled v0.1.37 logo */
.pp-site-intro{position:fixed;inset:0;z-index:100000;display:none;place-items:center;background:#fff;pointer-events:none;transform-origin:top center;will-change:transform}.pp-site-intro.is-visible{display:grid;animation:pp-site-intro-canvas 1.7s cubic-bezier(.72,0,.22,1) both}.pp-site-intro-mark{position:relative;display:grid;min-width:300px;place-items:center;gap:20px}.pp-site-intro-logo{position:relative;width:210px;height:210px}.pp-site-intro-logo img{position:absolute;inset:0;width:210px;height:210px;object-fit:contain;filter:drop-shadow(0 20px 34px rgba(16,46,20,.14))}.pp-site-intro-logo-base{z-index:1;opacity:0;animation:pp-site-intro-base 1.02s ease both}.pp-site-intro-logo-piece{z-index:2}.pp-site-intro-logo-top{clip-path:polygon(0 0,100% 0,100% 52%,0 52%);animation:pp-site-intro-top .72s cubic-bezier(.16,.82,.22,1) both}.pp-site-intro-logo-bottom{clip-path:polygon(0 48%,100% 48%,100% 100%,0 100%);animation:pp-site-intro-bottom .72s .04s cubic-bezier(.16,.82,.22,1) both}.pp-site-intro-logo-strike{z-index:3;clip-path:polygon(0 52%,42% 35%,60% 55%,100% 44%,58% 70%,40% 50%);opacity:0;animation:pp-site-intro-strike .42s .36s cubic-bezier(.18,.9,.26,1) both}.pp-site-intro-flash{position:absolute;z-index:4;left:2%;top:50%;width:96%;height:3px;border-radius:50%;background:linear-gradient(90deg,transparent,#eee64f 22%,#fff 50%,#d5cd26 78%,transparent);opacity:0;transform:rotate(-4deg) scaleX(.1);filter:blur(.3px);animation:pp-site-intro-flash .3s .44s ease-out both}.pp-site-intro-name{opacity:0;color:#16451b;font-family:"Segoe UI",Arial,sans-serif;font-size:15px;font-weight:700;letter-spacing:.34em;direction:ltr;animation:pp-site-intro-name .38s .68s ease both}.pp-site-intro-name:after{content:"";display:block;width:58px;height:2px;margin:12px auto 0;background:var(--pp-gold);transform-origin:center;animation:pp-site-intro-line .32s .74s ease-out both}@keyframes pp-site-intro-top{0%{opacity:0;transform:translate(-170px,-20px) rotate(-9deg) scale(.92)}55%{opacity:1}100%{opacity:1;transform:none}}@keyframes pp-site-intro-bottom{0%{opacity:0;transform:translate(170px,24px) rotate(9deg) scale(.92)}55%{opacity:1}100%{opacity:1;transform:none}}@keyframes pp-site-intro-strike{0%{opacity:0;transform:scale(.18) skewX(-18deg);filter:brightness(2.2) drop-shadow(0 0 18px rgba(238,230,79,.95))}55%{opacity:1;transform:scale(1.08);filter:brightness(1.55) drop-shadow(0 0 12px rgba(238,230,79,.72))}100%{opacity:1;transform:none;filter:none}}@keyframes pp-site-intro-flash{0%{opacity:0;transform:rotate(-4deg) scaleX(.1)}35%{opacity:1}100%{opacity:0;transform:rotate(-4deg) scaleX(1)}}@keyframes pp-site-intro-base{0%,54%{opacity:0}68%,100%{opacity:1}}@keyframes pp-site-intro-name{from{opacity:0;transform:translateY(10px);letter-spacing:.48em}to{opacity:1;transform:none;letter-spacing:.34em}}@keyframes pp-site-intro-line{from{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes pp-site-intro-canvas{0%,64%{transform:translateY(0);visibility:visible}100%{transform:translateY(-105%);visibility:hidden}}@media(max-width:600px){.pp-site-intro-mark{min-width:230px}.pp-site-intro-logo,.pp-site-intro-logo img{width:170px;height:170px}.pp-site-intro-name{font-size:13px}}
.pp-site-intro-name-fa{font-family:var(--pp-font-fa);font-size:20px;letter-spacing:0;direction:rtl;animation-name:pp-site-intro-name-fa}@keyframes pp-site-intro-name-fa{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(max-width:600px){.pp-site-intro-name-fa{font-size:18px}}
@media(max-width:900px){body.admin-bar .pp-header{top:32px}.pp-nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;border-bottom:1px solid var(--pp-border);padding:18px 5%;flex-direction:column;align-items:stretch}.pp-nav.is-open{display:flex}.pp-nav-list{flex-direction:column;align-items:stretch}.pp-menu-toggle{display:block}.pp-hero-grid{grid-template-columns:1fr}.pp-hero-visual{min-height:300px}.pp-stats{grid-template-columns:1fr 1fr}.pp-card-grid-3{grid-template-columns:1fr 1fr}.pp-project-grid,.pp-project-grid-featured{grid-template-columns:1fr}.pp-contact-grid{grid-template-columns:1fr}.pp-footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:782px){body.admin-bar .pp-header{top:46px}}@media(max-width:600px){.pp-header-inner{height:68px}.pp-brand small{display:none}.pp-section{padding:50px 5%}.pp-hero-copy{padding:58px 7% 36px}.pp-hero h1{font-size:35px}.pp-stats div{padding:21px 8px}.pp-card-grid-3{grid-template-columns:1fr}.pp-section-head{display:block}.pp-section-head p{margin-top:10px}.pp-split-card{display:block}.pp-split-card .pp-button{margin-top:18px}.pp-form-placeholder{grid-template-columns:1fr}.pp-form-placeholder .wide,.pp-form-placeholder button{grid-column:span 1}.pp-footer-grid{grid-template-columns:1fr}}
.pp-english-page{direction:ltr;text-align:left}.pp-english-page .pp-hero-grid{direction:ltr;grid-template-columns:1.18fr .82fr}.pp-english-page .pp-hero-copy{padding:70px 7% 64px 7%;justify-self:start;max-width:820px}.pp-english-page .pp-hero h1{font-size:clamp(42px,3.45vw,50px);line-height:1.4;max-width:820px;letter-spacing:-.025em;text-wrap:pretty}.pp-en-hero-line{display:block}.pp-english-page .pp-section-head,.pp-english-page .pp-contact-grid{text-align:left}.pp-english-page .pp-card-num{direction:ltr}@media(max-width:900px){.pp-english-page .pp-hero-grid{grid-template-columns:1fr}.pp-english-page .pp-hero-copy{max-width:none;padding:58px 7% 40px}.pp-en-hero-line{display:inline}.pp-en-hero-line+.pp-en-hero-line:before{content:" "}}@media(max-width:600px){.pp-english-page .pp-hero h1{font-size:35px;line-height:1.38}}

@media(max-width:900px){.pp-mwm-feature{grid-template-columns:1fr}.pp-mwm-feature-photo{min-height:310px}.pp-about-photos{grid-template-columns:1fr}.pp-photo-hero{min-height:360px}}
@media(max-width:600px){.pp-mwm-feature-copy{padding:26px}.pp-mwm-feature-copy h3{font-size:22px}.pp-photo-mini-grid{grid-template-columns:1fr 1fr 1fr}.pp-photo-mini-grid div{min-height:88px}.pp-about-photos figcaption{display:block}.pp-about-photos figcaption span{display:block;margin-top:3px}.pp-photo-hero{min-height:300px;background-position:58% center}}

/* v0.1.5 photo and MWM refinements */
.pp-model-visual-tech{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;background:radial-gradient(circle at 72% 28%,rgba(190,181,28,.20),transparent 25%),linear-gradient(145deg,#214b29,#0d2413);overflow:hidden}
.pp-model-visual-tech:before{content:"";position:absolute;inset:18px;background:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:28px 28px;border:1px solid rgba(255,255,255,.08);border-radius:9px}
.pp-model-visual-tech strong{position:relative;z-index:1;color:#fff;font-size:24px;letter-spacing:.02em}
.pp-model-visual-tech span{right:auto;bottom:22px;left:50%;transform:translateX(-50%);white-space:nowrap;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.11)}
.pp-photo-mini-grid div,.pp-about-photo,.pp-photo-project,.pp-model-visual,.pp-mwm-feature-photo,.pp-photo-hero{image-rendering:auto}
.pp-english-page .pp-photo-hero{background-image:linear-gradient(90deg,rgba(10,45,17,.68) 0%,rgba(5,17,9,.025) 42%,rgba(5,17,9,0) 100%),linear-gradient(180deg,rgba(5,17,9,0),rgba(5,17,9,.10)),var(--pp-bg-image);box-shadow:inset 14px 0 28px rgba(12,52,20,.15)}
.pp-english-page .pp-hero-badge{left:22px;right:auto}


/* v0.1.6 project case-study system */
.pp-project-link-card{color:#fff;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.pp-project-link-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(16,46,20,.16)}.pp-section-link{margin-top:18px}.pp-section-link a{color:var(--pp-green);font-weight:700;text-decoration:none;font-size:15px}
.pp-projects-index-hero,.pp-project-page-hero{background:linear-gradient(120deg,#0d2812,#17491d);color:#fff}.pp-projects-index-grid{min-height:390px;display:grid;grid-template-columns:1.25fr .75fr;gap:50px;align-items:center;padding-top:58px;padding-bottom:58px}.pp-projects-index-grid h1,.pp-project-page-copy h1{font-size:clamp(38px,4vw,56px);line-height:1.35;margin:14px 0 18px;letter-spacing:-.02em}.pp-projects-index-grid p,.pp-project-page-copy p{color:#d7e1da;max-width:700px}.pp-projects-index-stat{justify-self:end;width:min(300px,100%);border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.055);border-radius:16px;padding:28px;text-align:center}.pp-projects-index-stat strong{display:block;font-size:52px;line-height:1;color:#d8d047}.pp-projects-index-stat span{display:block;margin-top:11px}.pp-projects-index-stat small{display:block;color:#aebdb1;margin-top:6px}.pp-project-list-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pp-project-list-card{display:block;background:#fff;border:1px solid var(--pp-border);border-radius:15px;overflow:hidden;color:inherit;text-decoration:none;transition:.2s ease}.pp-project-list-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(16,46,20,.11)}.pp-project-list-image{aspect-ratio:16/9;background-image:linear-gradient(180deg,rgba(5,15,9,.01),rgba(5,15,9,.10)),var(--pp-bg-image);background-size:cover;background-position:center}.pp-project-list-body{padding:24px}.pp-project-list-body span{font-size:14px;color:#8f8a10;font-weight:700}.pp-project-list-body h2{font-size:24px;line-height:1.5;margin:6px 0 9px}.pp-project-list-body p{font-size:15px;color:var(--pp-muted);margin:0 0 14px}.pp-project-list-body b{font-size:14px;color:var(--pp-green)}.pp-project-cta{border-radius:15px;padding:34px 38px;background:#f1f5ef;border:1px solid var(--pp-border);display:flex;justify-content:space-between;align-items:center;gap:24px}.pp-project-cta h2{font-size:26px;margin:5px 0 0;max-width:720px}
.pp-project-page-hero-grid{min-height:540px;display:grid;grid-template-columns:1fr 1fr;padding-inline:0}.pp-project-page-copy{padding:64px 8% 58px 10%;align-self:center}.pp-project-page-media{min-height:500px;position:relative;background-image:linear-gradient(180deg,rgba(5,15,9,.00),rgba(5,15,9,.18)),var(--pp-bg-image);background-size:cover;background-position:center}.pp-breadcrumb{display:flex;align-items:center;gap:8px;font-size:14px;color:#aebdb1;margin-bottom:18px}.pp-breadcrumb a{color:#fff;text-decoration:none}.pp-project-media-badge{position:absolute;left:24px;bottom:24px;background:rgba(9,25,14,.87);border:1px solid rgba(255,255,255,.16);border-radius:9px;padding:11px 14px}.pp-project-media-badge b,.pp-project-media-badge span{display:block}.pp-project-media-badge span{font-size:13px;color:#d8d047;margin-top:3px}.pp-project-specs{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.pp-project-specs>div{border:1px solid var(--pp-border);border-radius:10px;padding:17px;background:#fbfcfb}.pp-project-specs span{display:block;font-size:13px;color:var(--pp-muted);margin-bottom:5px}.pp-project-specs b{font-size:17px}.pp-project-specs-compact{grid-template-columns:repeat(4,1fr)}
.pp-photo-timeline{display:grid;gap:16px}.pp-photo-timeline article{display:grid;grid-template-columns:1.18fr .82fr;background:#fff;border:1px solid var(--pp-border);border-radius:14px;overflow:hidden;min-height:300px}.pp-photo-timeline article:nth-child(even){grid-template-columns:.82fr 1.18fr}.pp-photo-timeline article:nth-child(even) .pp-timeline-photo{order:2}.pp-timeline-photo{background-image:linear-gradient(180deg,rgba(5,15,9,.00),rgba(5,15,9,.08)),var(--pp-bg-image);background-size:cover;background-position:center;min-height:300px}.pp-contain-photo{background-size:cover,contain;background-repeat:no-repeat;background-color:#101512;background-position:center}.pp-photo-timeline article>div:last-child{padding:34px;align-self:center}.pp-photo-timeline span{color:#a39c13;font-size:15px;font-weight:800}.pp-photo-timeline h3{font-size:23px;margin:7px 0 8px}.pp-photo-timeline p{font-size:15px;color:var(--pp-muted);margin:0}.pp-project-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.pp-detail-card{border:1px solid var(--pp-border);border-radius:12px;padding:24px;background:#fff}.pp-detail-card h3{font-size:18px;margin:0 0 9px}.pp-detail-card p{font-size:15px;color:var(--pp-muted);margin:0}.pp-detail-card a{color:var(--pp-green);font-weight:700;text-decoration:none}.pp-project-nav{display:flex;justify-content:space-between;gap:18px}.pp-project-nav a{color:var(--pp-green);font-weight:700;text-decoration:none;font-size:15px}
.pp-gallery-mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.pp-gallery-mosaic figure{margin:0;border:1px solid var(--pp-border);border-radius:13px;overflow:hidden;background:#fff}.pp-gallery-mosaic figure>div{aspect-ratio:4/3;background-image:linear-gradient(180deg,rgba(5,15,9,.00),rgba(5,15,9,.08)),var(--pp-bg-image);background-size:cover;background-position:center}.pp-gallery-mosaic .pp-gallery-wide{grid-column:span 2}.pp-gallery-mosaic .pp-gallery-wide>div{aspect-ratio:16/8.4}.pp-gallery-mosaic figcaption{padding:12px 14px;display:flex;justify-content:space-between;gap:10px;font-size:14px}.pp-gallery-mosaic figcaption b{color:var(--pp-green)}.pp-gallery-mosaic figcaption span{color:var(--pp-muted)}.pp-rafsanjan-focus{background-position:center 58%}
.pp-english-page .pp-project-page-copy{padding:64px 10% 58px 8%}.pp-english-page .pp-project-media-badge{left:24px;right:auto}.pp-english-page .pp-breadcrumb{direction:ltr}.pp-english-page .pp-project-nav{direction:ltr}.pp-english-page .pp-gallery-mosaic figcaption,.pp-english-page .pp-project-list-body{text-align:left}
@media(max-width:900px){.pp-projects-index-grid,.pp-project-page-hero-grid{grid-template-columns:1fr}.pp-projects-index-stat{justify-self:start}.pp-project-page-media{min-height:380px}.pp-project-list-grid{grid-template-columns:1fr}.pp-project-specs{grid-template-columns:repeat(3,1fr)}.pp-project-specs-compact{grid-template-columns:repeat(2,1fr)}.pp-photo-timeline article,.pp-photo-timeline article:nth-child(even){grid-template-columns:1fr}.pp-photo-timeline article:nth-child(even) .pp-timeline-photo{order:0}.pp-project-detail-grid{grid-template-columns:1fr}.pp-gallery-mosaic{grid-template-columns:1fr 1fr}.pp-gallery-mosaic .pp-gallery-wide{grid-column:span 2}.pp-project-page-copy,.pp-english-page .pp-project-page-copy{padding:52px 7% 42px}}
@media(max-width:600px){.pp-projects-index-grid{min-height:auto;padding-top:48px;padding-bottom:48px}.pp-projects-index-grid h1,.pp-project-page-copy h1{font-size:34px}.pp-project-page-media{min-height:310px}.pp-project-specs,.pp-project-specs-compact{grid-template-columns:1fr 1fr}.pp-photo-timeline article>div:last-child{padding:24px}.pp-photo-timeline h3{font-size:21px}.pp-project-cta{display:block;padding:28px}.pp-project-cta .pp-button{margin-top:18px}.pp-gallery-mosaic{grid-template-columns:1fr}.pp-gallery-mosaic .pp-gallery-wide{grid-column:span 1}.pp-gallery-mosaic .pp-gallery-wide>div{aspect-ratio:4/3}.pp-project-nav{flex-direction:column}.pp-gallery-mosaic figcaption{display:block}.pp-gallery-mosaic figcaption span{display:block;margin-top:3px}}

/* v0.1.7 — structured WordPress content */
.pp-managed-link-card{display:block;color:inherit;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.pp-managed-link-card:hover{transform:translateY(-2px);border-color:rgba(36,123,26,.28);box-shadow:0 10px 28px rgba(16,46,20,.07)}
.pp-structured-hero{background:linear-gradient(120deg,#0d2812,#16451b);color:#fff}.pp-structured-hero-grid{min-height:330px;display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:50px}.pp-structured-hero h1{font-size:clamp(34px,4vw,52px);line-height:1.35;margin:12px 0 16px}.pp-structured-hero p{max-width:680px;color:#d7e1da;margin:0;font-size:17px;line-height:2}.pp-architecture-badge{justify-self:end;min-width:250px;padding:28px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.05);text-align:center}.pp-architecture-badge strong{display:block;font-size:42px;color:#d8d047;line-height:1.1;margin-bottom:8px}.pp-architecture-badge span,.pp-architecture-badge small{display:block}.pp-architecture-badge span{font-weight:700}.pp-architecture-badge small{color:#aab9ad;margin-top:5px}
.pp-managed-grid{display:grid;gap:16px}.pp-managed-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-managed-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.pp-managed-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.pp-managed-card{color:inherit;text-decoration:none;background:#fff;border:1px solid var(--pp-border);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.pp-managed-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(16,46,20,.08);border-color:rgba(36,123,26,.28)}.pp-managed-image{aspect-ratio:16/9;background-image:linear-gradient(180deg,rgba(5,17,9,.01),rgba(5,17,9,.10)),var(--pp-bg-image);background-size:cover;background-position:center}.pp-managed-body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}.pp-managed-body>span{font-size:13px;color:#8f8a10;font-weight:700}.pp-managed-body h2{font-size:22px;line-height:1.55;margin:7px 0 9px}.pp-managed-body p{color:var(--pp-muted);font-size:15px;margin:0 0 14px}.pp-managed-body small{color:var(--pp-muted);font-size:13px;margin-bottom:13px}.pp-managed-body b{font-size:14px;color:var(--pp-green);margin-top:auto}.pp-service-managed .pp-managed-body{min-height:220px}.pp-service-managed .pp-managed-body>span{font-size:20px}.pp-generator-tech-visual,.pp-generator-hero-tech{background:linear-gradient(rgba(255,255,255,.035),rgba(255,255,255,.015)),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(135deg,#153d1b,#0c2711);background-size:auto,28px 28px,28px 28px,auto;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.pp-generator-tech-visual{aspect-ratio:16/8.5}.pp-generator-tech-visual span{font-size:14px;color:#d8d047}.pp-generator-tech-visual strong{font-size:25px;direction:ltr;margin-top:7px}.pp-generator-hero-tech{min-height:240px;border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:30px;text-align:center}.pp-generator-hero-tech span{color:#d8d047;font-size:15px}.pp-generator-hero-tech strong{display:block;font-size:38px;direction:ltr;margin:8px 0}.pp-generator-hero-tech small{color:#c8d6cb}
.pp-dynamic-project-hero{position:relative;background-image:linear-gradient(90deg,rgba(5,18,9,.94) 0%,rgba(5,18,9,.78) 45%,rgba(5,18,9,.20) 100%),var(--pp-bg-image);background-size:cover;background-position:center;color:#fff}.pp-dynamic-project-hero-inner{min-height:430px;display:flex;align-items:center}.pp-dynamic-project-hero-inner>div{max-width:650px}.pp-dynamic-project-hero h1{font-size:clamp(36px,4.2vw,56px);line-height:1.38;margin:12px 0 16px}.pp-dynamic-project-hero p{font-size:17px;color:#d7e1da;max-width:620px}.pp-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:28px}.pp-meta-card{border:1px solid var(--pp-border);border-radius:10px;padding:17px 18px;background:#fbfcfb}.pp-meta-card span{display:block;font-size:13px;color:var(--pp-muted);margin-bottom:5px}.pp-meta-card b{display:block;font-size:17px;line-height:1.6}.pp-managed-content-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:18px;align-items:start;margin-bottom:34px}.pp-managed-copy,.pp-managed-aside{background:#fff;border:1px solid var(--pp-border);border-radius:13px;padding:28px}.pp-managed-copy h2{font-size:28px;line-height:1.5;margin:6px 0 16px}.pp-managed-copy p,.pp-managed-aside p{font-size:15px;color:var(--pp-muted);line-height:2}.pp-managed-aside h3{font-size:17px;margin:0 0 9px}.pp-managed-aside h3:not(:first-child){margin-top:24px}.pp-managed-aside a{color:var(--pp-green);text-decoration:none;font-weight:700}.pp-managed-gallery-head,.pp-related-managed-head{margin-top:40px}.pp-dynamic-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pp-dynamic-gallery figure{margin:0;background:#fff;border:1px solid var(--pp-border);border-radius:12px;overflow:hidden}.pp-dynamic-gallery figure>div{aspect-ratio:4/3;background-image:var(--pp-bg-image);background-size:cover;background-position:center}.pp-dynamic-gallery figcaption{padding:10px 13px;font-size:14px;color:var(--pp-muted)}.pp-project-nav{display:flex;justify-content:space-between;gap:14px;margin-top:34px;padding-top:20px;border-top:1px solid var(--pp-border)}.pp-project-nav a{color:var(--pp-green);text-decoration:none;font-weight:700;font-size:15px}.pp-section-link{margin-top:20px}.pp-section-link a{color:var(--pp-green);text-decoration:none;font-weight:700;font-size:15px}
.pp-article-hero{background:linear-gradient(120deg,#0d2812,#17491d);color:#fff;padding:72px 0}.pp-article-hero h1{max-width:900px;font-size:clamp(34px,4vw,52px);line-height:1.45;margin:10px 0 14px}.pp-article-hero p{max-width:800px;color:#d7e1da}.pp-article-layout{display:grid;grid-template-columns:1.4fr .6fr;gap:18px;align-items:start}.pp-article-featured{width:100%;height:auto;border-radius:10px;margin-bottom:22px}.pp-article-copy{max-width:none}.pp-empty-state{max-width:700px;margin:0 auto;text-align:center;background:#fff;border:1px solid var(--pp-border);border-radius:14px;padding:48px}.pp-empty-state h2{font-size:27px;margin:0 0 10px}.pp-empty-state p{color:var(--pp-muted);font-size:16px}
@media(max-width:900px){.pp-structured-hero-grid{grid-template-columns:1fr;padding-top:50px;padding-bottom:50px;gap:24px}.pp-architecture-badge{justify-self:stretch;min-width:0}.pp-managed-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-managed-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-managed-content-grid,.pp-article-layout{grid-template-columns:1fr}.pp-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-dynamic-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-dynamic-project-hero{background-image:linear-gradient(90deg,rgba(5,18,9,.90),rgba(5,18,9,.46)),var(--pp-bg-image)}}
@media(max-width:600px){.pp-managed-grid-2,.pp-managed-grid-3,.pp-managed-grid-4{grid-template-columns:1fr}.pp-meta-grid{grid-template-columns:1fr 1fr}.pp-dynamic-gallery{grid-template-columns:1fr}.pp-project-nav{flex-direction:column}.pp-dynamic-project-hero-inner{min-height:360px}.pp-managed-copy,.pp-managed-aside{padding:22px}.pp-service-managed .pp-managed-body{min-height:0}}

/* v0.1.7.1 project presentation corrections */
.pp-ltr-value{direction:ltr;text-align:right;unicode-bidi:isolate}.pp-project-page-media{background-position:center 52%}.pp-project-page-media.pp-rafsanjan-focus{background-position:center 58%}@media(max-width:600px){.pp-project-page-media{background-position:center 55%}}

/* v0.1.8 — verified proof layer, official brand, richer lifecycle pages */
.pp-logo-official{object-fit:contain;border-radius:10px}.pp-card-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.pp-card-arrow{display:inline-block;margin-top:16px;color:var(--pp-green);font-size:14px;font-weight:800}.pp-proof-stats b{line-height:1.2}.pp-proof-stats div:nth-child(4) b{font-size:22px;min-height:34px;display:flex;align-items:center;justify-content:center}.pp-lifecycle-section{padding-top:70px;padding-bottom:70px}.pp-lifecycle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.pp-lifecycle-card{position:relative;border:1px solid var(--pp-border);border-radius:16px;padding:28px;background:linear-gradient(180deg,#fff,#f8faf7);overflow:hidden}.pp-lifecycle-card:after{content:"";position:absolute;left:24px;right:24px;bottom:0;height:3px;background:linear-gradient(90deg,var(--pp-green),var(--pp-gold));opacity:.8}.pp-lifecycle-card>span{font-size:13px;letter-spacing:.12em;color:#8f8a10;font-weight:800}.pp-lifecycle-index{width:42px;height:42px;border-radius:11px;background:#edf7eb;color:var(--pp-green);display:flex;align-items:center;justify-content:center;font-weight:900;margin-bottom:20px}.pp-lifecycle-card h3{font-size:21px;margin:8px 0 10px}.pp-lifecycle-card p{font-size:15px;color:var(--pp-muted);margin:0 0 18px}.pp-lifecycle-card a{font-size:14px;color:var(--pp-green);font-weight:800;text-decoration:none}.pp-service-home-grid .pp-card{display:flex;flex-direction:column;min-height:235px}.pp-service-home-grid .pp-card p{flex:1}.pp-audience-section{padding-top:72px;padding-bottom:72px}.pp-audience-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.pp-audience-grid article{border-top:3px solid var(--pp-gold);padding:24px 20px 20px;background:#fff;border-radius:0 0 12px 12px;box-shadow:0 8px 24px rgba(16,46,20,.045)}.pp-audience-grid article>span{font-size:14px;color:var(--pp-green);font-weight:900}.pp-audience-grid h3{font-size:18px;margin:7px 0 8px}.pp-audience-grid p{font-size:14px;color:var(--pp-muted);margin:0}.pp-project-chips{display:flex;flex-wrap:wrap;gap:7px;margin:9px 0 10px}.pp-project-chips span{display:inline-flex;padding:4px 7px;border:1px solid rgba(255,255,255,.18);border-radius:6px;background:rgba(255,255,255,.09);font-size:14px;color:#eef5ef}.pp-text-link{color:var(--pp-green);text-decoration:none;font-weight:800;font-size:15px}.pp-actions-dark{align-items:center}.pp-mwm-feature-v18 .pp-mwm-feature-copy{padding-top:34px;padding-bottom:34px}.pp-about-v18-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:16px;align-items:stretch}.pp-about-story-card{background:#fff;border:1px solid var(--pp-border);border-radius:15px;padding:28px}.pp-about-story-card>p{font-size:15px;color:var(--pp-muted);line-height:2.05;margin:22px 0}.pp-brand-lockup{display:flex;align-items:center;gap:14px}.pp-brand-lockup img{width:62px;height:62px;object-fit:contain}.pp-brand-lockup strong{display:block;color:var(--pp-dark);font-size:19px}.pp-brand-lockup small{display:block;color:var(--pp-muted);font-size:13px;direction:ltr}.pp-brand-lockup-small img{width:50px;height:50px}.pp-about-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.pp-about-facts span{border-top:1px solid var(--pp-border);padding-top:11px;font-size:13px;color:var(--pp-muted)}.pp-about-facts b{display:block;color:var(--pp-green);font-size:17px;margin-bottom:2px}.pp-about-v18 .pp-about-photos{grid-template-columns:1fr;gap:12px}.pp-about-v18 .pp-about-photo{aspect-ratio:16/7}.pp-contact-v18-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:16px;align-items:stretch}.pp-contact-details-card,.pp-form-v18{border:1px solid var(--pp-border);border-radius:15px;background:#fff;padding:26px}.pp-contact-details-card dl{margin:22px 0}.pp-contact-details-card dl>div{padding:11px 0;border-bottom:1px solid var(--pp-border)}.pp-contact-details-card dt{font-size:13px;color:var(--pp-muted);margin-bottom:3px}.pp-contact-details-card dd{margin:0;font-size:15px;color:var(--pp-ink)}.pp-contact-details-card a{color:inherit;text-decoration:none}.pp-contact-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.pp-form-v18 small{font-size:13px;color:var(--pp-muted);line-height:1.7}.pp-footer-brand{display:flex;align-items:center;gap:11px;margin-bottom:10px}.pp-footer-brand img{width:46px;height:46px;object-fit:contain}.pp-footer-brand strong{margin:0}.pp-footer-brand small{display:block;font-size:14px;color:#91a195}.pp-footer-grid>div:last-child p{font-size:13px;line-height:1.9}.pp-generator-detail-hero,.pp-service-detail-hero{background:linear-gradient(120deg,#0d2812,#16451b);color:#fff}.pp-generator-detail-grid,.pp-service-detail-grid{display:grid;grid-template-columns:1.02fr .98fr;min-height:460px;padding-inline:0}.pp-generator-detail-copy,.pp-service-detail-copy{padding:64px 8% 56px 10%;align-self:center}.pp-generator-detail-copy h1,.pp-service-detail-copy h1{font-size:clamp(34px,4vw,52px);line-height:1.42;margin:12px 0 16px}.pp-generator-detail-copy p,.pp-service-detail-copy p{font-size:17px;line-height:2;color:#d7e1da;max-width:650px}.pp-generator-detail-photo,.pp-service-detail-photo{position:relative;background-image:linear-gradient(180deg,rgba(5,17,9,.03),rgba(5,17,9,.12)),var(--pp-bg-image);background-size:cover;background-position:center}.pp-generator-detail-photo{background-position:center 50%}.pp-service-detail-photo{background-position:center}.pp-meta-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.pp-evidence-note{border:1px solid rgba(190,181,28,.35);border-right:4px solid var(--pp-gold);border-radius:12px;padding:18px 20px;background:#fbfcf7}.pp-evidence-note strong{color:var(--pp-dark);font-size:16px}.pp-evidence-note p{margin:5px 0 0;font-size:14px;color:var(--pp-muted);line-height:1.95}.pp-generator-path-grid .pp-card{min-height:230px;display:flex;flex-direction:column}.pp-generator-path-grid .pp-card p{flex:1}.pp-generator-project-proof{margin-bottom:0}.pp-generator-photo{background-position:center 48%}.pp-service-detail-tech{margin:52px 8% 52px 0;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:linear-gradient(rgba(255,255,255,.035),rgba(255,255,255,.015)),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(135deg,#153d1b,#0c2711);background-size:auto,30px 30px,30px 30px,auto;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:32px}.pp-service-detail-tech>span{width:48px;height:48px;border-radius:12px;background:rgba(190,181,28,.14);border:1px solid rgba(190,181,28,.45);color:#e4dc54;display:flex;align-items:center;justify-content:center;font-weight:900;margin-bottom:16px}.pp-service-detail-tech strong{font-size:25px;max-width:330px}.pp-service-detail-tech small{margin-top:9px;color:#aebbb0;max-width:340px}.pp-service-cap-grid .pp-card{min-height:230px}.pp-service-process{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.pp-service-process>div{position:relative;padding:16px 14px 18px;border-top:2px solid var(--pp-gold);background:#f8faf7;border-radius:0 0 10px 10px}.pp-service-process span{display:block;color:#8f8a10;font-size:13px;font-weight:900;margin-bottom:6px}.pp-service-process strong{font-size:15px;line-height:1.7}.pp-english-page .pp-lifecycle-card,.pp-english-page .pp-audience-grid article,.pp-english-page .pp-about-story-card,.pp-english-page .pp-contact-details-card{text-align:left}.pp-english-page .pp-about-facts b,.pp-english-page .pp-brand-lockup small{direction:ltr;text-align:left}.pp-english-page .pp-contact-details-card dd{direction:ltr}.pp-english-page .pp-project-chips{direction:ltr}.pp-english-page .pp-project-chips span{direction:ltr}
@media(max-width:1050px){.pp-card-grid-4,.pp-audience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-about-v18-grid{grid-template-columns:1fr}.pp-about-v18 .pp-about-photos{grid-template-columns:1fr 1fr}.pp-meta-grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.pp-lifecycle-grid{grid-template-columns:1fr}.pp-generator-detail-grid,.pp-service-detail-grid{grid-template-columns:1fr}.pp-generator-detail-copy,.pp-service-detail-copy{padding:52px 7% 42px}.pp-generator-detail-photo,.pp-service-detail-photo{min-height:360px}.pp-service-detail-tech{margin:0 5% 45px;min-height:280px}.pp-service-process{grid-template-columns:repeat(3,minmax(0,1fr))}.pp-contact-v18-grid{grid-template-columns:1fr}.pp-footer-grid{grid-template-columns:1.2fr 1fr 1fr}}
@media(max-width:600px){.pp-card-grid-4,.pp-audience-grid{grid-template-columns:1fr}.pp-about-facts{grid-template-columns:1fr}.pp-about-v18 .pp-about-photos{grid-template-columns:1fr}.pp-contact-details-card,.pp-form-v18,.pp-about-story-card{padding:22px}.pp-meta-grid-5{grid-template-columns:1fr 1fr}.pp-service-process{grid-template-columns:1fr}.pp-generator-detail-photo,.pp-service-detail-photo{min-height:300px}.pp-footer-grid{grid-template-columns:1fr}.pp-proof-stats div:nth-child(4) b{font-size:19px}.pp-brand strong{font-size:17px}.pp-brand-lockup strong{font-size:17px}}


/* v0.1.9 enquiry forms and lead routing */
.pp-enquiry-form{border:1px solid var(--pp-border);border-radius:15px;background:#fff;padding:26px}.pp-enquiry-head{margin-bottom:18px}.pp-enquiry-head h3{font-size:21px;margin:0 0 7px}.pp-enquiry-head p{font-size:14px;line-height:1.9;color:var(--pp-muted);margin:0}.pp-enquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.pp-enquiry-grid label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--pp-muted)}.pp-enquiry-grid label.wide,.pp-enquiry-grid .wide{grid-column:span 2}.pp-enquiry-grid input,.pp-enquiry-grid select,.pp-enquiry-grid textarea{width:100%;border:1px solid #dce3dc;border-radius:8px;background:#fbfcfb;color:var(--pp-ink);font:inherit;font-size:15px;padding:11px 12px;outline:none;transition:border-color .18s ease,box-shadow .18s ease}.pp-enquiry-grid textarea{resize:vertical;min-height:116px;line-height:1.8}.pp-enquiry-grid input:focus,.pp-enquiry-grid select:focus,.pp-enquiry-grid textarea:focus{border-color:var(--pp-green);box-shadow:0 0 0 3px rgba(36,123,26,.08)}.pp-enquiry-submit{border:0;border-radius:8px;background:var(--pp-green);color:#fff;padding:13px 18px;font:inherit;font-weight:800;cursor:pointer}.pp-enquiry-submit:hover{filter:brightness(.96)}.pp-enquiry-privacy{font-size:13px;color:var(--pp-muted);line-height:1.7}.pp-hp-field{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.pp-enquiry-alert{border-radius:10px;padding:13px 15px;margin:0 0 14px;font-size:15px;line-height:1.8}.pp-enquiry-alert.success{background:#edf7eb;border:1px solid #bdd8b8;color:#1d5f17}.pp-enquiry-alert.warning{background:#fff9e6;border:1px solid #e5d68c;color:#6e620d}.pp-enquiry-alert.error{background:#fff0f0;border:1px solid #e3b7b7;color:#8e2b2b}.pp-managed-enquiry{margin-top:32px;padding-top:28px;border-top:1px solid var(--pp-border)}.pp-managed-enquiry .pp-enquiry-form{max-width:820px;margin:0 auto}.pp-contact-v18-grid>.pp-enquiry-form{height:100%}.pp-english-page .pp-enquiry-form{text-align:left}.pp-english-page .pp-enquiry-grid label{text-align:left}.pp-english-page .pp-enquiry-grid input,.pp-english-page .pp-enquiry-grid select,.pp-english-page .pp-enquiry-grid textarea{direction:ltr;text-align:left}
@media(max-width:600px){.pp-enquiry-grid{grid-template-columns:1fr}.pp-enquiry-grid label.wide,.pp-enquiry-grid .wide{grid-column:span 1}.pp-enquiry-form{padding:22px}}

/* v0.1.10 QA refinements */
.pp-bidi-isolate{unicode-bidi:isolate;direction:rtl}.pp-contact-preferred{display:inline-flex;align-items:center;gap:6px;margin:-4px 0 18px;padding:7px 10px;border-radius:999px;background:#f2f7ef;color:var(--pp-muted);font-size:13px}.pp-contact-preferred strong{color:var(--pp-green)}.pp-contact-details-card dd[dir="ltr"]{unicode-bidi:isolate}.pp-proof-stats .pp-stat-value{white-space:nowrap}.pp-enquiry-grid select[name="pp_contact_method"]{font-weight:700}.pp-enquiry-grid input[type="tel"],.pp-enquiry-grid input[type="email"]{direction:ltr;text-align:left}.pp-service-detail-tech{box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}

/* v0.1.11 — editorial hero + typography */
.pp-hero-v111{position:relative;overflow:hidden;background:radial-gradient(circle at 16% 10%,rgba(190,181,28,.10),transparent 28%),linear-gradient(118deg,#0a2410 0%,#123b18 56%,#081b0c 100%)}
.pp-hero-v111:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(90deg,#000,transparent 64%);pointer-events:none}
.pp-hero-grid-v111{grid-template-columns:1.08fr .92fr;min-height:580px;gap:0;position:relative;z-index:1}
.pp-hero-v111 .pp-hero-copy{padding-top:78px;padding-bottom:72px;max-width:740px}
.pp-hero-v111 .pp-hero-copy h1{font-size:clamp(38px,3.7vw,54px);line-height:1.48;letter-spacing:-.022em;max-width:720px;font-weight:700}
.pp-hero-title-fa span,.pp-hero-title-en span{display:block;white-space:nowrap}
.pp-hero-v111 .pp-hero-copy p{font-size:17px;max-width:620px;color:#d8e4db}
.pp-hero-microproof{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.pp-hero-microproof span{display:inline-flex;align-items:center;min-height:29px;padding:5px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.048);color:#cbd8cd;font-size:13px}.pp-hero-microproof span:nth-child(2){color:#e5dc4a;border-color:rgba(190,181,28,.34)}
.pp-hero-showcase{position:relative;min-height:540px;margin:34px 7% 34px 3%;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:rgba(5,20,9,.22);overflow:hidden;box-shadow:0 28px 72px rgba(0,0,0,.22)}
.pp-hero-gridlines{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px);background-size:38px 38px;opacity:.46}
.pp-hero-primary-image,.pp-hero-secondary-image{position:absolute;margin:0;overflow:hidden;background-image:linear-gradient(180deg,rgba(4,15,8,.01),rgba(4,15,8,.13)),var(--pp-bg-image);background-size:cover;border:1px solid rgba(255,255,255,.13);box-shadow:0 18px 46px rgba(0,0,0,.24)}
.pp-hero-primary-image{right:7%;top:7%;width:76%;height:76%;border-radius:16px;background-position:center 49%}
.pp-hero-secondary-image{left:6%;bottom:7%;width:31%;height:33%;border-radius:13px;background-position:center}
.pp-hero-secondary-image span{position:absolute;left:10px;bottom:10px;padding:5px 8px;border-radius:999px;background:rgba(7,25,12,.78);border:1px solid rgba(255,255,255,.15);color:#fff;font-size:14px;font-weight:700;backdrop-filter:blur(5px)}
.pp-hero-project-card{position:absolute;right:6%;bottom:6%;width:56%;padding:15px 17px 16px;border-radius:14px;background:rgba(8,29,13,.90);color:#fff;border:1px solid rgba(255,255,255,.16);box-shadow:0 16px 36px rgba(0,0,0,.22);backdrop-filter:blur(8px)}
.pp-hero-project-card small{display:block;color:#d8d047;font-size:14px;font-weight:700;margin-bottom:2px}.pp-hero-project-card>strong{display:block;font-size:19px;line-height:1.45;margin-bottom:8px}.pp-hero-project-specs{display:flex;gap:6px;flex-wrap:wrap;direction:ltr;justify-content:flex-end}.pp-hero-project-specs span{display:inline-flex;align-items:center;min-height:25px;padding:3px 7px;border-radius:6px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.055);font-size:14px;color:#e7eee9;white-space:nowrap}
.pp-nav-list a,.pp-lang{font-weight:500}.pp-nav-list a[aria-current="page"]{color:var(--pp-green);font-weight:800}.pp-section-head h2,.pp-card h3,.pp-lifecycle-card h3{font-weight:700}
.pp-english-page .pp-hero-grid-v111{grid-template-columns:1.12fr .88fr}.pp-english-page .pp-hero-v111 .pp-hero-copy{max-width:790px}.pp-english-page .pp-hero-v111 .pp-hero-copy h1{font-size:clamp(38px,3.45vw,52px);line-height:1.38;max-width:780px;letter-spacing:-.025em}.pp-english-page .pp-hero-project-card{text-align:left;right:auto;left:6%}.pp-english-page .pp-hero-project-specs{justify-content:flex-start}.pp-english-page .pp-hero-primary-image{right:7%}.pp-english-page .pp-hero-secondary-image{left:6%}
@media(max-width:1100px){.pp-hero-title-fa span,.pp-hero-title-en span{white-space:normal}.pp-hero-v111 .pp-hero-copy h1{font-size:clamp(37px,4vw,50px)}.pp-english-page .pp-hero-v111 .pp-hero-copy h1{font-size:clamp(36px,3.8vw,48px)}}
@media(max-width:900px){.pp-hero-grid-v111,.pp-english-page .pp-hero-grid-v111{grid-template-columns:1fr;min-height:0}.pp-hero-showcase{min-height:480px;margin:0 5% 42px}.pp-hero-v111 .pp-hero-copy,.pp-english-page .pp-hero-v111 .pp-hero-copy{max-width:none;justify-self:stretch;padding:58px 7% 34px}.pp-hero-primary-image{width:75%;height:74%}.pp-hero-secondary-image{width:31%;height:32%}.pp-hero-project-card{width:55%}}
@media(max-width:600px){.pp-hero-v111 .pp-hero-copy h1,.pp-english-page .pp-hero-v111 .pp-hero-copy h1{font-size:34px;line-height:1.52}.pp-hero-title-fa span,.pp-hero-title-en span{white-space:normal}.pp-hero-showcase{min-height:390px;border-radius:16px}.pp-hero-primary-image{right:5%;top:6%;width:78%;height:72%;border-radius:13px}.pp-hero-secondary-image{left:5%;bottom:6%;width:34%;height:30%;border-radius:11px}.pp-hero-project-card{right:5%;bottom:5%;width:61%;padding:12px 13px}.pp-english-page .pp-hero-project-card{left:5%;right:auto}.pp-hero-project-card>strong{font-size:17px}.pp-hero-project-specs{gap:4px}.pp-hero-project-specs span{font-size:13px;padding:2px 5px}.pp-hero-microproof{margin-top:21px}}
.pp-english-page{font-family:"Segoe UI",Arial,sans-serif}

/* v0.1.11.2 hero QA refinements */
.pp-english-page .pp-hero-title-en{max-width:690px}
.pp-english-page .pp-hero-v111 .pp-hero-copy h1{font-size:clamp(38px,3.15vw,48px);line-height:1.34;letter-spacing:-.022em}
.pp-english-page .pp-hero-title-en span{white-space:nowrap}
@media(max-width:1200px){.pp-english-page .pp-hero-title-en span{white-space:normal}.pp-english-page .pp-hero-v111 .pp-hero-copy h1{font-size:clamp(36px,3.5vw,46px)}}
@media(min-width:1201px){.pp-hero-v111 .pp-hero-showcase{transform:translateZ(0)}.pp-hero-v111 .pp-hero-copy{position:relative;z-index:2}.pp-hero-v111 .pp-hero-showcase{position:relative;z-index:1}}


/* v0.1.11.3 — wider desktop canvas + English hero card placement */
@media(min-width:1201px){
  :root{--pp-max:1500px}
  .pp-container{padding-inline:32px}
  .pp-section{padding-inline:32px}
  .pp-header-inner{padding-inline:32px}
  .pp-hero-grid-v111{grid-template-columns:1.06fr .94fr}
  .pp-hero-v111 .pp-hero-copy{max-width:780px}
  .pp-english-page .pp-hero-v111 .pp-hero-copy{max-width:760px}
  .pp-hero-showcase{margin-inline:28px 18px}
  .pp-english-page .pp-hero-showcase{margin-inline:18px 28px}
  .pp-english-page .pp-hero-project-card{left:auto;right:5%;width:52%;bottom:5%}
}
@media(min-width:1500px){
  .pp-hero-grid-v111{min-height:600px}
  .pp-hero-showcase{min-height:558px}
}
@media(max-width:1200px) and (min-width:901px){
  :root{--pp-max:1180px}
}


/* v0.1.12 — expanded real project photography */
.pp-field-archive-section{background:#fff}
.pp-field-archive-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:185px;gap:12px}
.pp-field-photo{position:relative;margin:0;border-radius:14px;overflow:hidden;background-image:linear-gradient(180deg,rgba(5,16,9,.02) 35%,rgba(5,16,9,.78) 100%),var(--pp-bg-image);background-size:cover;background-position:center;border:1px solid rgba(16,46,20,.08);box-shadow:0 8px 24px rgba(16,46,20,.06)}
.pp-field-photo-wide{grid-column:span 2}.pp-field-photo-tall{grid-row:span 2}
.pp-field-photo figcaption{position:absolute;inset:auto 0 0;padding:18px 18px 15px;color:#fff;display:flex;align-items:end;justify-content:space-between;gap:14px;font-size:13px}
.pp-field-photo figcaption b{font-size:16px}.pp-field-photo figcaption span{color:#d8d047;white-space:nowrap}
.pp-about-photo-mosaic{grid-template-columns:1fr 1fr!important;gap:12px!important}.pp-about-photo-mosaic .pp-about-photo{aspect-ratio:16/9!important}
.pp-service-photo-section{padding-top:48px;padding-bottom:54px}
.pp-service-photo-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px}
.pp-service-photo-grid figure{margin:0;border:1px solid var(--pp-border);border-radius:14px;overflow:hidden;background:#fff}
.pp-service-photo-grid figure>div{aspect-ratio:4/3;background-image:linear-gradient(180deg,rgba(5,17,9,.00),rgba(5,17,9,.10)),var(--pp-bg-image);background-size:cover;background-position:center}
.pp-service-photo-grid figure:first-child>div{aspect-ratio:16/10}
.pp-service-photo-grid figcaption{padding:11px 13px;font-size:14px;color:var(--pp-muted)}
.pp-generator-photo-section{background:#fff}
.pp-generator-photo-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;grid-auto-rows:180px;gap:12px}
.pp-generator-photo-grid figure{margin:0;position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--pp-border);background:#fff}
.pp-generator-photo-grid figure>div{position:absolute;inset:0;background-image:linear-gradient(180deg,rgba(5,17,9,.00),rgba(5,17,9,.18)),var(--pp-bg-image);background-size:cover;background-position:center}
.pp-generator-photo-grid .pp-generator-photo-wide{grid-row:span 2}
.pp-generator-photo-grid figcaption{position:absolute;left:12px;right:12px;bottom:12px;background:rgba(9,25,14,.80);border:1px solid rgba(255,255,255,.14);border-radius:7px;color:#fff;padding:7px 9px;font-size:13px;backdrop-filter:blur(4px)}
@media(max-width:900px){.pp-field-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:180px}.pp-field-photo-wide{grid-column:span 2}.pp-service-photo-grid{grid-template-columns:1fr 1fr}.pp-service-photo-grid figure:first-child{grid-column:span 2}.pp-generator-photo-grid{grid-template-columns:1fr 1fr}.pp-generator-photo-grid .pp-generator-photo-wide{grid-column:span 2;grid-row:span 1;min-height:260px}}
@media(max-width:600px){.pp-field-archive-grid{grid-template-columns:1fr;grid-auto-rows:210px}.pp-field-photo-wide,.pp-field-photo-tall{grid-column:span 1;grid-row:span 1}.pp-field-photo figcaption{padding:14px}.pp-service-photo-grid{grid-template-columns:1fr}.pp-service-photo-grid figure:first-child{grid-column:span 1}.pp-generator-photo-grid{grid-template-columns:1fr;grid-auto-rows:210px}.pp-generator-photo-grid .pp-generator-photo-wide{grid-column:span 1;min-height:0}.pp-about-photo-mosaic{grid-template-columns:1fr!important}}

/* v0.1.13 — photographic archive is distributed by purpose, not concentrated in one gallery */
.pp-project-journey-section{background:#fff;padding-top:56px;padding-bottom:62px}
.pp-project-journey{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:stretch}
.pp-journey-card{position:relative;min-height:300px;border-radius:14px;overflow:hidden;text-decoration:none;color:#fff;background-image:linear-gradient(180deg,rgba(6,18,10,.04) 28%,rgba(6,18,10,.90) 100%),var(--pp-bg-image);background-size:cover;background-position:center;box-shadow:0 8px 26px rgba(16,46,20,.08);transition:transform .2s ease,box-shadow .2s ease}
.pp-journey-card:hover{transform:translateY(-3px);box-shadow:0 13px 30px rgba(16,46,20,.14)}
.pp-journey-card>span{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:rgba(9,25,14,.78);border:1px solid rgba(255,255,255,.18);font-size:13px;font-weight:900;color:#e6df4c;backdrop-filter:blur(4px)}
.pp-journey-card>div{position:absolute;left:0;right:0;bottom:0;padding:22px 18px 18px}
.pp-journey-card small{display:block;color:#d9d14b;font-size:14px;letter-spacing:.08em;font-weight:800;margin-bottom:4px}
.pp-journey-card b{display:block;font-size:17px;line-height:1.55;color:#fff}
.pp-journey-card em{display:block;font-style:normal;color:#cbd7cd;font-size:13px;margin-top:4px}
.pp-journey-card-featured{min-height:340px;margin-top:-20px;margin-bottom:-20px}
.pp-archive-note{margin-top:20px;padding:13px 16px;border-right:3px solid var(--pp-gold);background:#f6f8f4;border-radius:8px;color:var(--pp-muted);font-size:14px;line-height:1.95}
.pp-english-page .pp-journey-card>span{right:auto;left:14px}.pp-english-page .pp-journey-card>div{text-align:left}

.pp-about-photo-trio{grid-template-columns:1.15fr .85fr!important;grid-template-areas:"a b" "a c"!important}
.pp-about-photo-trio figure:nth-child(1){grid-area:a}.pp-about-photo-trio figure:nth-child(2){grid-area:b}.pp-about-photo-trio figure:nth-child(3){grid-area:c}
.pp-about-photo-trio figure:nth-child(1) .pp-about-photo{height:100%;min-height:420px;aspect-ratio:auto!important}.pp-about-photo-trio figure:nth-child(2) .pp-about-photo,.pp-about-photo-trio figure:nth-child(3) .pp-about-photo{aspect-ratio:16/7.5!important}

.pp-service-photo-grid{grid-template-columns:1.35fr 1fr 1fr;grid-auto-rows:180px}
.pp-service-photo-grid figure{position:relative;min-height:0}
.pp-service-photo-grid figure>div{position:absolute;inset:0;aspect-ratio:auto!important}
.pp-service-photo-grid figure:first-child{grid-row:span 2}
.pp-service-photo-grid figcaption{position:absolute;left:10px;right:10px;bottom:10px;z-index:2;background:rgba(9,25,14,.78);border:1px solid rgba(255,255,255,.13);color:#fff;border-radius:7px;padding:7px 9px;backdrop-filter:blur(4px)}
.pp-service-photo-grid figure:nth-child(4){grid-column:2 / span 2}

.pp-generator-photo-grid-expanded{grid-template-columns:1.3fr 1fr 1fr;grid-auto-rows:178px}
.pp-generator-photo-grid-expanded .pp-generator-photo-wide{grid-row:span 2}
.pp-gallery-mosaic-expanded{grid-auto-flow:dense}
.pp-gallery-mosaic-expanded figure:nth-child(6){grid-column:span 2}.pp-gallery-mosaic-expanded figure:nth-child(6)>div{aspect-ratio:16/7.8}

@media(max-width:1150px){.pp-project-journey{grid-template-columns:repeat(3,minmax(0,1fr))}.pp-journey-card-featured{margin:0;min-height:300px}.pp-project-journey .pp-journey-card:nth-child(4),.pp-project-journey .pp-journey-card:nth-child(5){min-height:250px}.pp-about-photo-trio{grid-template-columns:1fr 1fr!important;grid-template-areas:"a a" "b c"!important}.pp-about-photo-trio figure:nth-child(1) .pp-about-photo{min-height:300px}.pp-service-photo-grid{grid-template-columns:1fr 1fr;grid-auto-rows:190px}.pp-service-photo-grid figure:first-child{grid-row:span 1;grid-column:span 2}.pp-service-photo-grid figure:nth-child(4){grid-column:span 1}}
@media(max-width:700px){.pp-project-journey{grid-template-columns:1fr 1fr}.pp-journey-card,.pp-project-journey .pp-journey-card:nth-child(4),.pp-project-journey .pp-journey-card:nth-child(5){min-height:230px}.pp-project-journey .pp-journey-card:first-child{grid-column:span 2}.pp-about-photo-trio{grid-template-columns:1fr!important;grid-template-areas:"a" "b" "c"!important}.pp-about-photo-trio figure:nth-child(1) .pp-about-photo{min-height:250px}.pp-service-photo-grid{grid-template-columns:1fr;grid-auto-rows:220px}.pp-service-photo-grid figure:first-child,.pp-service-photo-grid figure:nth-child(4){grid-column:span 1}.pp-generator-photo-grid-expanded{grid-template-columns:1fr 1fr}.pp-gallery-mosaic-expanded figure:nth-child(6){grid-column:span 1}.pp-gallery-mosaic-expanded figure:nth-child(6)>div{aspect-ratio:4/3}}
@media(max-width:480px){.pp-project-journey{grid-template-columns:1fr}.pp-project-journey .pp-journey-card:first-child{grid-column:span 1}.pp-journey-card{min-height:220px}.pp-generator-photo-grid-expanded{grid-template-columns:1fr}}

/* v0.1.14 — photography integrated into information, not separated as an archive */
.pp-lifecycle-photo-card{padding:0;display:flex;flex-direction:column;background:#fff;min-height:390px}
.pp-lifecycle-photo-card:after{left:0;right:0}
.pp-lifecycle-photo{position:relative;min-height:165px;background-image:linear-gradient(180deg,rgba(5,16,9,.02),rgba(5,16,9,.22)),var(--pp-bg-image);background-size:cover;background-position:center;overflow:hidden}
.pp-lifecycle-photo .pp-lifecycle-index{position:absolute;top:16px;right:16px;margin:0;background:rgba(250,252,249,.94);box-shadow:0 5px 18px rgba(5,20,9,.14)}
.pp-english-page .pp-lifecycle-photo .pp-lifecycle-index{right:auto;left:16px}
.pp-lifecycle-body{padding:22px 24px 27px;display:flex;flex-direction:column;flex:1}
.pp-lifecycle-body>span{font-size:13px;letter-spacing:.12em;color:#8f8a10;font-weight:800}
.pp-lifecycle-body h3{margin-top:7px}.pp-lifecycle-body p{flex:1}

.pp-home-service-photo-card{padding:0!important;overflow:hidden;min-height:330px!important;background:#fff}
.pp-home-service-photo{height:142px;position:relative;background-image:linear-gradient(180deg,rgba(5,16,9,.01),rgba(5,16,9,.22)),var(--pp-bg-image);background-size:cover;background-position:center}
.pp-home-service-photo span{position:absolute;top:13px;right:13px;display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 8px;border-radius:8px;background:rgba(248,251,247,.94);color:var(--pp-green);font-weight:900;box-shadow:0 4px 14px rgba(5,20,9,.12)}
.pp-english-page .pp-home-service-photo span{right:auto;left:13px}
.pp-home-service-body{padding:20px 21px 22px;display:flex;flex-direction:column;flex:1}
.pp-home-service-body p{flex:1}.pp-home-service-body .pp-card-arrow{margin-top:14px}

.pp-audience-photo-card{padding:0!important;border-top:0!important;border:1px solid var(--pp-border)!important;border-radius:13px!important;overflow:hidden;box-shadow:0 8px 24px rgba(16,46,20,.045)}
.pp-audience-photo{height:128px;position:relative;background-image:linear-gradient(180deg,rgba(5,16,9,.00),rgba(5,16,9,.20)),var(--pp-bg-image);background-size:cover;background-position:center}
.pp-audience-photo span{position:absolute;top:12px;right:12px;background:rgba(250,252,249,.94);color:var(--pp-green);min-width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:900}
.pp-audience-body{padding:18px 19px 20px}.pp-audience-body h3{margin-top:0}

.pp-capability-photo-card{padding:0!important;overflow:hidden;display:flex;flex-direction:column;min-height:345px!important}
.pp-capability-photo{height:155px;position:relative;background-image:linear-gradient(180deg,rgba(5,16,9,.00),rgba(5,16,9,.34)),var(--pp-bg-image);background-size:cover;background-position:center}
.pp-capability-photo>span{position:absolute;top:12px;right:12px;background:rgba(249,251,248,.94);color:var(--pp-green);height:34px;min-width:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 7px;font-weight:900;font-size:14px}
.pp-capability-photo>small{position:absolute;left:12px;right:12px;bottom:10px;color:#fff;font-size:14px;font-weight:700;text-shadow:0 2px 8px rgba(0,0,0,.35)}
.pp-capability-body{padding:18px 20px 22px;display:flex;flex-direction:column;flex:1}.pp-capability-body h3{margin-top:0}.pp-capability-body p{flex:1}

.pp-split-card-with-photo{padding:0;display:grid;grid-template-columns:.78fr 1.22fr;overflow:hidden;align-items:stretch}
.pp-split-card-photo{min-height:310px;background-image:linear-gradient(180deg,rgba(5,16,9,.02),rgba(5,16,9,.18)),var(--pp-bg-image);background-size:cover;background-position:center}
.pp-split-card-copy{padding:36px 38px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.pp-english-page .pp-split-card-copy{align-items:flex-start}
.pp-split-card-copy .pp-button{margin-top:22px}

@media(max-width:1050px){
  .pp-home-service-photo-card{min-height:310px!important}
  .pp-capability-photo-card{min-height:320px!important}
  .pp-split-card-with-photo{grid-template-columns:1fr 1.25fr}
}
@media(max-width:760px){
  .pp-lifecycle-photo{min-height:210px}
  .pp-home-service-photo{height:185px}
  .pp-audience-photo{height:175px}
  .pp-capability-photo{height:190px}
  .pp-split-card-with-photo{grid-template-columns:1fr}
  .pp-split-card-photo{min-height:240px}
}
@media(max-width:480px){
  .pp-home-service-photo{height:165px}
  .pp-audience-photo{height:155px}
  .pp-capability-photo{height:170px}
  .pp-split-card-copy{padding:28px 24px}
}

/* v0.1.15 — stabilization, legibility and accessible interaction */
.pp-section-head p,.pp-card p,.pp-managed-body p,.pp-lifecycle-body p,.pp-audience-body p,.pp-capability-body p{font-size:16px}
.pp-stats span,.pp-project-proof,.pp-card-arrow,.pp-section-link,.pp-news time{font-size:15px}
.pp-footer{font-size:16px}.pp-footer p{line-height:1.9}.pp-footer small{font-size:14px}
.pp-enquiry-head p{font-size:16px}.pp-enquiry-grid label{font-size:15px}.pp-enquiry-grid input,.pp-enquiry-grid select,.pp-enquiry-grid textarea{font-size:17px}.pp-enquiry-privacy{font-size:14px}
.pp-enquiry-files input[type="file"]{padding:9px;background:#fff}.pp-enquiry-files>small{font-size:14px;line-height:1.8;color:var(--pp-muted)}
.pp-hp-field{position:fixed!important;top:0!important;left:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.pp-service-headline{font-size:21px!important;line-height:1.8!important;font-weight:800;color:var(--pp-green)!important;margin:10px 0 6px!important}
.pp-menu-toggle{line-height:1;font-size:22px}
.pp-not-found-hero{min-height:60vh;display:flex;align-items:center}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--pp-gold);outline-offset:3px}
.pp-case-study-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.pp-case-study-grid .pp-card>span{display:inline-flex;min-width:36px;height:36px;align-items:center;justify-content:center;border-radius:8px;background:var(--pp-green);color:#fff;font-weight:800;margin-bottom:13px}.pp-case-study-grid .pp-card p{white-space:normal;font-size:16px;line-height:2}@media(max-width:820px){.pp-case-study-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.pp-section-head-side{max-width:540px;display:grid;justify-items:start;gap:9px}.pp-section-head-side p{max-width:none}.pp-section-head-side a{color:var(--pp-green);font-size:15px;font-weight:800;text-decoration:none}.pp-english-page .pp-section-head-side{justify-items:start}@media(max-width:700px){.pp-section-head-with-link{align-items:start}.pp-section-head-side{max-width:none}.pp-section-head-side a{font-size:16px}}

/* v0.1.22 responsive QA and rendering performance */
:where(a,button,input,select,textarea):focus-visible{outline:3px solid rgba(190,181,28,.75);outline-offset:3px}
@supports(content-visibility:auto){main>section:not(:first-child){content-visibility:auto;contain-intrinsic-size:auto 680px}.pp-footer{content-visibility:auto;contain-intrinsic-size:auto 360px}}
@media(max-width:600px){.pp-nav{top:68px}.pp-menu-toggle{min-width:44px;min-height:44px}.pp-nav-list a,.pp-nav>.pp-lang{display:flex;align-items:center;min-height:44px;padding-block:7px}.pp-nav>.pp-button{width:100%;min-height:44px}.pp-actions .pp-button,.pp-enquiry-submit{min-height:44px}.pp-enquiry-grid input,.pp-enquiry-grid select,.pp-enquiry-grid textarea{font-size:18px}.pp-hero-v111 .pp-actions{display:grid;grid-template-columns:1fr}.pp-hero-v111 .pp-actions .pp-button,.pp-hero-v111 .pp-actions .pp-button-outline{width:100%}}
@media print{main>section,.pp-footer{content-visibility:visible!important;contain:none!important}}

/* v0.1.23 QA corrections */
.pp-project.pp-photo-project{background-image:linear-gradient(180deg,rgba(5,15,9,.03) 20%,rgba(5,15,9,.92) 100%),var(--pp-bg-image);background-size:cover;background-position:center}
.pp-project.pp-photo-project.pp-photo-project-rafsanjan{background-position:center 54%}
.pp-mwm-feature-restored .pp-photo-mini-grid{margin-top:16px}

/* v0.1.17 English service routes, enquiry privacy and section transitions */
.pp-home-service-link{color:inherit;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.pp-home-service-link:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(16,46,20,.11)}.pp-home-service-link b{display:inline-block;margin-top:13px;color:var(--pp-green);font-size:14px}.pp-english-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pp-english-service-card{display:grid;grid-template-columns:.42fr .58fr;min-height:300px;background:#fff;border:1px solid var(--pp-border);border-radius:15px;overflow:hidden;color:inherit;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.pp-english-service-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(16,46,20,.11)}.pp-english-service-image{position:relative;background-image:linear-gradient(180deg,rgba(5,15,9,.01),rgba(5,15,9,.13)),var(--pp-bg-image);background-size:cover;background-position:center}.pp-english-service-image span{position:absolute;left:14px;top:14px;display:inline-flex;align-items:center;justify-content:center;min-width:37px;height:37px;border-radius:8px;background:rgba(9,35,14,.88);border:1px solid rgba(255,255,255,.16);color:#fff;font-weight:800}.pp-english-service-body{padding:25px;align-self:center}.pp-english-service-body small{color:#8f8a10;font-weight:700;font-size:13px}.pp-english-service-body h2{font-size:23px;line-height:1.4;margin:6px 0 9px}.pp-english-service-body p{font-size:15px;color:var(--pp-muted);margin:0 0 13px}.pp-english-service-body b{font-size:14px;color:var(--pp-green)}.pp-service-intake-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;align-items:stretch}.pp-service-intake-card{border:1px solid var(--pp-border);border-radius:14px;background:#fff;padding:28px}.pp-service-intake-card h2{font-size:26px;line-height:1.45;margin:6px 0 14px}.pp-service-intake-card ul{margin:0;padding-left:20px}.pp-service-intake-card li{padding:5px 0;color:var(--pp-muted);font-size:16px}.pp-evidence-note-ltr{border-right:1px solid rgba(190,181,28,.35);border-left:4px solid var(--pp-gold);display:flex;flex-direction:column;justify-content:center}.pp-privacy-hero{min-height:340px;display:flex;flex-direction:column;justify-content:center;padding-top:55px;padding-bottom:55px}.pp-privacy-hero h1{font-size:clamp(35px,4vw,52px);line-height:1.4;margin:10px 0 13px;max-width:900px}.pp-privacy-hero p{max-width:790px;color:#d7e1da}.pp-privacy-card{max-width:900px;margin:0 auto;border:1px solid var(--pp-border);border-radius:15px;background:#fff;padding:36px}.pp-privacy-card h2{font-size:22px;margin:29px 0 7px}.pp-privacy-card p{color:var(--pp-muted);font-size:16px;line-height:2;margin:0}.pp-privacy-card a{color:var(--pp-green)}.pp-privacy-card .pp-privacy-updated{padding-bottom:17px;border-bottom:1px solid var(--pp-border);color:var(--pp-ink)}.pp-enquiry-consent{display:grid!important;grid-template-columns:20px 1fr;align-items:start;gap:9px!important;color:var(--pp-muted)!important;line-height:1.8}.pp-enquiry-grid .pp-enquiry-consent input[type="checkbox"]{width:18px;height:18px;margin:2px 0 0;padding:0;accent-color:var(--pp-green)}.pp-enquiry-consent span{font-size:14px}.pp-enquiry-consent a{color:var(--pp-green);font-weight:700}
@media(max-width:900px){.pp-english-service-grid{grid-template-columns:1fr}.pp-service-intake-grid{grid-template-columns:1fr}}
@media(max-width:600px){.pp-english-service-card{grid-template-columns:1fr}.pp-english-service-image{min-height:205px}.pp-english-service-body{padding:22px}.pp-privacy-card{padding:24px}.pp-privacy-hero{min-height:300px}.pp-enquiry-consent span{font-size:15px}}
html[dir="rtl"] .pp-english-service-image span{left:auto;right:14px}

/* v0.1.20 — restored v0.1.17 presentation with a stable MWM composition */
.pp-mwm-feature-restored{grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr);grid-template-areas:"media copy";direction:ltr;align-items:stretch;min-height:390px}
.pp-mwm-feature-restored .pp-mwm-feature-photo{grid-area:media;min-width:0;min-height:390px}
.pp-mwm-feature-restored .pp-mwm-feature-copy{grid-area:copy;min-width:0;direction:rtl;text-align:right;align-self:center}
.pp-english-page .pp-mwm-feature-restored .pp-mwm-feature-copy{direction:ltr;text-align:left}
@media(max-width:950px){.pp-mwm-feature-restored{grid-template-columns:1fr;grid-template-areas:"copy" "media";min-height:0}.pp-mwm-feature-restored .pp-mwm-feature-photo{min-height:330px}}
@media(max-width:600px){.pp-mwm-feature-restored .pp-mwm-feature-photo{min-height:245px}}

/* v0.1.25 — dedicated bilingual About and Contact routes */
.pp-about-page-hero{background:linear-gradient(120deg,#0d2812,#16451b);color:#fff;overflow:hidden}
.pp-about-page-hero-grid{display:grid;grid-template-columns:.88fr 1.12fr;min-height:500px;padding-inline:0}
.pp-about-page-hero-copy{align-self:center;padding:66px 8% 62px 10%}
.pp-about-page-hero-copy h1{font-size:clamp(37px,4vw,55px);line-height:1.42;margin:13px 0 18px;text-wrap:balance}
.pp-about-page-hero-copy p{font-size:17px;line-height:2;color:#d7e1da;max-width:650px}
.pp-about-page-hero-photo{position:relative;min-width:0;background-image:linear-gradient(90deg,rgba(9,34,14,.18),rgba(9,34,14,0)),var(--pp-bg-image);background-size:cover;background-position:center}
.pp-about-page-hero-badge{position:absolute;inset-inline-end:24px;bottom:24px;display:flex;align-items:center;gap:12px;max-width:320px;padding:12px 14px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:rgba(8,28,12,.88);box-shadow:0 12px 30px rgba(0,0,0,.2)}
.pp-about-page-hero-badge img{width:48px;height:48px;object-fit:contain}.pp-about-page-hero-badge strong,.pp-about-page-hero-badge span{display:block}.pp-about-page-hero-badge strong{font-size:16px}.pp-about-page-hero-badge span{font-size:13px;color:#bdc9bf;direction:ltr}
.pp-about-page-stats{max-width:var(--pp-max)}
.pp-about-page-profile{display:grid;grid-template-columns:1.02fr .98fr;gap:18px;align-items:stretch}
.pp-about-page-narrative{border:1px solid var(--pp-border);border-radius:15px;background:#fff;padding:36px}
.pp-about-page-narrative h2{font-size:29px;line-height:1.55;margin:7px 0 18px}.pp-about-page-narrative p{font-size:16px;line-height:2.1;color:var(--pp-muted);margin:0 0 14px}.pp-about-page-narrative .pp-text-link{display:inline-flex;margin-top:6px}
.pp-about-page-link{display:inline-flex;margin-top:18px}
.pp-about-page-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pp-about-page-photo-pair figure{position:relative;margin:0;min-height:390px;border:1px solid var(--pp-border);border-radius:14px;overflow:hidden;background:#fff}.pp-about-page-photo-pair figure>div{position:absolute;inset:0;background-image:linear-gradient(180deg,rgba(5,17,9,0),rgba(5,17,9,.18)),var(--pp-bg-image);background-size:cover;background-position:center}.pp-about-page-photo-pair figcaption{position:absolute;inset-inline:13px;bottom:13px;padding:8px 10px;border:1px solid rgba(255,255,255,.14);border-radius:7px;background:rgba(9,25,14,.82);color:#fff;font-size:14px}
.pp-about-evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.pp-about-evidence-grid article{border:1px solid var(--pp-border);border-radius:14px;padding:27px;background:linear-gradient(180deg,#fff,#f8faf7)}.pp-about-evidence-grid article>span{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:9px;background:#edf7eb;color:var(--pp-green);font-weight:900}.pp-about-evidence-grid h3{font-size:20px;margin:14px 0 8px}.pp-about-evidence-grid p{font-size:15px;line-height:2;color:var(--pp-muted);margin:0}
.pp-about-history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.pp-about-history-grid article{min-height:220px;padding:28px;border:1px solid rgba(20,71,27,.14);border-radius:15px;background:#fff}.pp-about-history-grid article>span{display:inline-flex;min-width:42px;padding:6px 9px;border-radius:7px;background:#edf7eb;color:var(--pp-green);font-weight:900;direction:ltr}.pp-about-history-grid h3{margin:19px 0 9px;font-size:21px}.pp-about-history-grid p{margin:0;color:var(--pp-muted);font-size:15px;line-height:2}.pp-about-project-record{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pp-about-project-record article{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:14px;align-items:center;padding:17px 18px;border:1px solid var(--pp-border);border-radius:12px;background:#fff}.pp-about-project-record article>span{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:9px;background:#143f1b;color:#fff;font-weight:900;direction:ltr}.pp-about-project-record h3{margin:0 0 5px;font-size:17px;line-height:1.7}.pp-about-project-record p{margin:0;color:var(--pp-muted);font-size:13px}.pp-about-project-record article>strong{white-space:nowrap;color:var(--pp-green);font-size:15px}.pp-about-epc-capability{margin-top:18px;padding:28px;border:1px solid rgba(190,181,28,.38);border-radius:15px;background:linear-gradient(135deg,#f9fbf7,#f1f5e8)}.pp-about-epc-capability h3{margin:8px 0 8px;font-size:23px}.pp-about-epc-capability p{max-width:1050px;margin:0;color:var(--pp-muted);font-size:15px;line-height:2}.pp-about-record-link{display:inline-flex;margin-top:20px}
.pp-contact-page-hero .pp-structured-hero-grid{min-height:390px}.pp-contact-hero-panel{justify-self:end;width:min(100%,360px);padding:28px;border:1px solid rgba(255,255,255,.18);border-radius:15px;background:rgba(255,255,255,.05);text-align:center}.pp-contact-hero-panel img{display:block;width:68px;height:68px;object-fit:contain;margin:0 auto 12px}.pp-contact-hero-panel strong,.pp-contact-hero-panel span,.pp-contact-hero-panel a{display:block}.pp-contact-hero-panel strong{font-size:20px}.pp-contact-hero-panel span{font-size:13px;color:#aebbb0;margin:3px 0 14px;direction:ltr}.pp-contact-hero-panel a{color:#fff;text-decoration:none;font-size:15px;line-height:2;direction:ltr}
.pp-contact-route-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.pp-contact-route-card{position:relative;display:flex;flex-direction:column;min-height:275px;padding:24px;border:1px solid var(--pp-border);border-radius:14px;background:#fff;color:inherit;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.pp-contact-route-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(16,46,20,.1);border-color:rgba(36,123,26,.28)}.pp-contact-route-card.is-active{border-color:var(--pp-green);box-shadow:inset 0 0 0 1px var(--pp-green)}.pp-contact-route-card>span{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:9px;background:#edf7eb;color:var(--pp-green);font-weight:900}.pp-contact-route-card h3{font-size:19px;line-height:1.55;margin:14px 0 8px}.pp-contact-route-card p{flex:1;font-size:15px;line-height:1.95;color:var(--pp-muted);margin:0 0 14px}.pp-contact-route-card b{font-size:14px;color:var(--pp-green)}
.pp-contact-page-main{scroll-margin-top:96px}.pp-contact-page-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:16px;align-items:stretch}.pp-contact-page-details h2{font-size:24px;margin:23px 0 0}.pp-contact-page-form>.pp-enquiry-form{height:100%}.pp-contact-privacy-link{margin:22px 0 0;padding-top:16px;border-top:1px solid var(--pp-border);font-size:14px}.pp-contact-privacy-link a{color:var(--pp-green);font-weight:700}
.pp-english-page .pp-about-page-hero-copy{padding:66px 10% 62px 8%}.pp-english-page .pp-about-page-narrative,.pp-english-page .pp-about-evidence-grid article,.pp-english-page .pp-contact-route-card{text-align:left}.pp-english-page .pp-contact-hero-panel{text-align:center}
@media(max-width:1050px){.pp-about-page-profile{grid-template-columns:1fr}.pp-about-page-photo-pair figure{min-height:300px}.pp-about-project-record{grid-template-columns:1fr}.pp-contact-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-contact-route-card{min-height:235px}}
@media(max-width:1100px) and (min-width:901px){.pp-nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;border-bottom:1px solid var(--pp-border);padding:18px 5%;flex-direction:column;align-items:stretch}.pp-nav.is-open{display:flex}.pp-nav-list{flex-direction:column;align-items:stretch}.pp-menu-toggle{display:block}}
@media(max-width:900px){.pp-about-page-hero-grid{grid-template-columns:1fr}.pp-about-page-hero-copy,.pp-english-page .pp-about-page-hero-copy{padding:54px 7% 44px}.pp-about-page-hero-photo{min-height:360px}.pp-contact-hero-panel{justify-self:stretch;width:100%}.pp-contact-page-grid{grid-template-columns:1fr}}
@media(max-width:650px){.pp-about-page-hero-photo{min-height:280px}.pp-about-page-hero-badge{inset-inline:16px;bottom:16px;max-width:none}.pp-about-page-narrative{padding:25px}.pp-about-page-narrative h2{font-size:25px}.pp-about-page-photo-pair{grid-template-columns:1fr}.pp-about-page-photo-pair figure{min-height:270px}.pp-about-evidence-grid,.pp-about-history-grid,.pp-contact-route-grid{grid-template-columns:1fr}.pp-about-history-grid article{min-height:0}.pp-about-project-record article{grid-template-columns:38px minmax(0,1fr)}.pp-about-project-record article>strong{grid-column:2}.pp-contact-route-card{min-height:0}.pp-contact-page-hero .pp-structured-hero-grid{min-height:0}}

/* v0.1.32 final content-independent QA and optional company documents */
.pp-about-profile-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:20px}.pp-about-profile-actions .pp-text-link{margin-top:0}.pp-button-quiet{padding:10px 14px;font-size:15px;background:#edf7eb;color:var(--pp-green)!important;border:1px solid rgba(36,123,26,.2)}
@media screen and (max-width:782px){body.admin-bar .pp-header{top:46px}}

/* v0.1.21 — accessible skip link without hidden RTL overflow */
.pp-skip-link{position:fixed;top:0;left:auto;inset-inline-start:0;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.pp-skip-link:focus{left:auto;inset-inline-start:12px;top:12px;width:auto;height:auto;margin:0;overflow:visible;clip:auto;clip-path:none;z-index:9999;background:#fff;padding:8px 12px}

/* v0.1.30 — mirrored Persian/English service-detail structure */
.pp-service-intake-card ul{padding-left:0;padding-inline-start:20px}
.pp-service-intake-grid .pp-evidence-note{display:flex;flex-direction:column;justify-content:center}
.pp-service-cap-grid>.pp-card{display:flex;flex-direction:column}
.pp-service-cap-grid>.pp-card p{flex:1}

/* v0.1.31 — mirrored project and generator detail-page pairs */
.pp-project-media-badge{left:auto;right:24px}
.pp-english-page .pp-project-media-badge{left:24px;right:auto}
.pp-project-detail-grid .pp-entry-content p{margin:0;color:var(--pp-muted)}
.pp-project-detail-grid .pp-entry-content p+p{margin-top:10px}

/* v0.1.34 — need-first routes, lifecycle navigation and plant support */
.pp-need-paths-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pp-need-path-card{position:relative;display:flex;flex-direction:column;min-height:270px;padding:28px;border:1px solid var(--pp-border);border-radius:15px;background:linear-gradient(155deg,#fff 0%,#f8fbf7 100%);color:inherit;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.pp-need-path-card:hover{transform:translateY(-3px);border-color:rgba(36,123,26,.28);box-shadow:0 14px 34px rgba(16,46,20,.09)}
.pp-need-path-card>span{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:var(--pp-green);color:#fff;font-size:15px;font-weight:900}
.pp-need-path-card h3{font-size:22px;line-height:1.55;margin:18px 0 9px}.pp-need-path-card p{flex:1;margin:0 0 18px;color:var(--pp-muted);font-size:16px;line-height:1.95}.pp-need-path-card b{color:var(--pp-green);font-size:15px}
.pp-delivery-lifecycle{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid var(--pp-border);border-radius:15px;background:#fff;overflow:hidden}
.pp-delivery-lifecycle>a{position:relative;display:flex;min-height:210px;flex-direction:column;padding:24px 19px;color:inherit;text-decoration:none;border-inline-end:1px solid var(--pp-border);transition:background .2s ease,color .2s ease}
.pp-delivery-lifecycle>a:last-child{border-inline-end:0}.pp-delivery-lifecycle>a:hover{background:#edf7eb}.pp-delivery-lifecycle span{color:#9a920d;font-size:14px;font-weight:900}.pp-delivery-lifecycle strong{font-size:20px;margin:18px 0 9px}.pp-delivery-lifecycle small{color:var(--pp-muted);font-size:14px;line-height:1.9}
.pp-delivery-lifecycle>a:not(:last-child):after{content:"";position:absolute;inset-inline-end:-5px;top:30px;width:9px;height:9px;border-radius:50%;background:var(--pp-gold);z-index:1}
.pp-service-guidance-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:15px}.pp-service-guidance-grid>article{border:1px solid var(--pp-border);border-radius:14px;background:#fff;padding:29px}.pp-service-guidance-grid h3{font-size:22px;line-height:1.55;margin:8px 0 12px}.pp-service-guidance-grid p,.pp-service-guidance-grid li{color:var(--pp-muted);font-size:16px;line-height:2}.pp-service-guidance-grid p,.pp-service-guidance-grid ul{margin:0}.pp-service-guidance-grid ul{padding-inline-start:21px}
.pp-related-service-links{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;margin-top:16px;padding:15px 18px;border:1px solid var(--pp-border);border-radius:11px;background:#f8faf7}.pp-related-service-links strong{font-size:15px}.pp-related-service-links a{color:var(--pp-green);font-size:15px;font-weight:800;text-decoration:none}
.pp-support-hero{background:radial-gradient(circle at 18% 22%,rgba(65,128,55,.22),transparent 33%),linear-gradient(120deg,#0b2510,#123d18);color:#fff}.pp-support-hero .pp-structured-hero-grid{min-height:490px}.pp-support-hero h1{max-width:860px}.pp-support-hero p{max-width:760px}.pp-support-hero-panel{justify-self:end;width:min(100%,430px);padding:34px;border:1px solid rgba(255,255,255,.17);border-radius:16px;background:rgba(255,255,255,.055);box-shadow:0 18px 44px rgba(0,0,0,.15)}.pp-support-hero-panel span{color:var(--pp-gold);font-size:13px;font-weight:900;letter-spacing:.06em}.pp-support-hero-panel strong{display:block;font-size:24px;line-height:1.55;margin:13px 0}.pp-support-hero-panel p{margin:0;color:#cbd7cd;font-size:15px;line-height:2}
.pp-support-route-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.pp-support-route-grid>a{display:flex;flex-direction:column;min-height:285px;padding:25px;border:1px solid var(--pp-border);border-radius:14px;background:#fff;color:inherit;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.pp-support-route-grid>a:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(16,46,20,.09)}.pp-support-route-grid span{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:9px;background:#edf7eb;color:var(--pp-green);font-weight:900}.pp-support-route-grid h3{font-size:20px;line-height:1.55;margin:16px 0 9px}.pp-support-route-grid p{flex:1;color:var(--pp-muted);font-size:15px;line-height:1.95;margin:0 0 15px}.pp-support-route-grid b{color:var(--pp-green);font-size:14px}
.pp-support-intake-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:15px}.pp-support-intake-grid>article{border:1px solid var(--pp-border);border-radius:14px;background:#fff;padding:29px}.pp-support-intake-grid ol{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px;margin:0;padding-inline-start:24px}.pp-support-intake-grid li{padding-inline-start:5px;color:var(--pp-muted);font-size:16px;line-height:1.9}.pp-support-enquiry>.pp-managed-enquiry{margin-top:0}
@media(max-width:1100px){.pp-delivery-lifecycle{grid-template-columns:repeat(3,minmax(0,1fr))}.pp-delivery-lifecycle>a{border-bottom:1px solid var(--pp-border)}.pp-delivery-lifecycle>a:nth-child(3){border-inline-end:0}.pp-support-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-support-route-grid>a{min-height:245px}}
@media(max-width:850px){.pp-need-paths-grid,.pp-service-guidance-grid,.pp-support-intake-grid{grid-template-columns:1fr}.pp-need-path-card{min-height:0}.pp-support-hero .pp-structured-hero-grid{min-height:0}.pp-support-hero-panel{justify-self:stretch;width:100%}.pp-support-intake-grid ol{grid-template-columns:1fr}}
@media(max-width:620px){.pp-delivery-lifecycle{grid-template-columns:1fr}.pp-delivery-lifecycle>a{min-height:0;border-inline-end:0;border-bottom:1px solid var(--pp-border);padding:21px}.pp-delivery-lifecycle>a:last-child{border-bottom:0}.pp-delivery-lifecycle>a:not(:last-child):after{display:none}.pp-delivery-lifecycle strong{margin:9px 0 5px}.pp-support-route-grid{grid-template-columns:1fr}.pp-support-route-grid>a{min-height:0}.pp-related-service-links{align-items:flex-start;flex-direction:column}}

.pp-delivery-lifecycle[data-lifecycle]{position:relative;isolation:isolate;overflow:visible;border:0;background:linear-gradient(135deg,#0c2a12,#16481c);box-shadow:0 20px 46px rgba(13,49,18,.15)}
.pp-delivery-lifecycle[data-lifecycle]:before,.pp-delivery-lifecycle[data-lifecycle]:after{content:"";position:absolute;z-index:2;top:31px;inset-inline-start:5%;height:3px;border-radius:8px;pointer-events:none}
.pp-delivery-lifecycle[data-lifecycle]:before{width:90%;background:rgba(255,255,255,.16)}
.pp-delivery-lifecycle[data-lifecycle]:after{width:0;background:linear-gradient(90deg,#ddd64b,#b8ad13);box-shadow:0 0 14px rgba(221,214,75,.65)}
.pp-delivery-lifecycle[data-lifecycle].is-in-view:after{animation:pp-lifecycle-progress 1.8s cubic-bezier(.2,.8,.2,1) forwards}
.pp-delivery-lifecycle[data-lifecycle]>a{z-index:3;border-color:rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018));color:#fff;opacity:.72;overflow:hidden}
.pp-delivery-lifecycle[data-lifecycle]>a:before{content:"";position:absolute;inset:-70% -30%;background:radial-gradient(circle,rgba(190,181,28,.23),transparent 53%);opacity:0;transform:scale(.5);transition:opacity .35s ease,transform .45s ease}
.pp-delivery-lifecycle[data-lifecycle]>a:hover{background:rgba(255,255,255,.1);color:#fff;transform:translateY(-5px);box-shadow:0 14px 30px rgba(0,0,0,.18)}
.pp-delivery-lifecycle[data-lifecycle] span{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:#123d18;color:#eee653;box-shadow:0 0 0 6px rgba(255,255,255,.035)}
.pp-delivery-lifecycle[data-lifecycle] strong,.pp-delivery-lifecycle[data-lifecycle] small{position:relative;z-index:1}.pp-delivery-lifecycle[data-lifecycle] small{color:#bfcdbf}
.pp-delivery-lifecycle[data-lifecycle].is-in-view>a{animation:pp-lifecycle-step .58s ease forwards}.pp-delivery-lifecycle[data-lifecycle].is-in-view>a:before{opacity:1;transform:scale(1)}
.pp-delivery-lifecycle[data-lifecycle].is-in-view>a:nth-child(2){animation-delay:.16s}.pp-delivery-lifecycle[data-lifecycle].is-in-view>a:nth-child(3){animation-delay:.32s}.pp-delivery-lifecycle[data-lifecycle].is-in-view>a:nth-child(4){animation-delay:.48s}.pp-delivery-lifecycle[data-lifecycle].is-in-view>a:nth-child(5){animation-delay:.64s}.pp-delivery-lifecycle[data-lifecycle].is-in-view>a:nth-child(6){animation-delay:.8s}
@keyframes pp-lifecycle-progress{to{width:90%}}@keyframes pp-lifecycle-step{0%{opacity:.45;transform:translateY(14px)}60%{opacity:1;transform:translateY(-7px)}100%{opacity:1;transform:translateY(0)}}

@media(max-width:1050px){.pp-delivery-lifecycle[data-lifecycle]:before,.pp-delivery-lifecycle[data-lifecycle]:after{display:none}}
@media(prefers-reduced-motion:reduce){.pp-site-intro.is-visible{animation:pp-site-intro-fade .45s ease both!important}.pp-site-intro-logo-base,.pp-site-intro-name{opacity:1;animation:none!important}.pp-site-intro-logo-piece,.pp-site-intro-flash{display:none;animation:none!important}.pp-site-intro-name:after{animation:none!important}@keyframes pp-site-intro-fade{0%,54%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}.pp-delivery-lifecycle[data-lifecycle].is-in-view:after,.pp-delivery-lifecycle[data-lifecycle].is-in-view>a{animation:none!important}.pp-delivery-lifecycle[data-lifecycle]>a{opacity:1}}

/* v0.1.37 — bilingual generator-model pathways */
.pp-generator-model-grid{align-items:stretch}.pp-generator-model-grid .pp-generator-managed{min-height:490px}.pp-generator-model-grid .pp-managed-body{display:flex;flex:1;flex-direction:column}.pp-generator-model-grid .pp-managed-body p{flex:1}.pp-generator-tech-visual{position:relative;display:flex;min-height:220px;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:30px;overflow:hidden;background:radial-gradient(circle at 84% 22%,rgba(238,230,79,.28),transparent 23%),linear-gradient(138deg,#092a10,#1f6825);color:#fff;direction:ltr;text-align:left}.pp-generator-tech-visual:before,.pp-generator-tech-visual:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%}.pp-generator-tech-visual:before{width:190px;height:190px;inset-inline-end:-38px;top:-52px;box-shadow:0 0 0 32px rgba(255,255,255,.025),0 0 0 63px rgba(255,255,255,.018)}.pp-generator-tech-visual:after{inset:0;border:0;border-radius:0;background:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px);background-size:30px 30px;mask-image:linear-gradient(135deg,#000,transparent 72%)}.pp-generator-tech-visual span,.pp-generator-tech-visual strong,.pp-generator-tech-visual small{position:relative;z-index:1}.pp-generator-tech-visual span{color:#eee653;font-size:14px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.pp-generator-tech-visual strong{margin-top:5px;font-family:"Segoe UI",Arial,sans-serif;font-size:clamp(30px,3vw,44px);line-height:1.1}.pp-generator-tech-visual small{margin-top:11px;color:#c8d8ca;font-size:13px;font-weight:800;letter-spacing:.19em}.pp-generator-model-hero-art{position:relative;display:flex;min-height:380px;flex-direction:column;align-items:flex-start;justify-content:center;padding:55px;overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:radial-gradient(circle at 82% 21%,rgba(238,230,79,.21),transparent 20%),linear-gradient(142deg,#0a2b10,#1b5d22);box-shadow:0 24px 56px rgba(9,40,14,.19);color:#fff;direction:ltr;text-align:left}.pp-generator-model-hero-art:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(135deg,#000,transparent 75%)}.pp-generator-model-hero-art span,.pp-generator-model-hero-art strong,.pp-generator-model-hero-art small{position:relative;z-index:2}.pp-generator-model-hero-art span{color:#eee653;font-size:16px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.pp-generator-model-hero-art strong{margin:8px 0 18px;font-family:"Segoe UI",Arial,sans-serif;font-size:clamp(42px,5vw,70px);font-weight:650;line-height:1}.pp-generator-model-hero-art small{max-width:230px;color:#d0ded2;font-size:13px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.pp-generator-model-orbit{position:absolute;z-index:1;inset-inline-end:-60px;top:50%;width:270px;height:270px;border:1px solid rgba(255,255,255,.16);border-radius:50%;transform:translateY(-50%);box-shadow:0 0 0 42px rgba(255,255,255,.025),0 0 0 86px rgba(255,255,255,.016)}.pp-generator-reference-panel{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr) auto;gap:28px;align-items:center;padding:34px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:linear-gradient(128deg,#0c3013,#1c5d23);box-shadow:0 18px 40px rgba(13,49,18,.12);color:#fff}.pp-generator-reference-panel span{color:#eee653;font-size:14px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.pp-generator-reference-panel h3{margin:8px 0 5px;color:#fff;font-size:24px;line-height:1.5}.pp-generator-reference-panel p{margin:0;color:#c9d8cb;font-size:14px}.pp-generator-reference-panel>strong{font-family:"Segoe UI",Arial,sans-serif;font-size:22px;line-height:1.5;text-align:left}.pp-generator-reference-panel>a{color:#f2ed61;font-size:14px;font-weight:900;text-decoration:none}.pp-generator-reference-panel.is-pending{grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);background:linear-gradient(132deg,#17381b,#315437)}.pp-generator-path-grid .pp-card{min-height:315px}.pp-generator-model-meta{max-width:var(--pp-max);margin-inline:auto;padding-inline:32px}
@media(max-width:1000px){.pp-generator-reference-panel,.pp-generator-reference-panel.is-pending{grid-template-columns:1fr}.pp-generator-reference-panel>strong{font-size:20px}.pp-generator-model-grid .pp-generator-managed{min-height:0}}
@media(max-width:700px){.pp-generator-model-hero-art{min-height:300px;padding:35px}.pp-generator-model-orbit{width:210px;height:210px}.pp-generator-model-meta{padding-inline:5%}.pp-generator-reference-panel{padding:25px}.pp-generator-path-grid .pp-card{min-height:0}}

/* v0.1.35 — verified complete project register */
.pp-brand-experience-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:16px}.pp-brand-experience-grid span{display:flex;min-height:100px;align-items:center;justify-content:center;padding:18px;border:1px solid var(--pp-border);border-radius:13px;background:linear-gradient(145deg,#fff,#f4f8f3);color:var(--pp-green);font-size:18px;font-weight:900;letter-spacing:.01em;box-shadow:0 8px 24px rgba(16,46,20,.04)}
.pp-project-register-hero .pp-structured-hero-grid{min-height:470px}.pp-project-register-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pp-project-register-card{position:relative;display:flex;min-height:410px;flex-direction:column;padding:29px;border:1px solid var(--pp-border);border-radius:16px;background:radial-gradient(circle at 94% 0,rgba(190,181,28,.12),transparent 28%),linear-gradient(145deg,#fff,#f8faf7);color:inherit;text-decoration:none;overflow:hidden}.pp-project-register-card:before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:4px;background:linear-gradient(var(--pp-green),var(--pp-gold))}.pp-project-register-card.is-linked{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.pp-project-register-card.is-linked:hover{transform:translateY(-4px);border-color:rgba(36,123,26,.28);box-shadow:0 17px 38px rgba(16,46,20,.1)}.pp-project-register-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.pp-project-register-top>span{color:#8f8a10;font-size:13px;font-weight:900;letter-spacing:.06em}.pp-project-register-top>b{display:inline-flex;padding:5px 9px;border-radius:20px;background:#edf7eb;color:var(--pp-green);font-size:14px}.pp-project-register-top>b.is-progress{background:#fff5d9;color:#826f00}.pp-project-register-card h2{font-size:25px;line-height:1.5;margin:16px 0 17px}.pp-project-register-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.pp-project-register-facts>span{padding:10px 11px;border:1px solid var(--pp-border);border-radius:9px;background:rgba(255,255,255,.72);font-size:14px;font-weight:700}.pp-project-register-facts small{display:block;margin-bottom:3px;color:var(--pp-muted);font-size:13px;font-weight:500}.pp-project-register-facts i{font-style:normal}.pp-project-equipment{margin-top:11px;padding:12px 13px;border-radius:9px;background:#123d18;color:#fff;font-size:14px;font-weight:700;text-align:left}.pp-project-register-card>p{flex:1;margin:15px 0;color:var(--pp-muted);font-size:15px;line-height:2}.pp-project-register-action{color:var(--pp-green);font-size:14px}.pp-project-history-list{border:1px solid var(--pp-border);border-radius:16px;overflow:hidden;background:#fff}.pp-project-history-list>article{display:grid;grid-template-columns:150px 1fr 220px;gap:24px;align-items:center;padding:21px 24px;border-bottom:1px solid var(--pp-border)}.pp-project-history-list>article:last-child{border-bottom:0}.pp-project-history-list time{color:#8f8a10;font-size:15px;font-weight:900}.pp-project-history-list article>div:nth-child(2)>span{font-size:14px;color:var(--pp-muted)}.pp-project-history-list h3{font-size:19px;line-height:1.5;margin:4px 0}.pp-project-history-list p{margin:0;color:var(--pp-muted);font-size:14px}.pp-project-history-meta{display:grid;grid-template-columns:1fr 1fr;gap:5px 13px;text-align:start}.pp-project-history-meta b{color:var(--pp-green);font-size:16px}.pp-project-history-meta i{font-style:normal;font-size:14px}.pp-project-history-meta small{grid-column:1/-1;color:var(--pp-muted);font-size:14px}.pp-english-page .pp-project-register-card,.pp-english-page .pp-project-history-list{text-align:left}
@media(max-width:900px){.pp-brand-experience-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pp-project-register-grid{grid-template-columns:1fr}.pp-project-register-card{min-height:0}.pp-project-history-list>article{grid-template-columns:120px 1fr}.pp-project-history-meta{grid-column:2}}
@media(max-width:600px){.pp-brand-experience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-brand-experience-grid span{min-height:76px}.pp-project-register-card{padding:24px}.pp-project-register-facts{grid-template-columns:1fr}.pp-project-history-list{border:0;background:transparent}.pp-project-history-list>article{grid-template-columns:1fr;gap:8px;margin-bottom:10px;padding:20px;border:1px solid var(--pp-border);border-radius:12px;background:#fff}.pp-project-history-list time,.pp-project-history-meta{grid-column:auto}.pp-project-history-meta{grid-template-columns:1fr 1fr}}

/* v0.1.41 — profile-backed company scope and project-status reconciliation */
.pp-project-status-summary{max-width:var(--pp-max);margin:0 auto;padding:24px 5%;background:#fff}.pp-project-status-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid var(--pp-border);border-radius:14px;background:linear-gradient(145deg,#fff,#f5f8f4)}.pp-project-status-strip>div{padding:20px 18px;border-inline-end:1px solid var(--pp-border);text-align:center}.pp-project-status-strip>div:last-child{border-inline-end:0}.pp-project-status-strip b{display:block;color:var(--pp-green);font-size:26px;line-height:1.25}.pp-project-status-strip span{display:block;margin-top:4px;color:var(--pp-muted);font-size:13px;font-weight:700;line-height:1.65}.pp-about-project-status{margin:24px 0 19px}.pp-about-project-status>div{padding:15px 9px}.pp-about-project-status b{font-size:22px}.pp-about-project-status span{font-size:13px}.pp-project-equipment.is-linked{display:flex;align-items:center;justify-content:space-between;gap:12px;text-decoration:none;transition:background .2s ease,transform .2s ease}.pp-project-equipment.is-linked:hover{background:#1c5d23;transform:translateY(-1px)}.pp-project-equipment.is-linked b{color:#eee653;font-size:17px}.pp-project-register-card[id],.pp-project-history-list>article[id]{scroll-margin-top:105px}
@media(max-width:760px){.pp-project-status-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-project-status-strip>div:nth-child(2){border-inline-end:0}.pp-project-status-strip>div:nth-child(-n+2){border-bottom:1px solid var(--pp-border)}}
@media(max-width:430px){.pp-project-status-summary{padding-block:18px}.pp-project-status-strip b{font-size:22px}.pp-project-status-strip span{font-size:14px}.pp-about-project-status>div{padding:13px 7px}}

/* v0.1.42 — manufacturer-sourced generator library, photographic model pages and language ribbon */
.pp-language-ribbon{position:fixed;z-index:46;top:94px;inset-inline-end:14px;display:flex;align-items:center;gap:3px;padding:5px;border:1px solid rgba(12,48,18,.14);border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 8px 24px rgba(12,48,18,.12);backdrop-filter:blur(10px);direction:ltr}
body.admin-bar .pp-language-ribbon{top:126px}.pp-language-ribbon a,.pp-language-ribbon .is-current{display:flex;min-width:34px;height:30px;align-items:center;justify-content:center;border-radius:999px;color:var(--pp-muted);font-family:"Segoe UI",Tahoma,Arial,sans-serif;font-size:13px;font-weight:800;line-height:1;text-decoration:none}.pp-language-ribbon a:hover{background:#edf7eb;color:var(--pp-green)}.pp-language-ribbon .is-current{background:var(--pp-green);color:#fff}.pp-language-ribbon-icon{display:flex;width:26px;height:26px;align-items:center;justify-content:center;color:var(--pp-gold)}.pp-language-ribbon-icon svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

.pp-generator-archive-hero .pp-structured-hero-grid{grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);min-height:470px;gap:38px}.pp-generator-archive-hero h1{font-size:clamp(30px,3.15vw,44px);line-height:1.24;margin-bottom:10px}.pp-generator-archive-subtitle{display:block;max-width:760px;color:#f2ed61;font-size:clamp(16px,1.3vw,20px);line-height:1.8}.pp-generator-archive-hero p{margin-top:15px;max-width:780px}.pp-generator-archive-visual{position:relative;align-self:stretch;display:flex;min-height:390px;align-items:center;justify-content:center;margin:30px 0;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:radial-gradient(circle at 70% 35%,#fff,#eef4ee);box-shadow:0 22px 48px rgba(0,0,0,.16)}.pp-generator-archive-visual img{display:block;width:94%;height:88%;object-fit:contain}.pp-generator-archive-visual figcaption{position:absolute;inset-inline:14px;bottom:13px;padding:7px 10px;border-radius:7px;background:rgba(8,30,12,.84);color:#fff;font-size:14px;text-align:start;backdrop-filter:blur(4px)}
@media(min-width:1200px){.pp-generator-archive-hero h1{white-space:nowrap}}

.pp-generator-model-grid .pp-generator-managed{min-height:525px}.pp-generator-model-grid .pp-generator-photo{position:relative;aspect-ratio:16/10;background-color:#fff;background-size:contain;background-repeat:no-repeat;background-position:center}.pp-generator-photo>span{position:absolute;inset-inline-end:12px;bottom:12px;padding:5px 8px;border:1px solid rgba(255,255,255,.24);border-radius:6px;background:rgba(8,30,12,.83);color:#fff;font-size:13px;font-weight:800;backdrop-filter:blur(4px)}

.pp-generator-photo-forward-hero .pp-generator-detail-grid{grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr);min-height:570px;gap:0}.pp-generator-manufacturer-hero{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center;margin:34px 0;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:22px;background:radial-gradient(circle at 68% 32%,#fff,#edf3ed);box-shadow:0 24px 58px rgba(7,29,11,.24)}.pp-generator-manufacturer-hero img{display:block;width:92%;height:84%;object-fit:contain}.pp-generator-manufacturer-hero figcaption{position:absolute;inset-inline:15px;bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:8px 10px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:rgba(8,30,12,.86);color:#fff;font-size:14px;backdrop-filter:blur(5px)}.pp-generator-manufacturer-hero figcaption a{color:#f2ed61;font-weight:900;text-decoration:none}
.pp-generator-spec-section{padding-top:72px;padding-bottom:72px}.pp-generator-spec-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.pp-generator-spec-grid article{min-height:155px;padding:24px;border:1px solid var(--pp-border);border-radius:14px;background:linear-gradient(145deg,#fff,#f2f7f1);box-shadow:0 9px 26px rgba(16,46,20,.05)}.pp-generator-spec-grid span{display:block;color:var(--pp-muted);font-size:13px;line-height:1.7}.pp-generator-spec-grid strong{display:block;margin-top:16px;color:var(--pp-green);font-family:"Segoe UI",Tahoma,Arial,sans-serif;font-size:clamp(21px,2vw,28px);line-height:1.25;text-align:left}.pp-generator-source-note{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:14px;padding:19px 22px;border-inline-start:4px solid var(--pp-gold);border-radius:10px;background:#102f16;color:#fff}.pp-generator-source-note strong{font-size:15px}.pp-generator-source-note p{max-width:880px;margin:4px 0 0;color:#cbd7cd;font-size:13px;line-height:1.9}.pp-generator-source-note>a{flex:none;color:#f2ed61;font-size:13px;font-weight:900;text-decoration:none}.pp-generator-source-note-ltr{border-inline-start:4px solid var(--pp-gold)}
.pp-generator-field-section{padding-top:74px;padding-bottom:78px}.pp-generator-field-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:230px;gap:12px}.pp-generator-field-gallery figure{position:relative;margin:0;overflow:hidden;border-radius:15px;background:#eef2ed;box-shadow:0 10px 28px rgba(16,46,20,.08)}.pp-generator-field-gallery figure.is-wide{grid-column:span 2;grid-row:span 2}.pp-generator-field-gallery img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.pp-generator-field-gallery figure:hover img{transform:scale(1.025)}.pp-generator-field-gallery figcaption{position:absolute;inset-inline:12px;bottom:12px;display:flex;align-items:end;justify-content:space-between;gap:14px;padding:9px 11px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:rgba(7,28,11,.84);color:#fff;backdrop-filter:blur(5px)}.pp-generator-field-gallery figcaption b{font-size:13px}.pp-generator-field-gallery figcaption span{color:#f0e94d;font-size:13px}.pp-generator-photo-pending{padding-top:34px}.pp-generator-photo-pending-card{position:relative;overflow:hidden;padding:35px;border:1px solid var(--pp-border);border-radius:16px;background:radial-gradient(circle at 90% 0,rgba(190,181,28,.14),transparent 32%),linear-gradient(145deg,#fff,#f3f7f2)}.pp-generator-photo-pending-card span{color:#8f8a10;font-size:13px;font-weight:900}.pp-generator-photo-pending-card h2{font-size:26px;line-height:1.5;margin:7px 0 10px}.pp-generator-photo-pending-card p{max-width:820px;margin:0;color:var(--pp-muted);font-size:15px;line-height:2}

/* Existing photographic areas receive more visual weight without assigning archive images to unverified projects. */
.pp-english-service-card{grid-template-columns:.52fr .48fr;min-height:330px}.pp-english-service-image{min-height:260px}.pp-service-detail-photo{min-height:500px}.pp-home-service-photo{min-height:190px}.pp-about-page-hero-photo{min-height:520px}

@media(max-width:1100px){.pp-language-ribbon,body.admin-bar .pp-language-ribbon{top:auto;bottom:16px;inset-inline-end:12px;z-index:49}.pp-generator-archive-hero .pp-structured-hero-grid,.pp-generator-photo-forward-hero .pp-generator-detail-grid{grid-template-columns:1fr}.pp-generator-archive-hero h1{white-space:normal}.pp-generator-archive-visual{min-height:360px;margin:0 0 42px}.pp-generator-manufacturer-hero{min-height:430px;margin:0 5% 45px}.pp-generator-spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.pp-generator-archive-hero h1{font-size:30px}.pp-generator-archive-subtitle{font-size:16px}.pp-generator-archive-visual{min-height:300px}.pp-generator-model-grid .pp-generator-managed{min-height:0}.pp-generator-manufacturer-hero{min-height:330px}.pp-generator-spec-grid{grid-template-columns:1fr 1fr}.pp-generator-spec-grid article{min-height:130px;padding:19px}.pp-generator-source-note{align-items:flex-start;flex-direction:column}.pp-generator-field-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:190px}.pp-generator-field-gallery figure.is-wide{grid-column:span 2;grid-row:span 1}.pp-english-service-card{grid-template-columns:1fr}.pp-about-page-hero-photo{min-height:350px}}
@media(max-width:520px){.pp-language-ribbon{bottom:10px;inset-inline-end:8px}.pp-generator-archive-visual{min-height:245px}.pp-generator-manufacturer-hero{min-height:275px}.pp-generator-spec-grid{grid-template-columns:1fr}.pp-generator-spec-grid article{min-height:0}.pp-generator-field-gallery{grid-template-columns:1fr;grid-auto-rows:230px}.pp-generator-field-gallery figure.is-wide{grid-column:span 1}.pp-generator-field-gallery figcaption{align-items:flex-start;flex-direction:column;gap:2px}.pp-generator-photo-pending-card{padding:26px}}

/* v0.1.43–v0.1.46 — published project hero, generator showcase, lifecycle focus and technical plates */
.pp-project-rotator { isolation: isolate; }
.pp-project-rotator .pp-hero-gridlines { z-index: 0; }
.pp-hero-project-slide { position: absolute; inset: 26px 26px 78px; display: block; overflow: hidden; border-radius: 17px; border: 1px solid rgba(255, 255, 255, 0.15); background: rgb(11, 37, 17); color: rgb(255, 255, 255); opacity: 0; transform: scale(1.025); pointer-events: none; transition: opacity 0.8s, transform 1.05s cubic-bezier(0.2, 0.7, 0.2, 1); box-shadow: rgba(0, 0, 0, 0.26) 0px 22px 54px; }
.pp-hero-project-slide.is-active { z-index: 2; opacity: 1; transform: none; pointer-events: auto; }
.pp-hero-project-media { position: absolute; inset: 0px; display: block; background-image: linear-gradient(180deg,rgba(4,16,8,.06),rgba(4,16,8,.7)),var(--pp-project-image); background-size: cover; background-position: center center; }
.pp-hero-project-slide::after { content: ""; position: absolute; inset: 0px; z-index: 1; background: linear-gradient(transparent 25%, rgba(5, 20, 9, 0.16) 52%, rgba(5, 20, 9, 0.94) 100%); pointer-events: none; }
.pp-hero-project-slide.is-placeholder .pp-hero-project-media, .pp-project-page-placeholder { background-color: rgb(11, 40, 18); background-image: radial-gradient(circle at 74% 20%, rgba(190, 181, 28, 0.18), transparent 31%), linear-gradient(90deg, rgba(255, 255, 255, 0.043) 1px, transparent 1px), linear-gradient(rgba(255, 255, 255, 0.043) 1px, transparent 1px), linear-gradient(145deg, rgb(16, 47, 22), rgb(7, 28, 12)); background-size: auto, 40px 40px, 40px 40px, auto; }
.pp-project-placeholder-content { position: absolute; inset: 0px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; color: rgba(255, 255, 255, 0.72); text-align: center; }
.pp-project-placeholder-content b { display: grid; place-items: center; width: 74px; height: 74px; border: 1px solid rgba(190, 181, 28, 0.46); border-radius: 50%; color: rgb(216, 208, 71); font: 800 20px / 1 Arial, sans-serif; letter-spacing: 0.08em; background: rgba(8, 29, 13, 0.56); box-shadow: rgba(190, 181, 28, 0.035) 0px 0px 0px 12px; }
.pp-project-placeholder-content small { max-width: 220px; font-size: 13px; line-height: 1.7; letter-spacing: 0.01em; }
.pp-hero-project-overlay { position: absolute; right: 24px; left: 24px; bottom: 22px; z-index: 2; display: block; text-align: right; }
.pp-hero-project-overlay > small { display: block; margin-bottom: 5px; color: rgb(222, 214, 76); font-size: 13px; font-weight: 700; }
.pp-hero-project-overlay > strong { display: block; max-width: 92%; font-size: clamp(20px, 1.55vw, 26px); line-height: 1.5; }
.pp-hero-project-overlay > span { display: block; margin-top: 6px; color: rgb(215, 227, 218); font-size: 13px; direction: ltr; text-align: right; }
.pp-hero-project-overlay > em { display: inline-block; margin-top: 12px; color: rgb(255, 255, 255); font-size: 13px; font-style: normal; font-weight: 700; }
.pp-hero-projects-button { position: absolute; z-index: 4; right: 50%; bottom: 24px; transform: translateX(50%); display: inline-flex; align-items: center; justify-content: center; min-height: 31px; padding: 6px 13px; border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 999px; background: rgba(4, 18, 8, 0.22); color: rgb(255, 255, 255); font-size: 13px; font-weight: 700; backdrop-filter: blur(8px); transition: background 0.2s, border-color 0.2s; }
.pp-hero-projects-button:hover { background: rgba(255, 255, 255, 0.11); border-color: rgba(216, 208, 71, 0.75); color: rgb(255, 255, 255); }
.pp-hero-rotator-progress { position: absolute; z-index: 3; right: 26px; left: 26px; bottom: 12px; height: 2px; overflow: hidden; border-radius: 999px; background: rgba(255, 255, 255, 0.1); }
.pp-hero-rotator-progress i { display: block; width: 100%; height: 100%; background: linear-gradient(90deg, rgb(143, 138, 30), rgb(226, 218, 77)); transform: scaleX(0); transform-origin: right center; }
.pp-project-rotator.is-cycling .pp-hero-rotator-progress i { animation: 4.8s linear 0s 1 normal forwards running pp-project-rotation-progress; }
@keyframes pp-project-rotation-progress { 
  100% { transform: scaleX(1); }
}
.pp-english-page .pp-hero-project-overlay { text-align: left; }
.pp-english-page .pp-hero-project-overlay > span { text-align: left; }
.pp-english-page .pp-hero-rotator-progress i { transform-origin: left center; }
.pp-english-page .pp-hero-projects-button { right: auto; left: 50%; transform: translateX(-50%); }
.pp-project-page-placeholder { position: relative; display: flex; min-height: 430px; overflow: hidden; border-radius: 22px; border: 1px solid rgba(255, 255, 255, 0.12); }
.pp-project-page-placeholder::after { content: ""; position: absolute; inset: 0px; background: linear-gradient(transparent, rgba(5, 20, 9, 0.3)); pointer-events: none; }
.pp-project-page-placeholder .pp-project-placeholder-content { z-index: 1; }
@media (max-width: 900px) {
  .pp-hero-project-slide { inset: 22px 22px 76px; }
  .pp-hero-project-overlay { right: 20px; left: 20px; }
  .pp-project-page-placeholder { min-height: 360px; }
}
@media (max-width: 600px) {
  .pp-hero-project-slide { inset: 15px 15px 70px; border-radius: 13px; }
  .pp-hero-project-overlay { right: 16px; left: 16px; bottom: 16px; }
  .pp-hero-project-overlay > strong { font-size: 20px; }
  .pp-hero-project-overlay > span { font-size:14px; }
  .pp-project-placeholder-content b { width: 60px; height: 60px; }
  .pp-hero-projects-button { bottom: 21px; }
  .pp-hero-rotator-progress { right: 16px; left: 16px; bottom: 10px; }
  .pp-project-page-placeholder { min-height: 300px; }
}
@media (prefers-reduced-motion: reduce) {
  .pp-hero-project-slide { transition: none; }
  .pp-project-rotator.is-cycling .pp-hero-rotator-progress i { animation: auto ease 0s 1 normal none running none; transform: scaleX(1); }
}
.pp-home-generator-model-grid { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 16px; margin-top: 28px; }
.pp-home-generator-card { display: flex; min-width: 0px; flex-direction: column; overflow: hidden; border: 1px solid var(--pp-border); border-radius: 18px; background: rgb(255, 255, 255); color: var(--pp-ink); text-decoration: none; box-shadow: rgba(16, 46, 20, 0.06) 0px 12px 30px; transition: transform 0.24s, border-color 0.24s, box-shadow 0.24s; }
.pp-home-generator-card:hover, .pp-home-generator-card:focus-visible { transform: translateY(-4px); border-color: rgba(31, 127, 34, 0.45); box-shadow: rgba(16, 46, 20, 0.12) 0px 18px 40px; }
.pp-home-generator-photo { position: relative; display: block; aspect-ratio: 16 / 10; min-height: 180px; background: linear-gradient(135deg,rgba(7,45,19,.08),rgba(201,179,0,.08)),var(--pp-bg-image) center/cover no-repeat; }
.pp-home-generator-photo b { position: absolute; inset-inline-start: 14px; bottom: 14px; padding: 6px 10px; border: 1px solid rgba(255, 255, 255, 0.42); border-radius: 999px; background: rgba(5, 31, 12, 0.78); color: rgb(255, 255, 255); font-size: 15px; line-height: 1; backdrop-filter: blur(6px); }
.pp-home-generator-copy { display: grid; flex: 1 1 0%; gap: 8px; padding: 18px; }
.pp-home-generator-copy small { color: var(--pp-green); font-size: 15px; font-weight: 800; }
.pp-home-generator-copy strong { color: var(--pp-ink); font-size: 21px; line-height: 1.4; }
.pp-home-generator-copy em { color: var(--pp-muted); font-size: 16px; font-style: normal; line-height: 1.8; }
.pp-home-generator-copy i { align-self: end; padding-top: 5px; color: var(--pp-green); font-size: 16px; font-style: normal; font-weight: 900; }
.pp-brand-experience-panel { display: grid; grid-template-columns: minmax(220px, 0.72fr) minmax(0px, 1.28fr); gap: 26px; align-items: center; margin-top: 28px; padding: clamp(22px, 3vw, 34px); border: 1px solid var(--pp-border); border-radius: 20px; background: linear-gradient(135deg, rgb(248, 251, 247), rgb(238, 245, 238)); }
.pp-brand-experience-panel h3 { margin: 8px 0px 10px; color: var(--pp-ink); font-size: clamp(23px, 2.1vw, 30px); line-height: 1.45; }
.pp-brand-experience-panel p { margin: 0px; color: var(--pp-muted); line-height: 1.9; }
.pp-brand-experience-grid { display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 11px; margin: 0px; }
.pp-brand-logo-card { display: flex; min-width: 0px; min-height: 126px; flex-direction: column; align-items: center; justify-content: center; gap: 9px; padding: 14px 10px; border: 1px solid rgba(20, 71, 27, 0.14); border-radius: 14px; background: rgb(255, 255, 255); text-align: center; box-shadow: rgba(16, 46, 20, 0.04) 0px 7px 20px; }
.pp-brand-experience-grid .pp-brand-logo-art { display: flex; width: 100%; min-height: 54px; height: 54px; align-items: center; justify-content: center; padding: 0px; border: 0px; border-radius: 0px; background: transparent; box-shadow: none; }
.pp-brand-logo-art img { display: block; max-width: 100%; max-height: 45px; width: auto; height: auto; object-fit: contain; }
.pp-brand-logo-art b { display: block; max-width: 100%; color: rgb(21, 61, 120); font-family: Arial, Helvetica, sans-serif; font-size: clamp(20px, 1.7vw, 26px); font-weight: 900; line-height: 1; letter-spacing: -0.03em; white-space: nowrap; }
.pp-brand-logo-card > strong { color: var(--pp-ink); font-size: 15px; line-height: 1.35; }
.pp-brand-cat .pp-brand-logo-art b { padding: 8px 10px 5px; border-bottom: 5px solid rgb(255, 205, 17); color: rgb(17, 17, 17); font-size: 27px; letter-spacing: -0.08em; }
.pp-brand-mtu .pp-brand-logo-art b { color: rgb(0, 87, 157); font-size: 31px; font-weight: 800; letter-spacing: -0.09em; text-transform: lowercase; }
.pp-brand-volvo .pp-brand-logo-art b { color: rgb(11, 49, 91); font-family: Georgia, serif; font-size: 22px; letter-spacing: 0.04em; }
.pp-brand-perkins .pp-brand-logo-art b { color: rgb(0, 84, 158); font-size: 24px; font-style: italic; letter-spacing: -0.04em; }
.pp-generator-brand-index .pp-brand-experience-grid { margin: 26px 0px 18px; }
@media (max-width: 1080px) {
  .pp-home-generator-model-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .pp-brand-experience-panel { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .pp-home-generator-model-grid { grid-template-columns: 1fr; }
  .pp-home-generator-photo { min-height: 200px; }
  .pp-brand-experience-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .pp-brand-logo-card { min-height: 112px; }
}
.pp-project-hero-full { position: relative; min-height: clamp(590px, 70vh, 760px); overflow: hidden; background: rgb(7, 31, 12); }
.pp-project-hero-full::before { z-index: 3; opacity: 0.48; mask-image: linear-gradient(90deg, rgb(0, 0, 0), rgba(0, 0, 0, 0.28) 58%, transparent); }
.pp-hero-full-shell { position: relative; width: 100%; min-height: clamp(590px, 70vh, 760px); overflow: hidden; }
.pp-project-hero-heading { position: absolute; z-index: 5; top: clamp(36px, 6vh, 70px); right: clamp(28px, 6vw, 108px); max-width: min(620px, 72vw); color: rgb(255, 255, 255); pointer-events: none; text-shadow: rgba(0, 0, 0, 0.38) 0px 3px 22px; }
.pp-project-hero-heading span { display: block; margin-bottom: 8px; color: rgb(224, 216, 69); font-size: 15px; font-weight: 800; }
.pp-project-hero-heading h1 { margin: 0px; color: rgb(255, 255, 255); font-size: clamp(23px, 2.2vw, 34px); line-height: 1.45; letter-spacing: -0.02em; }
.pp-project-hero-full .pp-project-rotator-full { position: absolute; z-index: 1; inset: 0px; width: 100%; min-height: 0px; margin: 0px; border: 0px; border-radius: 0px; background: rgb(8, 37, 16); overflow: hidden; box-shadow: none; }
.pp-project-hero-full .pp-hero-gridlines { display: none; }
.pp-project-hero-full .pp-hero-project-slide { inset: 0px; border: 0px; border-radius: 0px; background: rgb(8, 37, 16); box-shadow: none; }
.pp-project-hero-full .pp-hero-project-slide:not(.is-placeholder) .pp-hero-project-media { background-image: var(--pp-project-image); background-size: cover; background-position: center center; }
.pp-project-hero-full .pp-hero-project-slide.is-placeholder .pp-hero-project-media { background-color: rgb(9, 39, 16); background-image: radial-gradient(circle at 20% 28%, rgba(211, 201, 51, 0.16), transparent 30%), radial-gradient(circle at 78% 68%, rgba(31, 112, 42, 0.24), transparent 34%), linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px), linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px), linear-gradient(125deg, rgb(16, 58, 25), rgb(6, 28, 11) 68%); background-size: auto, auto, 52px 52px, 52px 52px, auto; }
.pp-project-hero-full .pp-hero-project-slide::after { z-index: 1; background: linear-gradient(rgba(3, 17, 7, 0.28) 0%, rgba(3, 17, 7, 0.04) 34%, rgba(3, 17, 7, 0.34) 100%), linear-gradient(to left, rgba(3, 20, 8, 0.96) 0%, rgba(3, 20, 8, 0.72) 38%, rgba(3, 20, 8, 0.12) 74%, rgba(3, 20, 8, 0.03) 100%); }
.pp-project-hero-full .pp-hero-project-overlay { z-index: 4; right: clamp(28px, 6vw, 108px); left: auto; bottom: clamp(96px, 13vh, 138px); width: min(730px, 72vw); text-align: right; text-shadow: rgba(0, 0, 0, 0.52) 0px 3px 22px; }
.pp-project-hero-full .pp-hero-project-overlay > small { margin-bottom: 10px; color: rgb(228, 220, 73); font-size: clamp(14px, 1vw, 17px); font-weight: 800; }
.pp-project-hero-full .pp-hero-project-overlay > strong { max-width: none; color: rgb(255, 255, 255); font-size: clamp(34px, 4.4vw, 66px); line-height: 1.32; letter-spacing: -0.035em; text-wrap: balance; }
.pp-project-hero-full .pp-hero-project-overlay > span { margin-top: 13px; color: rgb(225, 235, 227); font-size: clamp(15px, 1.15vw, 18px); line-height: 1.7; text-align: right; }
.pp-project-hero-full .pp-hero-project-overlay > em { margin-top: 20px; padding: 8px 13px; border: 1px solid rgba(255, 255, 255, 0.28); border-radius: 999px; background: rgba(5, 25, 10, 0.2); font-size: 14px; backdrop-filter: blur(8px); }
.pp-project-hero-full .pp-project-placeholder-content { position: absolute; top: 50%; left: clamp(28px, 7vw, 126px); right: auto; transform: translateY(-50%); display: flex; flex-direction: column; align-items: flex-start; gap: 12px; color: rgb(255, 255, 255); opacity: 0.42; }
.pp-project-hero-full .pp-project-placeholder-content b { display: block; font-family: Arial, sans-serif; font-size: clamp(84px, 11vw, 180px); font-weight: 900; line-height: 0.78; letter-spacing: -0.09em; }
.pp-project-hero-full .pp-project-placeholder-content small { max-width: 260px; color: rgb(255, 255, 255); font-size: 15px; line-height: 1.7; }
.pp-project-hero-full .pp-hero-projects-button { right: 50%; bottom: 34px; min-height: 34px; padding: 7px 15px; border-color: rgba(255, 255, 255, 0.42); background: rgba(4, 20, 8, 0.18); font-size: 13px; }
.pp-project-hero-full .pp-hero-rotator-progress { right: clamp(28px, 6vw, 108px); left: clamp(28px, 6vw, 108px); bottom: 17px; height: 2px; background: rgba(255, 255, 255, 0.14); }
.pp-english-page .pp-project-hero-heading { right: auto; left: clamp(28px, 6vw, 108px); }
.pp-english-page .pp-project-hero-full .pp-hero-project-slide::after { background: linear-gradient(rgba(3, 17, 7, 0.28) 0%, rgba(3, 17, 7, 0.04) 34%, rgba(3, 17, 7, 0.34) 100%), linear-gradient(to right, rgba(3, 20, 8, 0.96) 0%, rgba(3, 20, 8, 0.72) 38%, rgba(3, 20, 8, 0.12) 74%, rgba(3, 20, 8, 0.03) 100%); }
.pp-english-page .pp-project-hero-full .pp-hero-project-overlay { right: auto; left: clamp(28px, 6vw, 108px); text-align: left; }
.pp-english-page .pp-project-hero-full .pp-hero-project-overlay > span { text-align: left; }
.pp-english-page .pp-project-hero-full .pp-project-placeholder-content { right: clamp(28px, 7vw, 126px); left: auto; align-items: flex-end; text-align: right; }
@media (max-width: 900px) {
  .pp-project-hero-full, .pp-hero-full-shell { min-height: 640px; }
  .pp-project-hero-heading, .pp-english-page .pp-project-hero-heading { top: 30px; right: 26px; left: 26px; max-width: none; }
  .pp-project-hero-heading h1 { font-size: 25px; }
  .pp-project-hero-full .pp-hero-project-slide::after, .pp-english-page .pp-project-hero-full .pp-hero-project-slide::after { background: linear-gradient(rgba(3, 18, 8, 0.42) 0%, rgba(3, 18, 8, 0.08) 30%, rgba(3, 18, 8, 0.45) 54%, rgba(3, 18, 8, 0.96) 100%); }
  .pp-project-hero-full .pp-hero-project-overlay, .pp-english-page .pp-project-hero-full .pp-hero-project-overlay { right: 26px; left: 26px; bottom: 100px; width: auto; max-width: none; }
  .pp-project-hero-full .pp-hero-project-overlay > strong { font-size: clamp(30px, 8vw, 46px); }
  .pp-project-hero-full .pp-project-placeholder-content, .pp-english-page .pp-project-hero-full .pp-project-placeholder-content { top: 42%; right: 26px; left: 26px; align-items: center; text-align: center; }
  .pp-project-hero-full .pp-project-placeholder-content b { font-size: 96px; }
  .pp-project-hero-full .pp-hero-rotator-progress { right: 26px; left: 26px; }
}
@media (max-width: 540px) {
  .pp-project-hero-full, .pp-hero-full-shell { min-height: 620px; }
  .pp-project-hero-heading span { font-size: 13px; }
  .pp-project-hero-heading h1 { font-size: 22px; }
  .pp-project-hero-full .pp-hero-project-overlay > strong { font-size: 30px; line-height: 1.4; }
  .pp-project-hero-full .pp-hero-project-overlay > span { font-size: 14px; }
  .pp-project-hero-full .pp-hero-project-overlay > em { margin-top: 14px; }
  .pp-project-hero-full .pp-hero-projects-button { bottom: 31px; }
}
.pp-delivery-lifecycle[data-lifecycle]::after { width: var(--pp-lifecycle-progress,0%); transition: width 1.05s cubic-bezier(0.2, 0.75, 0.2, 1); animation: auto ease 0s 1 normal none running none !important; }
.pp-delivery-lifecycle[data-lifecycle].is-in-view > a { animation: auto ease 0s 1 normal none running none !important; }
.pp-delivery-lifecycle[data-lifecycle] > a { transform-origin: center center; transition: opacity 0.38s, transform 0.42s cubic-bezier(0.2, 0.8, 0.2, 1), background-color 0.38s, border-color 0.38s, box-shadow 0.42s; }
.pp-delivery-lifecycle[data-lifecycle].is-in-view > a::before { opacity: 0; transform: scale(0.55); }
.pp-delivery-lifecycle[data-lifecycle] > a.is-past-stage { opacity: 0.9; }
.pp-delivery-lifecycle[data-lifecycle] > a.is-past-stage::before { opacity: 0.28; transform: scale(0.85); }
.pp-delivery-lifecycle[data-lifecycle] > a.is-active-stage { z-index: 6; opacity: 1; transform: translateY(-10px) scale(1.07); border-color: rgba(238, 230, 79, 0.62); background: linear-gradient(rgba(238, 230, 79, 0.16), rgba(255, 255, 255, 0.075)); box-shadow: rgba(0, 0, 0, 0.28) 0px 20px 38px, rgba(238, 230, 79, 0.16) 0px 0px 0px 1px; }
.pp-delivery-lifecycle[data-lifecycle] > a.is-active-stage::before { opacity: 1; transform: scale(1); }
.pp-delivery-lifecycle[data-lifecycle] > a.is-active-stage span { border-color: rgb(238, 230, 83); background: rgb(27, 93, 35); box-shadow: rgba(238, 230, 79, 0.1) 0px 0px 0px 8px, rgba(238, 230, 79, 0.35) 0px 0px 18px; }
.pp-home-generator-photo { min-height: 240px; background-color: rgb(243, 246, 241); background-image: var(--pp-bg-image),linear-gradient(135deg,#f8faf6,#e9f0e7); background-size: contain, cover; background-repeat: no-repeat, no-repeat; background-position: center center, center center; }
.pp-generator-model-grid .pp-generator-photo { min-height: 235px; background-color: rgb(243, 246, 241); background-image: var(--pp-bg-image),linear-gradient(135deg,#f8faf6,#e9f0e7); background-size: contain, cover; background-repeat: no-repeat, no-repeat; background-position: center center, center center; }
.pp-project-rotator { touch-action: pan-y; }
.pp-hero-project-controls { position: absolute; z-index: 7; top: 50%; right: clamp(18px, 3vw, 54px); left: clamp(18px, 3vw, 54px); display: flex; justify-content: space-between; transform: translateY(-50%); direction: ltr; pointer-events: none; }
.pp-hero-project-pointer { display: inline-flex; width: 48px; height: 48px; align-items: center; justify-content: center; border: 1px solid rgba(255, 255, 255, 0.42); border-radius: 50%; background: rgba(4, 20, 8, 0.42); color: rgb(255, 255, 255); font: 400 32px / 1 Arial, sans-serif; cursor: pointer; pointer-events: auto; backdrop-filter: blur(8px); box-shadow: rgba(0, 0, 0, 0.2) 0px 10px 26px; transition: transform 0.2s, background 0.2s, border-color 0.2s; }
.pp-hero-project-pointer:hover, .pp-hero-project-pointer:focus-visible { transform: scale(1.08); border-color: rgb(238, 230, 83); background: rgba(24, 87, 31, 0.82); outline: none; }
@media (max-width: 1050px) {
  .pp-delivery-lifecycle[data-lifecycle] > a.is-active-stage { transform: translateY(-5px) scale(1.035); }
}
@media (max-width: 720px) {
  .pp-home-generator-photo { min-height: 230px; }
  .pp-hero-project-controls { right: 12px; left: 12px; }
  .pp-hero-project-pointer { width: 42px; height: 42px; font-size: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .pp-delivery-lifecycle[data-lifecycle]::after, .pp-delivery-lifecycle[data-lifecycle] > a { transition: none !important; }
  .pp-delivery-lifecycle[data-lifecycle] > a.is-active-stage { transform: none; }
  .pp-hero-project-pointer { transition: none; }
}
.pp-delivery-lifecycle[data-lifecycle]::after { inset-inline-start: 0px; }
.pp-generator-technical-plate { min-height: clamp(390px, 43vw, 570px); padding: 28px 24px 68px; box-sizing: border-box; background: linear-gradient(145deg, rgb(248, 250, 247), rgb(232, 239, 231)); }
.pp-generator-technical-canvas { position: relative; display: grid; width: 100%; height: 100%; min-height: 310px; place-items: center; overflow: hidden; border: 1px solid rgba(24, 88, 32, 0.2); border-radius: 14px; background-color: rgb(248, 250, 247); background-image: linear-gradient(rgba(20, 82, 28, 0.07) 1px, transparent 1px), linear-gradient(90deg, rgba(20, 82, 28, 0.07) 1px, transparent 1px), linear-gradient(rgba(20, 82, 28, 0.024) 1px, transparent 1px), linear-gradient(90deg, rgba(20, 82, 28, 0.024) 1px, transparent 1px); background-size: 44px 44px, 44px 44px, 11px 11px, 11px 11px; box-shadow: rgba(15, 57, 20, 0.055) 0px 0px 38px inset; }
.pp-generator-technical-canvas::before, .pp-generator-technical-canvas::after { content: ""; position: absolute; z-index: 0; pointer-events: none; opacity: 0.55; }
.pp-generator-technical-canvas::before { inset-inline: 7%; top: 46px; height: 1px; background: linear-gradient(90deg, rgb(39, 107, 49), rgb(39, 107, 49)); box-shadow: rgb(39, 107, 49) 0px -5px 0px -4px; }
.pp-generator-technical-canvas::after { top: 34px; bottom: 13%; inset-inline-start: 7%; width: 1px; background: rgb(39, 107, 49); }
.pp-generator-technical-canvas img { position: relative; z-index: 1; display: block; width: 92%; height: auto; max-height: 390px; object-fit: contain; filter: saturate(0.72) contrast(1.06) drop-shadow(rgba(12, 43, 17, 0.14) 0px 16px 20px); mix-blend-mode: multiply; }
.pp-generator-technical-plate.is-drawing .pp-generator-technical-canvas { background-color: rgb(255, 255, 255); }
.pp-generator-technical-plate.is-drawing .pp-generator-technical-canvas img { width: 95%; max-height: 410px; filter: contrast(1.08); }
.pp-generator-technical-dimensions { position: absolute; z-index: 3; top: 16px; inset-inline-end: 16px; max-width: 78%; padding: 6px 9px; border: 1px solid rgba(23, 91, 31, 0.18); border-radius: 6px; background: rgba(255, 255, 255, 0.9); color: rgb(23, 78, 32); font: 800 10px / 1.45 "Segoe UI", Tahoma, Arial, sans-serif; letter-spacing: 0.025em; box-shadow: rgba(18, 65, 24, 0.07) 0px 5px 14px; }
@media (max-width: 720px) {
  .pp-generator-technical-plate { min-height: 340px; padding: 18px 14px 62px; }
  .pp-generator-technical-canvas { min-height: 270px; }
  .pp-generator-technical-canvas img { width: 96%; max-height: 315px; }
  .pp-generator-technical-dimensions { top: 10px; inset-inline-end: 10px; max-width: 88%; font-size:13px; }
}
.pp-delivery-lifecycle[data-lifecycle] { --pp-lifecycle-active-scale: 1.07; }
@media (max-width: 1050px) {
  .pp-delivery-lifecycle[data-lifecycle] { --pp-lifecycle-active-scale: 1.035; }
}
@media (prefers-reduced-motion: reduce) {
  .pp-delivery-lifecycle[data-lifecycle] { --pp-lifecycle-active-scale: 1; }
}

/* v0.1.47 — coherent high-resolution generator catalog presentation */
.pp-project-rotator.is-cycling .pp-hero-rotator-progress i{animation-duration:6.5s}
.pp-home-generator-photo,
.pp-generator-model-grid .pp-generator-photo{
  background-color:#fff;
  background-image:var(--pp-bg-image),linear-gradient(180deg,#fff,#f7f9f6);
  background-size:94% auto,cover;
  background-position:center,center;
}
.pp-generator-card-jenbacher-j616 .pp-home-generator-photo,
.pp-generator-card-jenbacher-j620 .pp-home-generator-photo,
.pp-generator-card-jenbacher-j616 .pp-generator-photo,
.pp-generator-card-jenbacher-j620 .pp-generator-photo{
  position:relative;
  overflow:hidden;
  background-image:linear-gradient(180deg,#fff,#f7f9f6);
}
.pp-generator-card-jenbacher-j616 .pp-home-generator-photo:before,
.pp-generator-card-jenbacher-j620 .pp-home-generator-photo:before,
.pp-generator-card-jenbacher-j616 .pp-generator-photo:before,
.pp-generator-card-jenbacher-j620 .pp-generator-photo:before{
  content:"";position:absolute;inset:0;
  background-image:var(--pp-bg-image);
  background-repeat:no-repeat;background-position:center;background-size:106% auto;
  filter:saturate(.88) contrast(1.035) brightness(1.045);
  transform:translateZ(0);
}
.pp-generator-card-jenbacher-j616 .pp-home-generator-photo>b,
.pp-generator-card-jenbacher-j620 .pp-home-generator-photo>b,
.pp-generator-card-jenbacher-j616 .pp-generator-photo>span,
.pp-generator-card-jenbacher-j620 .pp-generator-photo>span{position:relative;z-index:2}
.pp-generator-card-guascor-g-56sl .pp-home-generator-photo,
.pp-generator-card-guascor-g-56sl .pp-generator-photo{
  background-size:96% auto,cover;
  background-position:center,center;
}
@media(max-width:600px){
  .pp-generator-card-jenbacher-j616 .pp-home-generator-photo:before,
  .pp-generator-card-jenbacher-j620 .pp-home-generator-photo:before,
  .pp-generator-card-jenbacher-j616 .pp-generator-photo:before,
  .pp-generator-card-jenbacher-j620 .pp-generator-photo:before{background-size:102% auto}
  .pp-generator-card-guascor-g-56sl .pp-home-generator-photo,
  .pp-generator-card-guascor-g-56sl .pp-generator-photo{background-size:92% auto,cover}
}

/* v0.1.48 — one complete-equipment frame and one badge position for every model */
.pp-home-generator-photo,
.pp-generator-model-grid .pp-generator-photo{
  box-sizing:border-box;
  padding:16px;
  background-color:#fff!important;
  background-image:var(--pp-bg-image),linear-gradient(180deg,#fff,#f7f9f6)!important;
  background-repeat:no-repeat,no-repeat!important;
  background-position:center,center!important;
  background-size:contain,cover!important;
  background-origin:content-box,border-box;
  background-clip:content-box,border-box;
}
.pp-generator-card-jenbacher-j616 .pp-home-generator-photo:before,
.pp-generator-card-jenbacher-j620 .pp-home-generator-photo:before,
.pp-generator-card-jenbacher-j616 .pp-generator-photo:before,
.pp-generator-card-jenbacher-j620 .pp-generator-photo:before{display:none!important}
.pp-home-generator-photo>b,
.pp-generator-model-grid .pp-generator-photo>span,
.pp-generator-card-jenbacher-j616 .pp-home-generator-photo>b,
.pp-generator-card-jenbacher-j620 .pp-home-generator-photo>b,
.pp-generator-card-jenbacher-j616 .pp-generator-photo>span,
.pp-generator-card-jenbacher-j620 .pp-generator-photo>span{
  position:absolute!important;
  z-index:4!important;
  inset-inline-start:14px!important;
  inset-inline-end:auto!important;
  top:auto!important;
  bottom:14px!important;
  margin:0!important;
}
.pp-generator-technical-plate.is-equipment-photo{background:linear-gradient(145deg,#f8faf7,#e8efe7)}
.pp-generator-technical-plate.is-equipment-photo .pp-generator-technical-canvas{
  background:#fff;
}
.pp-generator-technical-plate.is-equipment-photo .pp-generator-technical-canvas:before,
.pp-generator-technical-plate.is-equipment-photo .pp-generator-technical-canvas:after{display:none}
.pp-generator-technical-plate.is-equipment-photo .pp-generator-technical-canvas img{
  width:96%;
  max-height:420px;
  object-fit:contain;
  filter:none;
  mix-blend-mode:normal;
}
@media(max-width:600px){
  .pp-home-generator-photo,
  .pp-generator-model-grid .pp-generator-photo{padding:12px}
  .pp-generator-technical-plate.is-equipment-photo .pp-generator-technical-canvas img{width:98%}
}

/* v0.1.49 — restored manufacturer artwork */
.pp-brand-experience-grid .pp-brand-logo-art{height:60px;min-height:60px}
.pp-brand-logo-art img{width:auto;height:auto;max-width:92%;max-height:52px;object-fit:contain}
.pp-brand-jenbacher .pp-brand-logo-art img,
.pp-brand-cat .pp-brand-logo-art img,
.pp-brand-perkins .pp-brand-logo-art img{max-width:96%}

/* v0.1.50 — full-width desktop canvas, model-page logos and mission statement */
.pp-generator-brand-logo{display:flex;width:max-content;max-width:210px;height:70px;align-items:center;justify-content:center;margin:20px 0 14px;padding:10px 16px;border:1px solid rgba(255,255,255,.22);border-radius:12px;background:#fff;box-shadow:0 14px 30px rgba(0,0,0,.16)}
.pp-generator-brand-logo img{display:block;width:auto;height:auto;max-width:178px;max-height:48px;object-fit:contain}
.pp-about-mission-section{padding-top:28px;padding-bottom:78px}
.pp-about-mission-card{display:grid;grid-template-columns:minmax(220px,.32fr) minmax(0,.68fr);gap:clamp(30px,5vw,84px);align-items:start;padding:clamp(30px,4.5vw,64px);border:1px solid rgba(20,71,27,.14);border-radius:20px;background:radial-gradient(circle at 10% 10%,rgba(190,181,28,.13),transparent 26%),linear-gradient(138deg,#f9fbf7,#edf4ec);box-shadow:0 16px 44px rgba(16,46,20,.07)}
.pp-about-mission-heading{position:sticky;top:112px}
.pp-about-mission-heading h2{margin:8px 0 0;font-size:clamp(27px,2.5vw,39px);line-height:1.55}
.pp-about-mission-card>p{max-width:1050px;margin:0;color:#39463c;font-size:clamp(16px,1.05vw,18px);line-height:2.25;text-align:justify}
.pp-english-page .pp-about-mission-card>p{text-align:left;line-height:2}
@media(min-width:1201px){
  :root{--pp-max:none}
  .pp-container,.pp-section,.pp-stats,.pp-project-status-summary,.pp-generator-model-meta{width:100%;max-width:none}
  .pp-container,.pp-section{padding-inline:clamp(28px,3.25vw,68px)}
  .pp-header-inner{padding-inline:clamp(28px,3.25vw,68px)}
}
@media(max-width:820px){
  .pp-about-mission-card{grid-template-columns:1fr;padding:28px}
  .pp-about-mission-heading{position:static}
  .pp-about-mission-card>p{text-align:start}
}


/* v0.1.52 — conservative editorial photo treatment */
.pp-editorial-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.pp-editorial-photo-grid figure{margin:0;overflow:hidden;border:1px solid var(--pp-border);border-radius:16px;background:#fff;box-shadow:0 12px 28px rgba(16,46,20,.06)}
.pp-editorial-photo-grid figure:first-child{grid-column:1/-1}
.pp-editorial-photo-grid img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:#e8eee7}
.pp-editorial-photo-grid figcaption{padding:14px 18px;color:var(--pp-ink);font-size:17px;font-weight:700}
@media(max-width:680px){.pp-editorial-photo-grid{grid-template-columns:1fr}.pp-editorial-photo-grid figure:first-child{grid-column:auto}}

/* v0.1.53 — subject-specific service galleries */
.pp-service-evidence-gallery .pp-service-photo-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:auto;gap:22px;align-items:start}
.pp-service-evidence-gallery .pp-service-photo-grid figure,
.pp-service-evidence-gallery .pp-service-photo-grid figure:first-child,
.pp-service-evidence-gallery .pp-service-photo-grid figure:nth-child(4){position:relative;grid-column:span 6;grid-row:auto;margin:0;overflow:hidden;border:1px solid var(--pp-border);border-radius:16px;background:#fff;box-shadow:0 12px 28px rgba(16,46,20,.06)}
.pp-service-evidence-gallery .pp-service-photo-grid figure.is-portrait{grid-column:span 4}
.pp-service-evidence-gallery .pp-service-photo-grid img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:#e8eee7}
.pp-service-evidence-gallery .pp-service-photo-grid figure.is-portrait img{aspect-ratio:4/5}
.pp-service-evidence-gallery .pp-service-photo-grid figcaption{position:static;padding:14px 18px;border:0;border-radius:0;background:#fff;color:var(--pp-ink);font-size:17px;font-weight:700;line-height:1.8;backdrop-filter:none}
@media(max-width:850px){.pp-service-evidence-gallery .pp-service-photo-grid figure,.pp-service-evidence-gallery .pp-service-photo-grid figure:first-child,.pp-service-evidence-gallery .pp-service-photo-grid figure:nth-child(4),.pp-service-evidence-gallery .pp-service-photo-grid figure.is-portrait{grid-column:span 6}}
@media(max-width:560px){.pp-service-evidence-gallery .pp-service-photo-grid figure,.pp-service-evidence-gallery .pp-service-photo-grid figure:first-child,.pp-service-evidence-gallery .pp-service-photo-grid figure:nth-child(4),.pp-service-evidence-gallery .pp-service-photo-grid figure.is-portrait{grid-column:1/-1}.pp-service-evidence-gallery .pp-service-photo-grid figure.is-portrait img{aspect-ratio:4/5}}

/* v0.1.56: allow long bilingual project names to determine hero height. */
.pp-project-hero-full .pp-hero-full-shell{display:grid;grid-template-columns:minmax(0,1fr);min-height:660px;background:#082510}
.pp-project-hero-full .pp-project-hero-heading{position:relative;inset:auto!important;grid-area:1/1;align-self:start;margin:42px clamp(64px,5.5vw,108px) 0;max-width:none}
.pp-project-hero-full .pp-project-hero-heading h1{font-size:clamp(22px,1.8vw,30px);line-height:1.4;max-width:none;margin:0}
.pp-project-hero-full .pp-project-rotator-full{position:relative;inset:auto;grid-area:1/1;display:grid;grid-template-columns:minmax(0,1fr);align-self:stretch}
.pp-project-hero-full .pp-hero-project-slide{position:relative;grid-area:1/1;inset:auto;display:flex;align-items:center;min-width:0;padding:170px clamp(64px,5.5vw,108px) 120px}
.pp-project-hero-full .pp-hero-project-overlay,
.pp-english-page .pp-project-hero-full .pp-hero-project-overlay{position:relative;inset:auto;width:min(980px,75%);max-width:none;margin:0;transform:none}
.pp-project-hero-full .pp-hero-project-overlay>strong{font-size:clamp(30px,3.1vw,54px);line-height:1.25;letter-spacing:-.025em;overflow-wrap:break-word}
.pp-project-hero-full .pp-hero-projects-button,
.pp-english-page .pp-project-hero-full .pp-hero-projects-button{left:50%;right:auto;width:max-content;max-width:calc(100% - 48px);white-space:nowrap;transform:translateX(-50%);bottom:36px;text-decoration:none}
.pp-project-hero-full .pp-project-placeholder-content b{width:auto;height:auto;border:0;border-radius:0;background:none}
@media(max-width:900px){
 .pp-project-hero-full .pp-hero-full-shell{min-height:620px}
 .pp-project-hero-full .pp-project-hero-heading{margin:36px 60px 0}
 .pp-project-hero-full .pp-project-hero-heading h1{font-size:24px}
 .pp-project-hero-full .pp-hero-project-slide{padding:170px 60px 115px}
 .pp-project-hero-full .pp-hero-project-overlay,.pp-english-page .pp-project-hero-full .pp-hero-project-overlay{width:100%}
 .pp-project-hero-full .pp-project-placeholder-content{opacity:.12}
}
@media(max-width:520px){
 .pp-project-hero-full .pp-project-hero-heading{margin:32px 44px 0}
 .pp-project-hero-full .pp-project-hero-heading h1{font-size:22px}
 .pp-project-hero-full .pp-hero-project-slide{padding:180px 44px 115px}
 .pp-project-hero-full .pp-hero-project-overlay>strong{font-size:29px;line-height:1.3}
 .pp-project-hero-full .pp-hero-project-pointer{width:30px;height:30px}
 .pp-project-hero-full .pp-hero-project-overlay>span{font-size:15px}
}
.pp-project-hero-full .pp-hero-project-slide,.pp-project-hero-full .pp-hero-project-slide:hover,.pp-project-hero-full .pp-hero-project-slide:focus{text-decoration:none}
@media(max-width:900px){.pp-project-hero-full .pp-project-placeholder-content small{display:none}}

/* v0.1.59: readable site typography and the Bafq progress journal */
.pp-weblog-page{background:#fff;color:#24352b}
.pp-weblog-reading{width:calc(100% - 48px);max-width:860px;margin-inline:auto}
.pp-weblog-heading{padding:64px 0 36px;border-bottom:1px solid #e0e7df;background:#f4f7f2}
.pp-weblog-page .pp-weblog-heading h1{font-size:clamp(30px,3.1vw,44px);line-height:1.65;margin:20px 0;font-weight:800;letter-spacing:normal}
.pp-weblog-page .pp-weblog-deck{font-size:22px;line-height:2;color:#495d50;margin:0 0 20px}
.pp-weblog-meta,.pp-weblog-back{font-size:17px;line-height:1.9;color:#506653}
.pp-weblog-body{padding-block:44px 64px}
.pp-weblog-page .pp-entry-content p,.pp-weblog-page .pp-entry-content li{font-size:20px;line-height:2.15;color:#24352b;text-align:start}
.pp-weblog-page .pp-entry-content p{margin:0 0 24px}
.pp-weblog-page .pp-entry-content h2{font-size:27px;line-height:1.8;margin:42px 0 18px}
.pp-weblog-page .pp-entry-content h3{font-size:23px;line-height:1.8;margin:32px 0 16px}
.pp-weblog-page .pp-entry-content ul{padding-inline-start:26px;margin-block:20px 28px}
.pp-weblog-page .pp-entry-content li{margin-bottom:8px}
.pp-weblog-page .pp-entry-content a{color:#22632a;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.pp-weblog-page img{max-width:100%;height:auto}
.pp-weblog-related{border-top:1px solid #dce5da;margin-top:44px;padding-top:24px}
.pp-weblog-related h2{font-size:22px;margin:0 0 12px}
.pp-weblog-related a{display:inline-block;font-size:18px;color:#22632a;margin-inline-end:24px;margin-bottom:12px}
.pp-weblog-index{max-width:1240px;width:calc(100% - 48px);margin:48px auto 72px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.pp-weblog-card{display:block;overflow:hidden;border:1px solid #dce5da;border-radius:12px;padding:28px;background:#fff;color:#24352b;text-decoration:none}
.pp-weblog-card>img{display:block;width:calc(100% + 56px);max-width:none;aspect-ratio:8/5;margin:-28px -28px 24px;object-fit:cover}
.pp-weblog-card:hover{border-color:#688760;box-shadow:0 8px 24px #183b1510}
.pp-weblog-page .pp-weblog-card h2{font-size:25px;line-height:1.8;margin:18px 0}
.pp-weblog-page .pp-weblog-card p{font-size:19px;line-height:2;color:#495d50}
.pp-weblog-card b{display:block;margin-top:24px;color:#22632a;font-size:17px}
.pp-progress-figure{margin:30px 0 36px;overflow:hidden;border:1px solid #dce5da;border-radius:14px;background:#f4f7f2}
.pp-progress-figure img{display:block;width:100%;aspect-ratio:8/5;object-fit:cover}
.pp-progress-figure figcaption{padding:14px 18px;color:#34483a;font-size:17px;font-weight:700;line-height:1.9}
.pp-progress-gallery{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:30px 0 38px}
.pp-progress-gallery .pp-progress-figure{margin:0}
@media(max-width:800px){.pp-weblog-index{grid-template-columns:1fr;max-width:600px}.pp-weblog-heading{padding-top:36px}.pp-weblog-page .pp-entry-content p,.pp-weblog-page .pp-entry-content li{font-size:19px}.pp-weblog-page .pp-weblog-deck{font-size:20px}.pp-weblog-page .pp-entry-content h2{font-size:24px}.pp-weblog-reading{width:calc(100% - 36px)}.pp-progress-gallery{grid-template-columns:1fr}}
body{font-size:17px}
