/* PEL — restrained typography and the complete official mark. */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.brand{width:96px;height:auto;aspect-ratio:600/405;overflow:visible;mix-blend-mode:normal;display:block;flex:none;position:relative}
.brand img.logo{position:static!important;display:block;width:100%!important;height:100%!important;max-width:100%;object-fit:contain;filter:none!important}
header{height:84px}.report-head .brand{width:68px;height:auto;transform:none;margin:0}.footer-top .brand{width:103px}
#engine-gate{padding:32px;background:radial-gradient(ellipse at 50% 54%,#152534 0%,#0c1722 36%,#09121d 75%);overflow:auto}
.engine-inner{gap:55px;min-height:100%;padding:20px 0}
.engine-brand{width:151px;height:auto;margin:0;transform:none!important}
#start-engine{position:relative;isolation:isolate;flex:none;width:180px;height:180px;padding:30px 20px;margin:0;border-radius:50%;border:1px solid #677681;background:radial-gradient(circle at 50% 35%,#2a3540,#121c26 62%,#080f17 100%);color:#eaf1f5;gap:17px;box-shadow:0 13px 28px #0008,inset 0 2px 2px #e8f0f326,inset 0 -7px 15px #0008;transition:transform .28s,box-shadow .28s,border-color .28s}
#start-engine:before{content:'';position:absolute;inset:-8px;z-index:-1;border-radius:50%;padding:2px;background:conic-gradient(from 35deg,#3c5566,#c2d0d9 13%,#4b6575 25%,#152331 48%,#a0b6c6 65%,#324c5f 78%,#a9bfce 95%,#3c5566);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none}
#start-engine:after{content:'';position:absolute;inset:-13px;border-radius:50%;border:1px solid #9bbad719;pointer-events:none}
#start-engine .engine-indicator{width:17px;height:3px;border-radius:5px;background:#97cee8;box-shadow:0 0 12px #70bcff70}
#start-engine .engine-power{font:25px/1 Arial;color:#cee6f4;text-shadow:0 0 15px #9cccf448}
#start-engine .engine-words{display:grid;gap:5px;text-align:center;color:#ecf1f5;font-family:Arial,sans-serif;line-height:1.3}
#start-engine .engine-words strong{font:600 10px/1.3 Arial;letter-spacing:.22em}
#start-engine .engine-words>span{font:600 12px/1.3 Arial;letter-spacing:.08em;color:#c8d7e2}
#start-engine:hover{border-color:#b4d4e7;transform:translateY(-2px);box-shadow:0 14px 32px #0008,inset 0 2px 2px #ffffff30,inset 0 -7px 15px #0008,0 0 45px #72bde51a}
#start-engine:active,#engine-gate.starting #start-engine{transform:translateY(2px) scale(.97);box-shadow:inset 0 4px 16px #000a,0 0 50px #8ccfeb24}
#engine-gate.starting .engine-indicator{background:#d8b990;box-shadow:0 0 18px #d8b990bb}
#engine-gate.leaving .engine-inner{opacity:0;transform:translateY(-8px);transition:opacity .3s,transform .3s}
#engine-gate.leaving{opacity:0;transition:opacity .35s}
/* The first hero retains its scale. Subsequent sections use one clear hierarchy. */
.section{padding-block:84px}.section-heading{margin-bottom:34px;gap:48px}
.section-label{gap:12px;margin-bottom:21px}
.section-label .section-number{font:14px/1.4 Arial;color:#8298a6;padding-inline-end:12px}
.section-label p[lang=fa]{font:500 clamp(16px,1.45vw,21px)/1.7 Vazirmatn,Arial}
.section-label p[lang=en]{font:500 10px/1.5 Arial;letter-spacing:.13em;margin-top:2px;color:#b49d83}
.section h2,.section-heading h2,.approach h2,.faq h2,.booking h2{font-size:clamp(23px,2.2vw,32px);line-height:1.7;font-weight:500;letter-spacing:0;margin:0 0 22px;text-wrap:balance}
html[lang=en] .section h2{font-size:clamp(24px,2.4vw,34px);line-height:1.25;letter-spacing:-.025em}
.section-heading .intro{padding-top:0;align-self:center}.intro{max-width:440px}
.manifesto{padding-block:64px}.manifesto h2{font-size:clamp(23px,2.2vw,32px);font-weight:500;line-height:1.8}
.service-visual{min-height:490px}.service-visual h3{font-size:clamp(22px,2.1vw,30px);font-weight:500}
.service-row h3{font-size:16px;font-weight:500}.service-row .en{font:9px/1.6 Arial;letter-spacing:.05em;margin-top:5px}
.steps{margin-top:35px}.steps b{font-size:24px}.steps h3{font-size:16px;font-weight:500}
.report-title{font-size:23px}.report{transform:none}.part-card,.stage.details .part-card{max-width:410px}
.card-meta{font-size:8px;padding-bottom:14px}.part-atlas{font-size:7px}
.component-heading{gap:4px;padding-bottom:12px;margin-bottom:14px}
.component-heading #part-en{font:500 clamp(16px,1.5vw,21px)/1.35 Arial;letter-spacing:.035em;overflow-wrap:normal;text-wrap:balance}
.part-card .component-heading #part-fa{font:500 clamp(18px,1.65vw,23px)/1.6 Vazirmatn,Arial}
.part-card #part-title,html[lang=en] .part-card #part-title{font-size:16px;line-height:1.7;font-weight:400;margin-bottom:10px;color:#d7e2e8}
.focus-insight{margin-top:14px;padding-block:12px}.focus-insight>span{font-size:9px}
.hotspot{max-width:142px;padding:6px 9px}.hotspot span[lang=fa]{font-size:10px}.hotspot span[lang=en]{font-size:9px}
#detail-dialog #dialog-title{font-size:23px;line-height:1.6}#detail-dialog #dialog-kicker{font-size:12px;letter-spacing:.07em}
#detail-dialog{max-height:calc(100svh - 40px);overflow:auto}.footer-bottom{gap:16px;flex-wrap:wrap}.footer-bottom button{min-height:40px}
input[aria-invalid=true],select[aria-invalid=true]{border-color:#d8987e}
@media(max-width:1000px){.service-visual{min-height:460px}.section-heading{gap:30px}}
@media(min-width:641px) and (max-width:800px){.expertise-layout{gap:24px}.approach,.booking{gap:28px}.service-row h3{font-size:14px}.service-row .en{font-size:8px}.booking .text-link{font-size:12px}.report{padding:20px}}
@media(max-width:700px){header{height:72px;gap:14px}.brand{width:79px;height:auto}.engine-brand{width:137px}.engine-inner{gap:48px}.section{padding-block:58px}.section-label{margin-bottom:17px;gap:10px}.section-label .section-number{font-size:13px;padding-inline-end:10px}.section-label p[lang=fa]{font-size:16px}.section-label p[lang=en]{font-size:9px;letter-spacing:.08em}.section h2,.section-heading h2,.approach h2,.faq h2,.booking h2{font-size:25px;line-height:1.7;margin-bottom:20px}html[lang=en] .section h2{font-size:27px}.manifesto{padding-block:46px}.manifesto h2{font-size:24px}.service-visual{min-height:330px}.service-visual h3{font-size:25px}.service-row h3{font-size:16px}.service-row .en{font-size:9px}.component-heading #part-en{font-size:17px}.part-card .component-heading #part-fa{font-size:19px}.part-card #part-title,html[lang=en] .part-card #part-title{font-size:14px;line-height:1.65}.component-heading{gap:3px;margin-bottom:10px;padding-bottom:10px}.hotspot{max-width:106px}.hotspot span[lang=fa]{font-size:9px}.hotspot span[lang=en]{font-size:8px}.card-meta{padding-bottom:9px}.focus-insight{margin-top:10px;padding-block:10px}.report-title{font-size:22px}.steps b{font-size:23px}.steps h3{font-size:15px}.booking .text-link{font-size:13px;overflow-wrap:anywhere}.footer-top .brand{width:92px}.footer-bottom{gap:8px 18px}
}
@media(max-height:600px){.engine-inner{gap:26px;padding:0}.engine-brand{width:110px}#start-engine{width:150px;height:150px;padding:24px;gap:12px}}
@media(prefers-reduced-motion:reduce){#start-engine:hover,#start-engine:active{transform:none}#engine-gate.leaving .engine-inner{transform:none;transition:none}}

/* Official public contact channels, retaining the editorial rhythm. */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:48px;border-top:1px solid var(--line)}
.contact-links{display:grid;gap:0;align-content:center}.contact-links a{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 0;border-bottom:1px solid var(--line);font-size:13px;overflow-wrap:anywhere}.contact-links a>span:last-child{font-size:11px;color:#a9bdca}.contact-links a:hover{color:var(--warm)}.footer-top>div{display:grid;gap:10px}.contact a:focus-visible{outline:2px solid #9ac6e3;outline-offset:5px}
@media(max-width:700px){.contact{grid-template-columns:1fr;gap:8px}.contact-links a{font-size:12px}.contact-links a>span:last-child{font-size:10px}}

header[data-tone=light] .brand img.logo{content:url('assets/pel-logo-light.svg')}footer .footer-top p,footer .footer-top>div a,footer .footer-bottom{color:#3f5968}footer .footer-top p span{color:#526a77}footer .brand{mix-blend-mode:normal}
@media(max-width:700px){#menu-button{flex:none;width:32px;min-width:32px;padding:7px}}
@media(max-width:380px){header{gap:9px;padding-inline:16px}header a.small{font-size:9px;gap:8px;line-height:1.5}}
