@font-face{font-family:Vazirmatn;src:url('../../fonts/Vazirmatn-FD-Thin.woff2') format('woff2');font-weight:100;font-style:normal;font-display:swap}
@font-face{font-family:Vazirmatn;src:url('../../fonts/Vazirmatn-FD-ExtraLight.woff2') format('woff2');font-weight:200;font-style:normal;font-display:swap}
@font-face{font-family:Vazirmatn;src:url('../../fonts/Vazirmatn-FD-Light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:Vazirmatn;src:url('../../fonts/Vazirmatn-FD-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Vazirmatn;src:url('../../fonts/Vazirmatn-FD-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Vazirmatn;src:url('../../fonts/Vazirmatn-FD-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Vazirmatn;src:url('../../fonts/Vazirmatn-FD-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Vazirmatn;src:url('../../fonts/Vazirmatn-FD-ExtraBold.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:Vazirmatn;src:url('../../fonts/Vazirmatn-FD-Black.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:Lalezar;src:url('../../fonts/Lalezar-Regular.ttf') format('truetype'),url('../../fonts/Lalezar-Regular.otf') format('opentype');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:Segap;src:url('../../fonts/Lalezar-Regular.ttf') format('truetype'),url('../../fonts/Lalezar-Regular.otf') format('opentype'),local('Lalezar'),local('Tahoma');font-weight:100 900;font-style:normal;font-display:swap}
:root{--green:#087044;--bright:#27b34b;--lime:#91c840;--ink:#183c30;--muted:#687b72;--line:#dfe8df;--soft:#f3f7ef;--white:#fff;--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font-family:Vazirmatn,Tahoma,Arial,sans-serif;font-size:17px;line-height:1.95}body:has(.dashboard){background:#f6f8f4}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}:focus-visible{outline:3px solid var(--lime);outline-offset:4px}button{border:0}img{max-width:100%}.wrap{width:min(1240px,calc(100% - 64px));margin:auto}.site-header{position:sticky;top:0;z-index:90;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:saturate(140%) blur(8px);-webkit-backdrop-filter:saturate(140%) blur(8px)}.header-row{display:flex;align-items:center;gap:22px;min-height:78px}.site-header>.wrap{width:min(1520px,calc(100% - 40px))}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand.brand-logo-only{max-width:none;gap:0}.brand img{width:40px;height:46px;object-fit:contain;object-position:center;flex-shrink:0}.brand.brand-logo-only img{width:72px;height:72px}.brand>div{min-width:0}.brand strong{display:block;font-size:16px;color:var(--green);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand small{display:block;font-size:9px;color:var(--muted);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav{display:flex;align-items:center;gap:18px;margin-inline:auto;flex:1;justify-content:center;min-width:0}.nav a,.nav .nav-toggle{font-size:13px;white-space:nowrap}.nav a:hover,.nav a.active{color:var(--green)}.header-actions{display:flex;gap:12px;align-items:center}.lang{background:var(--soft);color:var(--green);border-radius:50%;width:40px;height:40px;font-size:12px}.lang-form{margin:0;display:inline-flex;align-items:center}.lang-flag-only{background:transparent;border:0;padding:0;margin:0;width:auto;height:auto;border-radius:0;display:inline-flex;align-items:center;justify-content:center;line-height:0;box-shadow:none}.lang-flag-only img{display:block;width:28px;height:20px;object-fit:cover;border-radius:3px;transition:transform .18s ease,opacity .18s ease}.lang-flag-only:hover img{transform:scale(1.08);opacity:.9}.lang-flag-only:active img{transform:scale(.96)}.lang-menu-item{display:inline-flex;align-items:center;gap:10px;background:transparent;border:0;padding:0;margin:0;color:inherit;font-size:13px;font-weight:600;line-height:1.4;cursor:pointer}.lang-menu-item img{display:block;width:22px;height:16px;object-fit:cover;border-radius:3px;flex-shrink:0}.lang-menu-item:hover{color:var(--green)}.nav-lang{margin:0}.account-lang{margin:0;width:100%}.account-lang .lang-menu-item{display:flex;width:100%;text-align:start;padding:10px 12px;border-radius:8px;font-weight:500;color:var(--ink)}.account-lang .lang-menu-item:hover{background:var(--soft);color:var(--green)}.menu-toggle{display:none;background:transparent;border:0;border-radius:0;padding:0;color:var(--green);line-height:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:12px 25px;background:var(--green);color:#fff;border:1px solid var(--green);border-radius:10px;font-weight:600;font-size:15px;line-height:1.7;transition:transform .15s,background .15s}.btn:hover{background:#095b39;transform:translateY(-2px)}.btn.secondary{background:#fff;color:var(--green);border-color:var(--line)}.btn.soft{background:var(--soft);color:var(--green);border-color:transparent}.btn.small{padding:8px 17px}.text-link{color:var(--green);font-size:13px;font-weight:600}.eyebrow{display:flex;align-items:center;gap:9px;color:var(--green);font-size:12px;font-weight:600;letter-spacing:.03em}.eyebrow:before{content:'';width:7px;height:7px;border-radius:50%;background:var(--bright)}h1,h2,h3,p{margin-top:0}h1{font-size:48px;line-height:1.65;letter-spacing:-1.8px;margin-bottom:20px}h2{font-size:29px;line-height:1.7;letter-spacing:-.7px}h3{font-size:19px;line-height:1.8}p{color:var(--muted)}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:62px;padding:70px 0 56px;align-items:center}.hero h1{margin-top:21px}.hero h1 em{font-style:normal;color:var(--green)}.hero p{max-width:525px;font-size:18px;line-height:2.3}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0}.hero-note{font-size:11px;color:var(--muted)}.visual{position:relative;background:#edf4e6;border-radius:26px;padding:44px;min-height:410px;overflow:hidden}.visual:before{content:'';position:absolute;inset:18px;border:1px solid #d8e6ce;border-radius:16px}.tiles{direction:ltr;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;transform:rotate(-5deg);margin:5px 0 38px}.tile{border-radius:20px;aspect-ratio:1;display:grid;place-items:center;background:var(--green);color:white;font:65px Arial}.tile:nth-child(2),.tile:nth-child(4){background:var(--bright)}.tile:nth-child(3){background:var(--lime);color:var(--green)}.tile:nth-child(5){background:#cee6a8;color:var(--green)}.tile:nth-child(6){background:#fff;color:var(--green)}.visual-caption{position:relative;background:#fff;display:inline-flex;align-items:center;gap:15px;padding:11px 20px;border-radius:12px;font-size:12px;box-shadow:0 10px 35px #2544210d}.visual-caption b{font-size:23px;color:var(--green)}.topics{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);padding:25px 0;gap:24px}.topic{display:flex;align-items:center;gap:14px}.topic .mark{height:42px;width:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;color:var(--green);font-size:22px}.topic strong{font-size:13px}.topic small{display:block;font-size:10px;color:var(--muted)}.section{padding:66px 0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:25px}.section-head h2{margin:6px 0}.section-head p{font-size:14px;margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.card{border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;background:#fff;min-width:0}.card-art{height:220px;border-radius:12px;background:#eef4e8;display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:21px;overflow:hidden;direction:ltr}.card-art i{display:block;height:55px;width:55px;background:var(--green);border-radius:12px;transform:rotate(-12deg)}.card-art i:nth-child(2){background:var(--lime);border-radius:50%;transform:translateY(18px)}.card-art i:nth-child(3){background:var(--bright);transform:rotate(35deg)}.card:nth-child(2n) .card-art{background:#eaf3ed}.card:nth-child(3n) .card-art i:first-child{border-radius:50%}.badge{display:inline-block;width:fit-content;background:#edf5e9;padding:3px 10px;color:var(--green);font-size:10px;border-radius:6px}.card h3{margin:15px 0 10px;font-size:20px}.card p{font-size:14px}.card-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:15px;margin-top:auto;font-size:11px;color:var(--muted)}.card-bottom button{background:none;color:var(--green);font-size:18px}.callout{background:var(--green);border-radius:23px;padding:45px 50px;display:flex;align-items:center;justify-content:space-between;gap:40px;color:#fff}.callout h2{color:#fff;margin-bottom:8px}.callout p{color:#d6ebde;margin:0;font-size:14px}.callout .btn{background:#fff;color:var(--green);white-space:nowrap}.steps-mini{display:flex;gap:24px;flex-wrap:wrap;color:var(--muted);margin-top:25px;font-size:12px}.steps-mini span{display:flex;gap:9px;align-items:center}.steps-mini b{width:25px;height:25px;border-radius:50%;background:var(--soft);display:grid;place-items:center;color:var(--green)}.site-footer{background:#f1f6ed;padding:48px 0 18px;margin-top:0}.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}.footer-top p{font-size:13px;max-width:400px;margin-top:20px}.footer-contact{margin-top:12px!important;font-size:12px!important}.footer-contact a{color:var(--green);font-weight:600}.footer-social{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.footer-social a{font-size:12px;font-weight:600;color:var(--green);padding:4px 0}.footer-social a:hover{opacity:.75}.footer-links{display:flex;flex-direction:column;gap:9px;font-size:12px}.footer-links h3{font-size:14px;margin:0 0 8px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #d9e4d6;padding-top:18px;margin-top:35px;color:var(--muted);font-size:10px}.page-head{padding:48px 0 28px}.page-head h1{font-size:42px;margin:10px 0}.page-head p{font-size:17px}.filters{background:var(--soft);padding:24px;border-radius:16px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;margin-bottom:28px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;min-width:0}.field label{font-weight:600;font-size:12px}input,textarea,select{border:1px solid #cfdccf;background:#fff;color:var(--ink);border-radius:9px;padding:12px 14px;width:100%;min-width:0;font-size:13px;line-height:1.7}textarea{min-height:130px;resize:vertical}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--green)}.filters .field{margin:0}.empty{padding:50px;text-align:center;background:var(--soft);border-radius:15px;grid-column:1/-1}.article-layout{display:grid;grid-template-columns:1fr 300px;gap:45px;align-items:start}.article-layout article{font-size:16px;min-width:0}.article-layout h2{font-size:23px;margin-top:35px}.article-layout aside p{font-size:12px}.tag-row{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.notice{background:#f3f7ef;border-inline-start:3px solid var(--green);padding:13px 18px;color:var(--muted);font-size:12px;margin:20px 0;border-radius:7px}.notice.warning{background:#fff6e5;border-color:#b68521;color:#775b20}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:28px}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.prose{max-width:none;width:100%}.prose p{font-size:17px;line-height:2.4}.legal-doc{max-width:820px;margin:0 auto 36px}.legal-section{display:grid;grid-template-columns:56px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}.legal-section:last-child{border-bottom:0}.legal-num{font-size:22px;font-weight:700;color:#9bb995;line-height:1.4}.legal-section h2{margin:0 0 8px;font-size:18px}.legal-section p{margin:0;font-size:14px;line-height:2.1}.legal-footer{justify-content:center;margin:10px 0 40px}.check-label a{color:var(--green);text-decoration:underline;text-underline-offset:3px}.feature-num{font-size:40px;color:#9bb995;margin-bottom:25px}.faq-item{border-bottom:1px solid var(--line)}.faq-question{display:flex;width:100%;text-align:start;justify-content:space-between;padding:23px 0;background:none;font-weight:600;color:var(--ink)}.faq-answer{padding-bottom:22px;color:var(--muted);font-size:14px}.auth{display:grid;grid-template-columns:1fr 1fr;gap:80px;max-width:1060px;margin:65px auto;align-items:start}.auth-art{background:var(--soft);border-radius:24px;padding:45px}.auth-art h2{margin-top:30px}.auth-form{padding:25px 0}.auth-form h1{font-size:30px;margin-bottom:22px}.auth-form .btn{width:100%;margin-top:8px}.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.auth-grid .field .file-note{margin-top:4px;display:block}.auth-code-input{letter-spacing:.35em;font-size:22px;font-weight:700;text-align:center}.auth-links{display:flex;justify-content:space-between;gap:18px;margin-top:24px;font-size:12px;color:var(--green)}.auth-links a{color:var(--green);font-weight:600}.check-label{display:flex;gap:10px;align-items:start;font-size:12px;color:var(--muted);margin:20px 0}.dashboard{display:grid;grid-template-columns:230px 1fr;gap:35px;padding-top:35px}.sidebar{background:#fff;padding:24px;border:1px solid var(--line);border-radius:16px;align-self:start;position:sticky;top:20px}.sidebar a{display:block;padding:11px 12px;font-size:12px;border-radius:8px}.sidebar a.active{background:var(--soft);color:var(--green);font-weight:bold}.sidebar h3{font-size:14px}.dash-main{min-width:0}.dash-main h1{font-size:29px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:25px}.stat{border:1px solid var(--line);padding:22px;background:#fff;border-radius:16px}.stat strong{display:block;font-size:34px;color:var(--green)}.stat small{color:var(--muted);font-size:12px}.paper-row{padding:22px;border:1px solid var(--line);background:#fff;border-radius:14px;margin-bottom:15px;display:flex;align-items:center;justify-content:space-between;gap:22px}.paper-row h3{margin:8px 0;font-size:16px}.paper-row p{font-size:11px;margin:0}.paper-row .actions{flex-shrink:0}.wizard-steps{display:flex;list-style:none;padding:0;gap:12px;margin:0 0 30px}.wizard-steps li{flex:1;font-size:11px;color:var(--muted);border-top:3px solid var(--line);padding-top:12px}.wizard-steps li.current{color:var(--green);border-color:var(--green);font-weight:bold}.form-card{border:1px solid var(--line);padding:30px;background:#fff;border-radius:18px}.form-card h2{font-size:22px}.review-scale{display:flex;gap:18px;flex-wrap:wrap}.review-scale label{display:flex;gap:7px;align-items:center;font-size:12px}.success{padding:55px;text-align:center;background:var(--soft);border-radius:20px}.success .symbol{font-size:55px;color:var(--green)}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;box-shadow:0 10px 40px #0002;border-radius:12px;padding:14px 25px;max-width:calc(100% - 30px);z-index:100;display:none;font-size:13px}
.swal2-popup{font-family:Vazirmatn,Tahoma,Arial,sans-serif!important;border-radius:16px!important;padding:1.4em 1.2em 1.2em!important}
.swal2-title{font-size:1.2rem!important;line-height:1.7!important;color:var(--ink)!important}
.swal2-html-container,.swal2-html-container.swal2-html-container{font-size:.95rem!important;line-height:1.8!important;color:var(--muted)!important}
.segap-swal-actions.swal2-actions{
  display:flex!important;
  flex-wrap:wrap;
  gap:10px!important;
  margin:1.1em auto 0!important;
  width:100%;
  max-width:320px;
  justify-content:stretch!important;
}
[dir=rtl] .segap-swal-actions.swal2-actions{flex-direction:row!important}
[dir=ltr] .segap-swal-actions.swal2-actions{flex-direction:row!important}
.segap-swal-actions .swal2-styled{
  flex:1 1 0;
  margin:0!important;
  min-width:0;
  min-height:44px;
  padding:.65em 1em!important;
  border-radius:12px!important;
  font-weight:700!important;
  font-size:.95rem!important;
  box-shadow:none!important;
}
.segap-swal-confirm.swal2-confirm{background-color:var(--green)!important;order:2}
.segap-swal-cancel.swal2-cancel{
  background:#edf3ec!important;
  color:var(--green)!important;
  border:1px solid #cfe0cf!important;
  order:1;
}
.segap-swal-danger .segap-swal-confirm.swal2-confirm{background-color:#b42318!important}
.segap-swal-danger .segap-swal-cancel.swal2-cancel{
  background:var(--green)!important;
  color:#fff!important;
  border-color:var(--green)!important;
}
/* RTL: انصراف سمت راست (شروع)، خروج/تأیید سمت چپ */
[dir=rtl] .segap-swal-actions.swal2-actions{flex-direction:row!important}
[dir=rtl] .segap-swal-cancel.swal2-cancel{order:1}
[dir=rtl] .segap-swal-confirm.swal2-confirm{order:2}.skip{position:absolute;top:-100px;z-index:110;background:#fff;padding:10px}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.mobile-only{display:none}.pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:30px}.pagination a,.pagination button{display:inline-flex;align-items:center;justify-content:center;min-width:42px;background:var(--soft);padding:8px 16px;border-radius:8px;color:var(--green);border:1px solid transparent;font-weight:600;font-size:13px;line-height:1.4;transition:background .18s ease,color .18s ease,border-color .18s ease,transform .15s ease,box-shadow .18s ease}.pagination a:hover,.pagination button:hover{background:#e4efe3;transform:translateY(-1px)}.pagination a.active,.pagination button.active,.pagination a[aria-current="page"]{background:var(--green);color:#fff;border-color:var(--green);box-shadow:0 8px 18px #08704433;pointer-events:none}.status{color:var(--green);font-size:12px}.file-note{font-size:11px;color:var(--muted)}[dir=ltr] h1,[dir=ltr] h2{letter-spacing:-.8px}[dir=ltr] .hero h1{font-size:49px;line-height:1.25}[dir=ltr] .hero p{line-height:1.9}[dir=ltr] body{font-family:Arial,Tahoma,sans-serif}
@media(min-width:1450px){.hero{gap:90px;padding-top:85px}}
@media(max-width:1100px){.header-row{gap:18px}.nav{gap:15px}.header-actions .btn{padding:10px 15px}.brand small{display:none}.hero{gap:30px}h1{font-size:39px}.visual{padding:30px}.topic{gap:8px}.topic small{font-size:9px}.cards{gap:15px}.card{padding:18px}[dir=ltr] .hero h1{font-size:39px}}
@media(max-width:850px){.wrap{width:calc(100% - 36px)}.site-header{background:#fff}.header-row{min-height:76px;display:flex;flex-wrap:nowrap;gap:12px;padding:8px 0;grid-template-columns:none}.brand{margin-inline-end:auto;justify-self:auto}.brand.brand-logo-only img{width:56px;height:56px}.brand img{height:56px;width:56px;object-fit:contain}.brand strong{font-size:15px}.header-actions{gap:10px;margin-inline-start:0;justify-self:auto}.header-actions>.header-cta{display:none}.menu-toggle{display:block}.nav{display:flex;order:4;width:100%;padding:0 0;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-top:0 solid var(--line);max-height:0;overflow:hidden;opacity:0;visibility:hidden;transform:translateY(-6px);transition:max-height .32s ease,opacity .24s ease,transform .24s ease,padding .24s ease,border-color .24s ease,visibility .24s}.nav.open{max-height:min(70vh,520px);opacity:1;visibility:visible;transform:none;padding:12px 0;border-top-width:1px;overflow:auto}.nav a{padding:10px;opacity:0;transform:translateY(-4px);transition:opacity .22s ease,transform .22s ease,color .15s ease,background .15s ease}.nav.open a{opacity:1;transform:none}.nav.open a:nth-child(1){transition-delay:.02s}.nav.open a:nth-child(2){transition-delay:.04s}.nav.open a:nth-child(3){transition-delay:.06s}.nav.open a:nth-child(4){transition-delay:.08s}.nav.open a:nth-child(5){transition-delay:.1s}.nav.open a:nth-child(6){transition-delay:.12s}.nav.open a:nth-child(7){transition-delay:.14s}.nav.open a:nth-child(8){transition-delay:.16s}.nav.open a:nth-child(9){transition-delay:.18s}.nav.open a:nth-child(10){transition-delay:.2s}.hero{grid-template-columns:1fr;padding:38px 0;gap:28px}.hero h1{font-size:37px;margin-top:16px}.hero p{font-size:14px}.visual{min-height:0;padding:32px;max-width:550px;width:100%;margin:auto}.tiles{gap:10px;max-width:360px;margin:10px auto 30px}.tile{font-size:50px}.topics{grid-template-columns:1fr 1fr;gap:20px}.cards{grid-template-columns:1fr 1fr}.section{padding:43px 0}.section-head h2{font-size:28px}.section-head{align-items:start}.callout{flex-direction:column;align-items:start;padding:30px;gap:25px}.callout h2{font-size:25px}.footer-top{gap:28px;grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:7px}.article-layout{grid-template-columns:1fr}.two-col,.three-col{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}.filters .field:first-child{grid-column:1/-1}.auth{grid-template-columns:1fr;gap:25px;margin:25px 0}.auth-art{display:none}.auth-form{max-width:500px;width:100%;margin:auto}.dashboard{grid-template-columns:1fr;gap:20px}.sidebar{position:static;padding:12px;display:flex;overflow:auto;gap:5px}.sidebar a{white-space:nowrap}.sidebar h3{display:none}.paper-row{align-items:start;flex-direction:column;gap:10px}.paper-row .actions{margin:8px 0;flex-wrap:wrap}.stats{gap:10px}.stat{padding:15px}.stat strong{font-size:28px}.stat small{font-size:10px}.wizard-steps{gap:7px}.wizard-steps li{font-size:10px}.form-card{padding:20px}.page-head{padding-top:30px}.page-head h1{font-size:34px}}
@media(max-width:520px){.cards{grid-template-columns:1fr}.card-art{height:190px}.hero h1{font-size:31px}[dir=ltr] .hero h1{font-size:36px}.topic .mark{width:33px;height:33px;font-size:18px}.topic strong{font-size:11px}.topic small{font-size:9px}.header-actions{gap:8px}.brand{gap:0;max-width:none}.brand.brand-logo-only img,.brand img{width:48px;height:48px;object-fit:contain}.brand strong{font-size:14px}.section-head .text-link{font-size:11px;white-space:nowrap}.section-head h2{font-size:28px}.filters{grid-template-columns:1fr}.filters .field:first-child{grid-column:auto}.page-head h1{font-size:30px}.success{padding:30px 20px}.stats{grid-template-columns:1fr}.stat{display:flex;align-items:center;justify-content:space-between}.stat strong{font-size:26px}.review-scale{gap:14px}.footer-top{gap:24px}.actions .btn{flex-grow:1}.hero-note{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

.account-menu{position:relative;display:block;flex-shrink:0}
.account-toggle{display:inline-flex;align-items:center;gap:8px;background:transparent;border:0;padding:4px 6px;margin:0;max-width:200px;color:var(--green);font-size:13px;font-weight:600;line-height:1.4;border-radius:999px}
.account-toggle:hover{opacity:.82;background:rgba(0,83,61,.06)}
.account-avatar{display:grid;width:28px;height:28px;place-items:center;background:rgba(0,83,61,.08);border:1px solid rgba(0,83,61,.14);border-radius:999px;color:var(--green);line-height:0;flex-shrink:0}
.account-avatar svg{display:block;width:18px;height:18px}
.account-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}
.account-caret{width:7px;height:7px;border-inline-end:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px;flex-shrink:0;opacity:.75;transition:transform .18s ease,margin .18s ease,opacity .18s ease}
.account-toggle[aria-expanded="true"] .account-caret{transform:rotate(225deg);margin-top:2px;opacity:1}
.account-panel{position:absolute;top:calc(100% + 12px);inset-inline-end:0;min-width:220px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 40px #183c3014;padding:8px;z-index:98;display:flex;flex-direction:column;gap:2px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px) scale(.98);transform-origin:top var(--panel-origin, end);transition:opacity .2s ease,transform .22s ease,visibility .22s}
.account-panel.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.account-panel-head{padding:10px 12px 8px;margin-bottom:2px;border-bottom:1px solid var(--line);color:var(--ink);font-size:12px;font-weight:700;line-height:1.5}
.account-panel a,.account-panel button{display:block;width:100%;text-align:start;padding:10px 12px;border-radius:8px;background:none;color:var(--ink);font-size:13px;font-weight:500;border:0;transition:background .15s ease,color .15s ease}
.account-panel a:hover,.account-panel button:hover{background:var(--soft);color:var(--green)}
.account-panel form{margin:0}
.nav form.mobile-only,.nav form.nav-lang{margin:0}
@media(max-width:850px){
  .nav form.mobile-only,.nav form.nav-lang{opacity:0;transform:translateY(-4px);transition:opacity .22s ease,transform .22s ease}
  .nav.open form.mobile-only,.nav.open form.nav-lang{opacity:1;transform:none;transition-delay:.18s}
  .nav .nav-lang{width:100%;border-top:1px solid var(--line);margin-top:6px;padding-top:6px}
  .nav .nav-lang .lang-menu-item{width:100%;justify-content:flex-start;padding:10px;font-size:13px}
}
@media(max-width:850px){
  .header-actions{gap:12px;align-items:center}
  .header-actions>.header-cta{display:none}
  .header-actions>.header-login{display:inline-flex;padding:7px 14px;font-size:12px}
  .account-menu{display:block}
  .account-toggle{max-width:none;padding:0;gap:0;color:var(--green);width:36px;height:36px;justify-content:center;border-radius:999px}
  .account-avatar{display:grid;width:36px;height:36px;border:0;background:transparent}
  .account-avatar svg{width:24px;height:24px}
  .account-name,.account-caret{display:none}
  .account-panel{min-width:210px;inset-inline-end:0;top:calc(100% + 8px);z-index:98}
  .menu-toggle{width:28px;height:28px;display:inline-grid;place-items:center;padding:0;background:transparent}
  .menu-toggle svg{display:block;width:28px;height:28px}
}

/* Global motion */
a,button,.btn,.text-link,.topic,.card,.lang,.menu-toggle,.account-toggle,.card-bottom button{
  transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease,opacity .18s ease,box-shadow .18s ease,filter .18s ease;
}
.btn:active,.menu-toggle:active,.lang:active,.account-toggle:active{transform:scale(.97)}
.menu-toggle{transition:transform .18s ease,color .18s ease,opacity .18s ease}
.menu-toggle[aria-expanded="true"]{background:transparent;color:var(--green);opacity:.7}
.nav a,.nav .nav-toggle{transition:color .15s ease,background .15s ease}
.nav .nav-toggle{color:inherit}
.nav .nav-toggle.active,.nav-item.active>.nav-toggle{color:var(--green)}
.topic:hover{transform:translateY(-2px)}
.card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.card:hover{transform:translateY(-3px);box-shadow:0 14px 30px #183c300c}
.card-bottom button{transition:transform .15s ease,color .15s ease,opacity .15s ease}
.card-bottom button:hover{transform:scale(1.12)}
.card-bottom button.is-busy{opacity:.45;pointer-events:none}
.faq-question{transition:color .18s ease}
.faq-question span{display:inline-grid;place-items:center;width:24px;transition:transform .22s ease,color .18s ease}
.faq-question[aria-expanded="true"] span{transform:rotate(180deg);color:var(--green)}
.faq-answer{max-height:0;opacity:0;overflow:hidden;padding-bottom:0!important;margin:0;transition:max-height .3s ease,opacity .22s ease,padding .22s ease}
.faq-answer.is-open{max-height:320px;opacity:1;padding-bottom:22px!important}
.toast{transition:opacity .2s ease,transform .2s ease}
.site-header{transition:box-shadow .2s ease,background .2s ease}

@media(prefers-reduced-motion:reduce){
  .nav,.nav a,.nav form.mobile-only,.account-panel,.account-caret,.faq-answer,.faq-question span,.card,.topic,.btn,.lang,.menu-toggle{transition:none!important;animation:none!important}
  .nav{transform:none}
  .nav:not(.open){display:none}
  .nav.open{display:flex;max-height:none;opacity:1;visibility:visible}
  .account-panel{transform:none}
  .account-panel:not(.is-open){display:none}
  .faq-answer:not(.is-open){display:none}
  .faq-answer.is-open{display:block;opacity:1}
}

.steps-section{padding-top:28px}
.steps-track{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.step-card{position:relative;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:24px 22px 22px;min-width:0;transition:border-color .15s,transform .15s,box-shadow .15s}
.step-card:hover{border-color:#b7d4b8;transform:translateY(-3px);box-shadow:0 14px 34px #183c300d}
.step-index{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.step-num{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--green);font-weight:700;font-size:14px}
.step-mark{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#edf5e9;color:var(--green);font-size:18px;border:1px solid #dce8d8}
.step-card h3{font-size:18px;margin:0 0 8px;line-height:1.7}
.step-card p{font-size:14px;margin:0;line-height:1.9}
.step-connector{display:none}
.steps-actions{margin-top:28px}
@media(min-width:901px){
  .steps-track{gap:0}
  .step-card{margin-inline:9px}
  .step-card:first-child{margin-inline-start:0}
  .step-card:last-child{margin-inline-end:0}
  .step-connector{display:block;position:absolute;top:40px;inset-inline-end:-18px;width:18px;height:2px;background:linear-gradient(90deg,#cfe3cf,#91c840)}
  [dir=ltr] .step-connector{background:linear-gradient(90deg,#91c840,#cfe3cf)}
}
@media(max-width:900px){
  .steps-track{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .steps-track{grid-template-columns:1fr}
  .step-card{padding:20px}
}

.filters{grid-template-columns:2fr 1fr 1fr auto}
.filters-actions .actions{flex-wrap:nowrap}
.filters-toolbar{display:none;margin-bottom:18px}
.filters-trigger{display:inline-flex;align-items:center;gap:8px;width:100%;justify-content:center}
.filters-trigger-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--green);color:#fff;font-size:11px;font-weight:700;line-height:1}
.filters-sheet-backdrop,.filters-sheet-head{display:none}
@media(max-width:850px){
  .filters-toolbar{display:block}
  .filters-sheet{position:fixed;inset:0;z-index:120;visibility:hidden;pointer-events:none}
  .filters-sheet.is-open{visibility:visible;pointer-events:auto}
  .filters-sheet-backdrop{display:block;position:absolute;inset:0;background:#183c3066;opacity:0;transition:opacity .28s ease}
  .filters-sheet.is-open .filters-sheet-backdrop{opacity:1}
  .filters-sheet-panel{position:absolute;inset-inline:0;bottom:0;max-height:min(88vh,640px);overflow:auto;background:#fff;border-radius:22px 22px 0 0;padding:8px 18px 22px;box-shadow:0 -16px 40px #183c3020;transform:translateY(104%);transition:transform .32s cubic-bezier(.22,1,.36,1);-webkit-overflow-scrolling:touch}
  .filters-sheet.is-open .filters-sheet-panel{transform:none}
  .filters-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 2px 14px;position:sticky;top:0;background:#fff;z-index:1}
  .filters-sheet-head:before{content:'';position:absolute;top:6px;left:50%;transform:translateX(-50%);width:42px;height:4px;border-radius:999px;background:#d5e2d4}
  .filters-sheet-head h2{margin:14px 0 0;font-size:17px}
  .filters-sheet-close{width:36px;height:36px;margin-top:10px;border-radius:10px;background:var(--soft);color:var(--ink);font-size:22px;line-height:1;display:inline-grid;place-items:center}
  .filters-sheet .filters{display:grid;grid-template-columns:1fr;gap:14px;padding:4px 0 8px;background:transparent;border-radius:0}
  .filters-sheet .filters-actions{grid-column:auto}
  .filters-sheet .filters-actions-spacer{display:none}
  .filters-sheet .filters-actions .actions{flex-wrap:wrap}
  .filters-sheet .filters-actions .btn{flex:1 1 auto}
  body.filters-open{overflow:hidden}
}
@media(min-width:851px){
  .filters-toolbar{display:none!important}
  .filters-sheet{display:contents}
  .filters-sheet-panel{display:contents}
}
@media(max-width:850px){.filters{grid-template-columns:1fr 1fr}.filters-actions{grid-column:1/-1}.auth-grid{grid-template-columns:1fr}}
@media(max-width:520px){.filters{grid-template-columns:1fr}}

.article-hero{margin:0 0 36px;border-radius:22px;overflow:hidden;background:#edf4e6;min-height:280px}
.article-hero img{display:block;width:100%;height:min(420px,52vw);object-fit:cover}
.article-hero--fallback{display:flex;align-items:center;justify-content:center;padding:40px}
.article-hero--fallback .card-art{width:100%;max-width:520px;height:180px;margin:0}
.article-side-image{width:100%;height:140px;object-fit:cover;border-radius:12px;margin-bottom:14px}
.article-aside{align-self:start;position:sticky;top:112px;z-index:5}
.article-panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:22px 20px;box-shadow:0 10px 28px #183c3008}
.article-panel h3{margin:0 0 16px;font-size:16px;color:var(--ink)}
.article-meta{margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line)}
.article-meta-row{display:grid;grid-template-columns:88px 1fr;gap:10px;align-items:start;padding:11px 0;border-bottom:1px solid var(--line)}
.article-meta-row dt{margin:0;font-size:11px;font-weight:600;color:var(--muted);line-height:1.7}
.article-meta-row dd{margin:0;font-size:13px;font-weight:600;color:var(--ink);line-height:1.7;word-break:break-word}
.article-panel-actions{display:flex;flex-direction:column;gap:10px}
.article-panel-primary{width:100%}
.article-bookmark{width:100%;justify-content:center;gap:8px}
.article-bookmark.is-saved{background:#edf5e9;border-color:#cfe3cf;color:var(--green)}
.article-bookmark-icon{font-size:15px;line-height:1}
.article-library-link{display:inline-flex;align-self:center;margin-top:4px;font-size:12px}
@media(max-width:850px){
  .article-aside{position:static;top:auto}
  .article-panel{box-shadow:none}
  .article-meta-row{grid-template-columns:76px 1fr}
}
.card-art--photo{padding:0;background:#dfead6;position:relative}
.card-art--photo picture,.card-art--photo .media-img,.card-art--photo img{width:100%;height:100%;min-height:220px;object-fit:cover;display:block}
.gallery-media-frame{position:absolute;inset:0;width:100%;height:100%}
.gallery-media-frame picture,.gallery-media-frame img,.gallery-photo{width:100%;height:100%;object-fit:cover;display:block}
.article-hero-frame{width:100%;border-radius:18px;overflow:hidden;min-height:240px;background:#dfead6}
.article-hero-frame picture,.article-hero-frame img,.article-hero-img{width:100%;max-height:480px;object-fit:cover;display:block}
.media-frame{position:relative;overflow:hidden}
.media-frame>picture{display:block;width:100%;height:100%}
.media-skeleton{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#e7efe4 0%,#f4f8f1 45%,#e7efe4 90%);background-size:200% 100%;animation:mediaShimmer 1.1s ease-in-out infinite;transition:opacity .28s ease}
.media-frame.is-loaded .media-skeleton{opacity:0;pointer-events:none;animation:none}
.media-frame img{opacity:0;transform:scale(1.02);transition:opacity .35s ease,transform .45s cubic-bezier(.16,1,.3,1)}
.media-frame.is-loaded img{opacity:1;transform:none}
@keyframes mediaShimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}
@media(prefers-reduced-motion:reduce){
  .media-skeleton{animation:none}
  .media-frame img{transition:none;transform:none}
}
.visual--photo{padding:0;overflow:hidden;min-height:320px;display:flex;flex-direction:column;justify-content:flex-end}
.visual-photo{width:100%;height:100%;min-height:320px;object-fit:cover;display:block;flex:1}
.visual--photo .visual-caption{position:absolute;inset-inline:18px;bottom:18px;z-index:1;background:rgba(255,255,255,.88);backdrop-filter:blur(6px);padding:10px 14px;border-radius:12px;width:auto;max-width:calc(100% - 36px)}
.visual.visual--photo{position:relative}

/* Info / About page motion */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .6s cubic-bezier(.22,1,.36,1);transition-delay:var(--delay,0ms)}
.reveal.is-in{opacity:1;transform:none}
.page-about .page-head h1{position:relative}
.page-about .page-head.is-in h1{animation:aboutTitle .7s cubic-bezier(.22,1,.36,1) both}
.about-stage{position:relative;margin:8px 0 48px}
.about-stage-frame{position:relative;overflow:hidden;border-radius:26px;background:#edf4e6;padding:44px 48px;min-height:340px}
.about-stage-frame:before{content:'';position:absolute;inset:18px;border:1px solid #d8e6ce;border-radius:16px;pointer-events:none;z-index:2}
.about-stage-grid{position:absolute;inset:0;background-image:linear-gradient(#d8e6ce33 1px,transparent 1px),linear-gradient(90deg,#d8e6ce33 1px,transparent 1px);background-size:28px 28px;mask-image:radial-gradient(ellipse 70% 65% at 50% 45%,#000 20%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 70% 65% at 50% 45%,#000 20%,transparent 75%);pointer-events:none}
.about-stage-body{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;min-height:260px}
.about-stage-photo{border-radius:20px;overflow:hidden;max-width:340px;aspect-ratio:1;box-shadow:0 10px 28px #08704422}
.about-stage-photo img{width:100%;height:100%;object-fit:cover;display:block}
.about-tiles{direction:ltr;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;transform:rotate(-5deg);margin:8px 0 0;max-width:340px}
.about-tiles .tile{aspect-ratio:1;border-radius:20px;display:grid;place-items:center;background:var(--green);color:#fff;font:65px/1 Arial;box-shadow:0 10px 28px #08704422;opacity:0;transform:translateY(16px) scale(.9);transition:opacity .45s cubic-bezier(.22,1,.36,1),transform .45s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--i,0) * .07s)}
.about-tiles .tile:nth-child(2),.about-tiles .tile:nth-child(4){background:var(--bright)}
.about-tiles .tile:nth-child(3){background:var(--lime);color:var(--green)}
.about-tiles .tile:nth-child(5){background:#cee6a8;color:var(--green)}
.about-tiles .tile:nth-child(6){background:#fff;color:var(--green)}
.about-stage.is-in .about-tiles .tile{opacity:1;transform:none;animation:aboutTileFloat 5.5s ease-in-out infinite;animation-delay:calc(.5s + var(--i,0) * .35s)}
.about-stage-copy{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding-inline:8px}
.about-stage-lead{margin:0;color:var(--ink);font-size:28px;font-weight:700;line-height:1.55;letter-spacing:-.4px;max-width:18ch}
.about-stage-pills{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.about-stage-pills li{background:#fff;border:1px solid #d8e6ce;color:var(--green);font-size:12px;font-weight:600;padding:7px 14px;border-radius:999px;box-shadow:0 6px 16px #183c3008}
.about-stage-caption{margin-top:8px;position:relative}
.about-grid .reveal-card{position:relative;overflow:hidden}
.about-grid .reveal-card.is-in{animation:aboutCardIn .65s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--delay,0ms)}
.about-card-glow{position:absolute;inset:auto -20% -40% auto;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,#91c84055,transparent 70%);opacity:0;transition:opacity .35s ease;pointer-events:none}
.about-grid .card:hover .about-card-glow{opacity:1}
.about-grid .feature-num{transition:transform .35s ease,color .25s ease}
.about-grid .card:hover .feature-num{transform:translateY(-4px) scale(1.05);color:var(--green)}
.about-cta{margin:48px 0 10px}
.about-cta .callout{animation:none}
.page-about .about-cta.is-in .callout{animation:aboutCallout .7s cubic-bezier(.22,1,.36,1) both}
@keyframes aboutTileFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-7px)}
}
@keyframes aboutTitle{
  from{opacity:0;transform:translateY(16px) clip-path:inset(0 0 100% 0)}
  to{opacity:1;transform:none;clip-path:inset(0 0 0 0)}
}
@keyframes aboutCardIn{
  from{opacity:0;transform:translateY(28px) scale(.96)}
  to{opacity:1;transform:none}
}
@keyframes aboutCallout{
  from{opacity:0;transform:translateY(18px) scale(.985)}
  to{opacity:1;transform:none}
}
@media(max-width:850px){
  .about-stage-frame{padding:32px 28px;min-height:0}
  .about-stage-body{grid-template-columns:1fr;gap:28px;justify-items:center;text-align:center}
  .about-stage-copy{align-items:center;padding:0}
  .about-stage-lead{font-size:22px;text-align:center}
  .about-stage-pills{justify-content:center}
  .about-tiles{margin:0 auto;max-width:280px}
  .about-tiles .tile{font-size:48px}
  .about-stage-caption{margin-inline:auto}
}
@media(prefers-reduced-motion:reduce){
  .reveal,.about-tiles .tile,.page-about .page-head.is-in h1,.about-grid .reveal-card.is-in,.page-about .about-cta.is-in .callout{animation:none!important;transition:none!important;opacity:1!important;transform:none!important}
  .about-stage .about-tiles .tile{opacity:1;transform:none}
}

/* Festival roadmap */
.roadmap{margin:48px 0 0;padding:48px 0 56px;background:linear-gradient(180deg,#0b3d2e 0%,#0f4d39 45%,#0a3428 100%);color:#e8f6ee;border-top:1px solid #1c6b52}
.roadmap .eyebrow{color:#9be0bc}
.roadmap h2{margin:8px 0 6px;color:#fff;font-size:clamp(22px,2.4vw,32px);line-height:1.55;max-width:28ch}
.roadmap-slogan{margin:0;color:#b7e6cb;font-size:14px}
.roadmap-head{margin-bottom:28px}
.roadmap-poster{margin:0;border-radius:18px;overflow:hidden;border:1px solid #2a7a5c;box-shadow:0 18px 48px #00000055;background:#06261c}
.roadmap-poster a{display:block}
.roadmap-poster img{width:100%;height:auto;display:block;vertical-align:middle}
.roadmap-track{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}
.roadmap-step{display:flex;flex-direction:column;gap:10px;min-width:0}
.roadmap-index{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#16a34a;color:#fff;font-weight:700;font-size:13px;box-shadow:0 0 0 4px #16a34a33}
.roadmap-card{background:rgba(255,255,255,.06);border:1px solid #2f8f6b;border-radius:14px;padding:14px;min-height:110px;display:flex;flex-direction:column;gap:6px}
.roadmap-card strong{font-size:14px;line-height:1.6;color:#fff}
.roadmap-card small{color:#9ad4b5;font-size:12px}
.roadmap-badge{display:inline-flex;align-self:flex-start;margin-top:auto;font-style:normal;font-size:11px;font-weight:700;padding:4px 8px;border-radius:999px;background:#16a34a;color:#fff}
.roadmap-badge.is-live{background:#f59e0b;color:#1a1a1a}
.roadmap-step.is-upcoming .roadmap-index{background:#275c48}
.roadmap-step.is-upcoming .roadmap-card{opacity:.85}
.roadmap-step.is-finish .roadmap-card{align-items:center;justify-content:center;min-height:110px}
@media(max-width:850px){
  .roadmap{padding:36px 0 44px}
  .roadmap-track{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .roadmap-track{grid-template-columns:1fr}
}

/* Gallery + nav submenu */
.nav-item{position:relative;display:flex;align-items:center}
.nav-item .nav-toggle{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer}
.nav-caret{width:0;height:0;border-inline-start:4px solid transparent;border-inline-end:4px solid transparent;border-top:5px solid currentColor;opacity:.7;transition:transform .22s ease,opacity .22s ease}
.nav-sub{position:absolute;top:calc(100% + 10px);inset-inline-start:0;min-width:180px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 34px #183c3014;display:flex;flex-direction:column;gap:2px;z-index:100}
.nav-sub[hidden]{display:none!important}
.nav-sub a{padding:8px 12px;border-radius:8px;white-space:nowrap}
.nav-sub a:hover,.nav-sub a.active{background:#edf7ef;color:var(--green)}

/* Desktop header: open submenu on hover, aligned under the parent item */
@media (min-width:1281px){
  .site-header,
  .site-header > .wrap,
  .header-row,
  .nav,
  .nav-item.has-sub{
    overflow:visible !important;
  }
  .nav-item.has-sub{
    align-items:center;
  }
  /* Invisible bridge so mouse can move from title → panel without closing */
  .nav-item.has-sub::after{
    content:'';
    position:absolute;
    inset-inline:0;
    top:100%;
    height:14px;
    z-index:119;
  }
  .nav-item.has-sub .nav-toggle{
    padding:8px 2px;
  }
  .nav-item.has-sub .nav-sub,
  .nav-item.has-sub .nav-sub[hidden]{
    display:flex !important;
    top:calc(100% + 6px);
    /* Sit under the hovered item (RTL/LTR), not centered with translateX(-50%) */
    inset-inline-start:0;
    inset-inline-end:auto;
    min-width:max(100%,220px);
    width:max-content;
    max-width:min(320px,70vw);
    margin:0;
    padding:10px;
    gap:4px;
    border:0;
    border-radius:16px;
    background:transparent;
    box-shadow:none;
    z-index:120;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(6px) scale(.98);
    transform-origin:top var(--nav-sub-origin, right);
    transition:opacity .2s ease,transform .24s cubic-bezier(.16,1,.3,1),visibility .2s ease;
  }
  [dir=ltr] .nav-item.has-sub .nav-sub,
  [dir=ltr] .nav-item.has-sub .nav-sub[hidden]{
    transform-origin:top left;
  }
  .nav-item.has-sub .nav-sub::before{
    content:'';
    position:absolute;
    inset:0;
    border-radius:16px;
    background:rgba(255,255,255,.98);
    border:1px solid rgba(223,232,223,.95);
    box-shadow:0 18px 50px rgba(24,60,48,.14),0 2px 10px rgba(24,60,48,.05);
    backdrop-filter:saturate(140%) blur(8px);
    -webkit-backdrop-filter:saturate(140%) blur(8px);
    z-index:-1;
  }
  .nav-item.has-sub .nav-sub a,
  .nav-item.has-sub .nav-sub button{
    position:relative;
    z-index:1;
    padding:10px 14px;
    border-radius:10px;
    font-size:13px;
    font-weight:600;
    color:var(--ink);
    transition:background .18s ease,color .18s ease,transform .18s ease;
  }
  .nav-item.has-sub .nav-sub a:hover,
  .nav-item.has-sub .nav-sub a.active,
  .nav-item.has-sub .nav-sub button:hover{
    background:rgba(237,247,239,.95);
    color:var(--green);
    transform:translateX(-2px);
  }
  [dir=ltr] .nav-item.has-sub .nav-sub a:hover,
  [dir=ltr] .nav-item.has-sub .nav-sub a.active,
  [dir=ltr] .nav-item.has-sub .nav-sub button:hover{
    transform:translateX(2px);
  }
  .nav-item.has-sub:hover .nav-sub,
  .nav-item.has-sub:focus-within .nav-sub,
  .nav-item.has-sub.is-open .nav-sub{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0) scale(1);
  }
  .nav-item.has-sub:hover .nav-toggle,
  .nav-item.has-sub:focus-within .nav-toggle{
    color:var(--green);
  }
  .nav-item.has-sub:hover .nav-caret,
  .nav-item.has-sub:focus-within .nav-caret,
  .nav-item.has-sub.is-open .nav-caret{
    transform:rotate(180deg);
    opacity:1;
  }
}
.gallery-tabs{display:flex;gap:10px;margin:0 0 28px;flex-wrap:wrap}
.gallery-tab{padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:13px;font-weight:700}
.gallery-tab.is-active{background:var(--green);border-color:var(--green);color:#fff}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;margin-bottom:48px}
.gallery-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;text-align:start;padding:0;color:inherit;box-shadow:0 8px 22px #183c3008;transition:transform .2s ease,box-shadow .2s ease}
.gallery-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px #183c300c}
.gallery-card-media{position:relative;aspect-ratio:16/10;background:#dfead6;overflow:hidden}
.gallery-card-media img{width:100%;height:100%;object-fit:cover;display:block}
.gallery-card-fallback{width:100%;height:100%;background:linear-gradient(135deg,#cfe6d4,#9bc7aa)}
.gallery-play{position:absolute;inset:auto auto 12px 12px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(8,112,68,.92);color:#fff;font-size:14px;box-shadow:0 8px 18px #0003}
[dir=ltr] .gallery-play{inset:auto 12px 12px auto}
.gallery-card-body{padding:14px 16px 16px}
.gallery-card-body h3{margin:0;font-size:17px;line-height:1.7}
.gallery-card-body small{color:#5f7468}
.gallery-lightbox{position:fixed;inset:0;z-index:140;display:grid;place-items:center;padding:clamp(10px,2.5vw,24px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease,visibility .28s ease}
.gallery-lightbox.is-open{opacity:1;visibility:visible;pointer-events:auto}
.gallery-lightbox.is-closing{opacity:0;visibility:visible;pointer-events:none}
.gallery-lightbox-backdrop{position:absolute;inset:0;background:rgba(2,14,10,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.gallery-lightbox-panel{position:relative;z-index:1;width:min(1180px,100%);max-height:94vh;display:flex;flex-direction:column;gap:12px;transform:translateY(22px) scale(.94);opacity:0;transition:transform .36s cubic-bezier(.16,1,.3,1),opacity .3s ease}
.gallery-lightbox.is-open .gallery-lightbox-panel{transform:none;opacity:1}
.gallery-lightbox.is-closing .gallery-lightbox-panel{transform:translateY(10px) scale(.97);opacity:0}
.gallery-lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:0 4px}
.gallery-lightbox-counter{margin:0;color:#d7ebe0;font-size:13px;font-weight:700;letter-spacing:.02em}
.gallery-lightbox-stage{position:relative;background:transparent;border-radius:16px;overflow:hidden;min-height:120px;width:100%;display:grid;place-items:center}
.gallery-lightbox-stage.is-image{min-height:min(58vh,480px)}
.gallery-lightbox-stage.is-video{aspect-ratio:16/9;min-height:0;width:100%;background:#04150f;border-radius:16px;box-shadow:0 24px 60px #0008}
.gallery-lightbox-loader{position:absolute;z-index:1;width:44px;height:44px;border-radius:50%;border:3px solid #ffffff33;border-top-color:#91c840;opacity:0;pointer-events:none;transition:opacity .2s ease}
.gallery-lightbox-loader.is-on{opacity:1;animation:gallerySpin .7s linear infinite}
.gallery-lightbox-image,.gallery-lightbox-video{max-width:100%;max-height:min(82vh,860px);width:auto;height:auto;display:none;opacity:0;transform:scale(.92);filter:blur(6px);border-radius:12px;box-shadow:0 28px 70px #0009;transition:opacity .38s ease,transform .42s cubic-bezier(.16,1,.3,1),filter .38s ease}
.gallery-lightbox-image.is-ready,.gallery-lightbox-video.is-ready{opacity:1;transform:scale(1);filter:blur(0)}
.gallery-lightbox-frame{width:100%;height:100%;min-height:280px;border:0;display:none;background:#000;border-radius:16px}
.gallery-lightbox-caption{margin:0;color:#fff;text-align:center;font-size:14px;line-height:1.7;min-height:1.7em;text-shadow:0 1px 8px #0008}
.gallery-lightbox-close,.gallery-lightbox-nav{background:rgba(255,255,255,.14);color:#fff;border:0;border-radius:999px;width:46px;height:46px;font-size:28px;line-height:1;display:grid;place-items:center;backdrop-filter:blur(6px);cursor:pointer;transition:background .15s ease,transform .15s ease}
.gallery-lightbox-close:hover,.gallery-lightbox-nav:hover{background:rgba(255,255,255,.28);transform:scale(1.06)}
.gallery-lightbox-close{flex-shrink:0}
.gallery-lightbox-nav{position:fixed;top:50%;transform:translateY(-50%);z-index:3}
.gallery-lightbox-nav.is-prev{inset-inline-start:max(10px,calc(50% - 620px))}
.gallery-lightbox-nav.is-next{inset-inline-end:max(10px,calc(50% - 620px))}
.gallery-lightbox-nav:hover{transform:translateY(-50%) scale(1.06)}
.gallery-lightbox-nav.is-hidden{opacity:0;pointer-events:none}
body.gallery-open{overflow:hidden}
@keyframes gallerySpin{to{transform:rotate(360deg)}}
@media(max-width:850px){
  .nav-item{flex-direction:column;align-items:stretch;width:100%}
  .nav-item .nav-toggle{width:100%;justify-content:space-between;padding:10px}
  .nav-sub{position:static;box-shadow:none;border:0;padding:0 0 8px 12px;min-width:0;background:transparent}
  .nav.open .nav-item .nav-toggle,.nav.open .nav-sub a{opacity:1;transform:none}
  .gallery-lightbox{padding:8px}
  .gallery-lightbox-stage.is-image{min-height:36vh}
  .gallery-lightbox-image,.gallery-lightbox-video{max-height:72vh;border-radius:10px}
  .gallery-lightbox-nav{width:40px;height:40px;font-size:24px}
  .gallery-lightbox-nav.is-prev{inset-inline-start:6px}
  .gallery-lightbox-nav.is-next{inset-inline-end:6px}
}
@media(prefers-reduced-motion:reduce){
  .gallery-lightbox,.gallery-lightbox-panel,.gallery-lightbox-image,.gallery-lightbox-video{transition:none!important}
  .gallery-lightbox-image,.gallery-lightbox-video{filter:none!important;transform:none!important}
  .gallery-lightbox-loader.is-on{animation:none!important}
}

/* Partners / foundation logos */
.partners{padding:72px 0 36px;margin-top:48px;border-top:1px solid var(--line);background:#f7faf6}
.partners-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:28px 36px}
.partners-item{display:grid;place-items:center;min-height:100px;padding:8px 10px;border-radius:12px;transition:transform .18s ease,opacity .18s ease}
.partners-item:hover{transform:translateY(-2px);opacity:.92}
.partners-item img{height:100px;width:auto;max-width:180px;object-fit:contain;display:block}
@media(max-width:850px){
  .partners{padding:52px 0 28px;margin-top:32px}
  .partners-row{gap:18px 20px}
  .partners-item img{height:72px;max-width:140px}
}
@media(max-width:520px){
  .partners-item img{height:60px;max-width:120px}
}

/* Page-builder content template */
.page-content-wrap{padding-bottom:40px}
.page-content{max-width:none;width:100%;margin:0;display:flex;flex-direction:column;gap:26px}
.page-content-figure{margin:0 auto}
.page-content-figure.is-full{width:100%}
.page-content-figure.is-large{width:min(100%,920px)}
.page-content-figure.is-medium{width:min(100%,640px)}
.page-content-figure.is-small{width:min(100%,420px)}
.page-content-media{border-radius:16px;overflow:hidden;min-height:220px;background:#dfead6}
.page-content-media img,.page-content-photo{width:100%;max-height:520px;object-fit:cover;display:block;border-radius:16px}
.page-content-video-wrap{width:100%}
.page-content-video{width:100%;max-height:520px;border-radius:16px;background:#04150f;display:block}
.page-content-embed{position:relative;width:100%;padding-top:56.25%;border-radius:16px;overflow:hidden;background:#04150f}
.page-content-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.page-content-figure figcaption{margin-top:8px;color:var(--muted);font-size:15px;text-align:center}
.page-content-heading{margin:8px 0 0;font-size:28px;color:var(--green);line-height:1.5;letter-spacing:.01em}
.page-content-block h3,.page-content-list h3{margin:0 0 8px;font-size:22px;color:var(--green);line-height:1.55;letter-spacing:.01em}
.page-content-prose{margin:0;font-size:20px;line-height:2.15;letter-spacing:0;word-spacing:.03em;color:var(--ink);text-align:justify}
.page-content-list ul{margin:0;padding-inline-start:1.3em;display:grid;gap:6px}
.page-content-list li{line-height:1.9}
.page-content-callout{background:#edf7ef;border:1px solid #cfe6d4;border-radius:14px;padding:16px 18px;color:#0b5c3a}
.page-content-callout strong{display:block;margin-bottom:6px}
.page-content-callout p{margin:0;font-weight:600;line-height:1.9}
.page-content-cta{margin-top:8px;display:flex;flex-wrap:wrap;gap:10px}

/* News / studies list + detail  matched to segap.ir/news sample */
.news-card .news-card-excerpt{min-height:4.8em;color:var(--muted);font-size:15px;line-height:1.9;margin:0 0 12px}
.news-card-media-link{display:block;text-decoration:none}
.news-card .card-bottom{margin-top:auto}
.news-card .btn.small{padding:8px 14px;font-size:12px}
.news-show{padding:48px 0 56px;width:100%}
.news-show-back{display:inline-block;margin-bottom:14px}
.news-show-title{margin:8px 0 10px;font-size:35px;font-weight:600;line-height:1.45;letter-spacing:.01em;color:var(--ink)}
.news-show-meta{margin:0 0 8px;color:var(--muted);font-size:15px;line-height:1.7}
.news-show-hero{margin:30px auto;padding-inline:clamp(0px,6vw,100px);text-align:center}
.news-show-hero-frame{border-radius:20px;overflow:hidden;background:#dfead6;display:inline-block;width:100%;max-width:100%}
.news-show-hero-frame img,.news-show-hero-img{width:100%;max-height:560px;object-fit:cover;display:block;border-radius:20px}
.news-show-body,.news-body,.news-show .article-body{
  text-align:justify;
  font-size:18px!important;
  line-height:50px!important;
  letter-spacing:0;
  word-spacing:.02em;
  color:var(--ink);
  width:100%;
  max-width:none;
}
.news-show-body p,.news-body p,.news-show .article-body p{margin:0 0 8px;font-size:18px!important;line-height:50px!important}
.news-body img,.news-show-body img,.news-show .article-body img{max-width:100%;height:auto;border-radius:20px;margin:20px auto;display:block}
.news-body h2,.news-body h3,.news-body h4,.news-body strong,
.news-show-body h2,.news-show-body h3,.news-show-body h4{color:var(--ink);line-height:1.55}
.news-body ul,.news-body ol,.news-show-body ul,.news-show-body ol{margin:0 0 16px;padding-inline-start:1.4em;line-height:50px}
.news-body a,.news-show-body a{color:var(--green);text-decoration:underline}
.news-show-body figure.table,
.news-body figure.table,
.article-body figure.table,
.prose figure.table{
  display:block;
  margin:28px 0;
  padding:0;
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--soft);
}
.news-show-body figure.table + figure.table,
.news-body figure.table + figure.table{margin-top:18px}
.news-show-body table,
.news-body table,
.article-body table,
.prose table{
  width:100%;
  min-width:280px;
  margin:0;
  border-collapse:collapse;
  table-layout:fixed;
  background:var(--white);
  font-size:16px!important;
  line-height:1.7!important;
  letter-spacing:0;
  word-spacing:normal;
  text-align:right;
}
.news-show-body table th,
.news-show-body table td,
.news-body table th,
.news-body table td,
.article-body table th,
.article-body table td,
.prose table th,
.prose table td{
  border:1px solid var(--line);
  padding:12px 16px;
  vertical-align:top;
  font-size:16px!important;
  line-height:1.7!important;
  color:var(--ink);
  word-wrap:break-word;
  overflow-wrap:anywhere;
}
.news-show-body table thead th,
.news-body table thead th,
.article-body table thead th,
.prose table thead th{
  background:var(--green);
  color:var(--white);
  font-weight:600;
  text-align:center;
}
.news-show-body table th[scope=row],
.news-body table th[scope=row],
.article-body table th[scope=row],
.prose table th[scope=row]{
  width:38%;
  background:var(--soft);
  color:var(--ink);
  font-weight:600;
  text-align:right;
  white-space:nowrap;
}
.news-show-body table tbody tr:nth-child(even) td,
.news-show-body table tbody tr:nth-child(even) th[scope=row],
.news-body table tbody tr:nth-child(even) td,
.news-body table tbody tr:nth-child(even) th[scope=row]{
  background:#fafcf8;
}
.article-passport-team thead tr:nth-child(2) th{
  background:#0b8552;
  font-weight:600;
}
@media(max-width:850px){
  .news-show{padding:22px 0 40px}
  .news-show-back{font-size:13px;margin-bottom:10px}
  .news-show-title{font-size:22px;line-height:1.55;margin:6px 0 8px}
  .news-show-meta{font-size:13px;line-height:1.6;margin:0 0 6px}
  .news-show-hero{padding-inline:0;margin:16px 0 20px}
  .news-show-hero-frame img,.news-show-hero-img{max-height:240px;border-radius:14px}
  .news-show-body,.news-body,.news-show .article-body,
  .news-show-body p,.news-body p,.news-show .article-body p,
  .news-show .news-body,.news-show .news-body p{
    font-size:15.5px!important;
    line-height:1.95!important;
    letter-spacing:0;
    word-spacing:normal;
  }
  .news-show-body p,.news-body p,.news-show .article-body p{margin:0 0 12px}
  .news-body ul,.news-body ol,.news-show-body ul,.news-show-body ol{
    margin:0 0 12px;
    line-height:1.95!important;
    font-size:15.5px!important;
  }
  .news-body h2,.article-body h2,.news-show-body h2{font-size:19px;margin:18px 0 8px;line-height:1.45}
  .news-body h3,.article-body h3,.news-show-body h3{font-size:17px;margin:16px 0 6px;line-height:1.45}
  .news-body h4,.article-body h4,.news-show-body h4{font-size:16px;margin:14px 0 6px;line-height:1.45}
  .news-body img,.news-show-body img,.news-show .article-body img{margin:14px auto;border-radius:12px}
  .news-show-body table th[scope=row],
  .news-body table th[scope=row],
  .article-body table th[scope=row]{white-space:normal;width:40%}
  .news-show-body table,
  .news-body table,
  .article-body table,
  .news-show-body table th,
  .news-show-body table td,
  .news-body table th,
  .news-body table td,
  .article-body table th,
  .article-body table td{
    padding:8px 10px;
    font-size:13.5px!important;
    line-height:1.65!important;
  }
  .news-show-body figure.table,
  .news-body figure.table,
  .article-body figure.table{margin:18px 0;border-radius:12px}
}

/* Article body from legacy CMS HTML */
.article-body{margin:0 0 22px;color:var(--ink);font-size:20px;line-height:2.15;letter-spacing:0;word-spacing:.03em}
.article-body img{max-width:100%;height:auto;border-radius:12px;margin:12px 0;display:block}
.article-body p{margin:0 0 14px}
.article-body h2,.article-body h3,.article-body h4{margin:22px 0 10px;line-height:1.5}
.article-body ul,.article-body ol{margin:0 0 14px;padding-inline-start:1.4em}
.article-body a{color:var(--green);text-decoration:underline}

/* Global section reveal polish */
.cards > .card.reveal,.gallery-grid > .gallery-card.reveal,.topics > .topic.reveal{will-change:opacity,transform}
.reveal.is-in{will-change:auto}
/* Lalezar/Segap typography: content large + full width; header menus compact */
body{
  font-size:17px;
  line-height:2;
  letter-spacing:0;
  word-spacing:.02em;
}
.site-header .nav a,
.site-header .nav .nav-toggle{
  font-size:13px!important;
  line-height:1.35!important;
  letter-spacing:.01em;
}
.site-header .brand strong{
  font-size:16px;
  line-height:1.2;
  letter-spacing:.015em;
}
.site-header .brand small{
  font-size:9px;
  line-height:1.35;
  letter-spacing:.04em;
}
.site-header .account-toggle,
.site-header .lang-menu-item,
.site-header .nav-sub a{
  font-size:13px;
  line-height:1.4;
  letter-spacing:.01em;
}
.site-header .header-login,
.site-header .header-actions .btn{
  font-size:13px;
  line-height:1.35;
  letter-spacing:.01em;
}

/* Page builder + static pages + news/articles */
.page-head h1{
  line-height:1.45;
  letter-spacing:.01em;
}
.page-head p{
  font-size:18px;
  line-height:2;
  letter-spacing:0;
}
.page-content,
.news-article,
.prose,
.page-animated .three-col{
  max-width:none;
  width:100%;
}
.page-content-heading{
  font-size:28px;
  line-height:1.5;
  letter-spacing:.01em;
}
.page-content-block h3,
.page-content-list h3{
  font-size:22px;
  line-height:1.55;
  letter-spacing:.01em;
}
.page-content-prose,
.page-content-list li,
.page-content-callout p,
.prose p{
  font-size:20px!important;
  line-height:2.15!important;
  letter-spacing:0;
  word-spacing:.03em;
}
/* News detail (desktop): 18px / line-height 50px — mobile overrides below */
.news-show-body,
.news-show-body p,
.news-show .news-body,
.news-show .news-body p,
.news-show .article-body,
.news-show .article-body p{
  font-size:18px!important;
  line-height:50px!important;
  letter-spacing:0;
  word-spacing:.02em;
}
@media(max-width:850px){
  .news-show-title{font-size:22px!important;line-height:1.55!important}
  .news-show-meta{font-size:13px!important}
  .news-show-body,
  .news-show-body p,
  .news-show .news-body,
  .news-show .news-body p,
  .news-show .article-body,
  .news-show .article-body p,
  .news-show-body li,
  .news-show .article-body li{
    font-size:15.5px!important;
    line-height:1.95!important;
  }
  .news-show .article-body h2,
  .news-show-body h2{font-size:19px!important;line-height:1.45!important}
  .news-show .article-body h3,
  .news-show-body h3{font-size:17px!important;line-height:1.45!important}
  .news-show .article-body h4,
  .news-show-body h4{font-size:16px!important;line-height:1.45!important}
}
.page-content-callout strong{
  font-size:20px;
  line-height:1.7;
  letter-spacing:.01em;
}
.page-content-figure figcaption{
  font-size:16px;
  line-height:1.8;
}
.news-body h2,.news-body h3,.news-body h4,
.article-body h2,.article-body h3,.article-body h4{
  line-height:1.5;
  letter-spacing:.01em;
}
.news-body h2,.article-body h2{font-size:26px}
.news-body h3,.article-body h3{font-size:22px}
.card h3{font-size:20px;line-height:1.55;letter-spacing:.01em}
.card p,.three-col .card p{font-size:16px;line-height:2;letter-spacing:0}
.site-footer{font-size:15px;line-height:1.9;letter-spacing:0}
.site-footer h3{font-size:16px;line-height:1.5;letter-spacing:.01em}
.site-footer a{font-size:15px;line-height:1.8}
.topic strong{font-size:15px;line-height:1.45;letter-spacing:.01em}
.topic small{font-size:12px;line-height:1.6;letter-spacing:0}

/* ===== Header responsive + profile-in-menu (2026-10-31) ===== */
/* Only clip horizontal overflow on html — setting it on both html+body
   creates a nested/page-inside-page scrollbar on desktop. */
html{overflow-x:clip}
body{overflow-x:visible;position:static;width:auto;top:auto}
.site-header>.wrap,
.header-row{min-width:0}
.header-row{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:16px;
  flex-wrap:nowrap;
  min-height:88px;
}
.brand{
  flex:0 0 auto;
  min-width:0;
  justify-self:start;
  grid-column:1;
}
.brand.brand-logo-only{
  max-width:none;
}
.brand.brand-logo-only img{
  width:78px;
  height:78px;
  object-fit:contain;
}
.header-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
  margin-inline-start:0;
  justify-self:end;
  grid-column:3;
  position:relative;
  z-index:2;
}
.header-actions .btn{
  white-space:nowrap;
  flex-shrink:0;
}
.nav{
  flex:0 1 auto;
  min-width:0;
  justify-content:center;
  justify-self:center;
  grid-column:2;
  margin-inline:0;
  flex-wrap:nowrap;
  overflow:visible;
}
.nav > a,
.nav .nav-toggle{
  flex-shrink:0;
}
.nav-account .nav-account-label{
  display:inline-block;
  max-width:140px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  vertical-align:bottom;
}
/* Mobile drawer account card (hidden on desktop header layout) */
.nav-account-card{display:none}
.mobile-nav-auth-group{display:none}
.nav-sub form{margin:0}
.nav-sub form button{
  display:block;
  width:100%;
  text-align:start;
  padding:8px 12px;
  border-radius:8px;
  background:none;
  border:0;
  color:var(--ink);
  font:inherit;
  font-size:13px;
  font-weight:500;
  cursor:pointer;
}
.nav-sub form button:hover{
  background:#edf7ef;
  color:var(--green);
}
.nav-auth-link{font-weight:600}

/* Mobile drawer: slides in from right → left
   Backdrop must sit UNDER the header stacking context (menu lives inside .site-header),
   so it darkens page content without covering the drawer. */
.nav-backdrop{
  position:fixed;
  inset:0;
  z-index:80;
  background:rgba(24,60,48,.42);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .28s ease,visibility .28s ease;
}
.nav-backdrop.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
@media (max-width:1280px){
  /* Scroll lock only while the mobile drawer is open */
  html.menu-open,
  html.menu-open body{
    overflow:hidden !important;
    overscroll-behavior:none;
    touch-action:none;
  }
  html.menu-open body.menu-open{
    position:fixed;
    inset-inline:0;
    width:100%;
  }
  body.menu-open .site-header{
    z-index:100;
  }
  .header-row{
    flex-wrap:nowrap;
    gap:10px;
    min-height:80px;
    padding:8px 0;
  }
  .brand{margin-inline-end:0;max-width:none}
  .brand.brand-logo-only img{width:64px;height:64px}
  .header-actions{margin-inline-start:0}
  .header-actions>.header-cta{display:none}
  .menu-toggle{
    display:inline-grid !important;
    place-items:center;
    width:36px;
    height:36px;
    padding:0;
    background:transparent;
    color:var(--green);
    position:relative;
    z-index:2;
  }
  .menu-toggle svg{width:26px;height:26px;display:block}
  .nav{
    position:fixed;
    top:0;
    right:0;
    left:auto;
    bottom:0;
    z-index:3;
    width:min(86vw,340px);
    height:100dvh;
    margin:0;
    padding:72px 18px 24px;
    flex:none;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:2px;
    order:unset;
    background:#fff;
    border:0;
    border-inline-start:1px solid var(--line);
    box-shadow:-18px 0 48px rgba(24,60,48,.14);
    overflow:auto;
    -webkit-overflow-scrolling:touch;
    opacity:1;
    visibility:visible;
    max-height:none;
    transform:translate3d(105%,0,0);
    transition:transform .34s cubic-bezier(.22,.61,.36,1);
    will-change:transform;
  }
  .nav.open{
    transform:translate3d(0,0,0);
    max-height:none;
    opacity:1;
    visibility:visible;
    padding:72px 18px 24px;
    overflow:auto;
    border-top-width:0;
  }
  [dir=ltr] .nav{
    right:auto;
    left:0;
    border-inline-start:0;
    border-inline-end:1px solid var(--line);
    box-shadow:18px 0 48px rgba(24,60,48,.14);
    transform:translate3d(-105%,0,0);
  }
  [dir=ltr] .nav.open{transform:translate3d(0,0,0)}
  .nav > a,
  .nav .nav-toggle{
    width:100%;
    justify-content:space-between;
    padding:12px 10px;
    font-size:15px !important;
    white-space:normal;
    line-height:1.45;
    opacity:1;
    transform:none;
    border-radius:10px;
  }
  .nav > a:hover,
  .nav .nav-toggle:hover{
    background:var(--soft);
    color:var(--green);
  }
  .nav-item{
    flex-direction:column;
    align-items:stretch;
    width:100%;
  }
  .nav-sub{
    position:static !important;
    box-shadow:none !important;
    border:0 !important;
    min-width:0 !important;
    padding:0 0 8px 10px !important;
    background:transparent !important;
  }
  .nav .nav-lang{
    width:100%;
    border-top:1px solid var(--line);
    margin-top:auto;
    padding-top:14px;
  }
  .nav .nav-lang .lang-menu-item,
  .nav .nav-lang .lang-code-btn{
    width:100%;
    justify-content:flex-start;
    padding:10px 12px;
    font-size:14px;
  }
  .nav-account .nav-account-label{max-width:none}

  /* Profile only inside drawer on mobile — not in header actions */
  .header-actions .account-menu{display:none !important}
  .nav-main-links{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:2px;
    width:100%;
    margin-top:4px;
  }
  .mobile-nav-auth-group{
    display:flex;
    flex-direction:column;
    gap:8px;
    width:100%;
    margin:0 0 14px;
    padding:0 0 14px;
    border-bottom:1px solid var(--line);
  }
  .mobile-nav-auth-group .mobile-nav-auth{
    display:flex !important;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:44px;
    padding:10px 14px;
    border-radius:12px;
    font-size:14px !important;
    font-weight:700;
  }
  .mobile-nav-auth-group .mobile-nav-auth:not(.btn){
    background:var(--soft);
    color:var(--green);
  }
  .nav-account-card{
    display:flex;
    flex-direction:column;
    gap:12px;
    width:100%;
    margin:0 0 16px;
    padding:16px;
    border:0;
    border-radius:18px;
    background:linear-gradient(145deg,#0a7a4c 0%,#087044 48%,#065a36 100%);
    color:#fff;
    box-shadow:0 14px 32px rgba(8,112,68,.28);
  }
  .nav-account-card-head{
    display:flex;
    align-items:center;
    gap:12px;
    padding-bottom:0;
    border-bottom:0;
  }
  .nav-account-avatar{
    display:grid;
    place-items:center;
    width:52px;
    height:52px;
    flex-shrink:0;
    border-radius:50%;
    color:#087044;
    background:#fff;
    border:0;
    box-shadow:0 6px 16px rgba(0,0,0,.12);
  }
  .nav-account-avatar svg{display:block}
  .nav-account-meta{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:3px;
  }
  .nav-account-meta strong{
    display:block;
    font-size:16px;
    line-height:1.35;
    color:#fff;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .nav-account-meta small{
    font-size:12px;
    color:rgba(255,255,255,.78);
    line-height:1.4;
  }
  .nav-account-links{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .nav-account-links a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:8px 10px;
    border-radius:12px;
    border:0;
    background:rgba(255,255,255,.14);
    color:#fff !important;
    font:inherit;
    font-size:13px !important;
    font-weight:700;
    text-align:center;
    line-height:1.3;
  }
  .nav-account-links a:hover{
    background:rgba(255,255,255,.24);
    color:#fff !important;
  }
  .nav-account-logout-form{margin:0}
  .nav-account-logout{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:40px;
    padding:8px 12px;
    border-radius:12px;
    border:0;
    background:rgba(0,0,0,.18);
    color:#fff !important;
    font:inherit;
    font-size:13px !important;
    font-weight:700;
    cursor:pointer;
  }
  .nav-account-logout:hover{
    background:rgba(0,0,0,.28) !important;
    color:#fff !important;
  }
  .nav{
    display:flex;
    padding-bottom:max(24px, env(safe-area-inset-bottom)) !important;
  }
  .nav .nav-lang{margin-top:auto}
}

@media (min-width:1281px){
  .menu-toggle{display:none !important}
  .nav-backdrop{display:none !important}
  .nav-account-card{display:none !important}
  .mobile-nav-auth-group{display:none !important}
  .nav-main-links{
    display:contents;
  }
  .header-actions .account-menu{
    display:block !important;
    order:unset;
  }
  .header-actions .account-toggle{
    width:auto;
    height:auto;
    max-width:200px;
    padding:4px 6px;
    gap:8px;
  }
  .header-actions .account-name,
  .header-actions .account-caret{display:inline-block}
  .header-actions .account-avatar{
    width:28px;
    height:28px;
    background:rgba(0,83,61,.08);
    border:1px solid rgba(0,83,61,.14);
  }
  .header-actions .account-avatar svg{width:18px;height:18px}
  .nav{
    position:static !important;
    display:flex !important;
    flex-direction:row !important;
    max-height:none !important;
    height:auto !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    overflow:visible !important;
    padding:0 !important;
    border:0 !important;
    box-shadow:none !important;
    width:auto;
    inset:auto !important;
  }
  .nav > a,
  .nav .nav-toggle{
    opacity:1 !important;
    transform:none !important;
    padding:0;
    width:auto;
    white-space:nowrap;
  }
  .header-actions>.header-cta{display:inline-flex}
  /* Desktop: never keep a locked/nested scroll from the mobile menu */
  html.menu-open,
  html.menu-open body,
  html.menu-open body.menu-open{
    overflow:visible !important;
    overflow-x:clip !important;
    position:static !important;
    width:auto !important;
    top:auto !important;
    inset:auto !important;
    overscroll-behavior:auto !important;
    touch-action:auto !important;
  }
}

/* Mid screens: stack hero earlier so text/image don't clip */
@media (max-width:1100px){
  .hero{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }
  .hero > *{min-width:0}
  .hero h1{font-size:clamp(28px,5vw,39px)}
  .hero p{max-width:none}
  .visual{max-width:560px;width:100%;margin-inline:auto;min-height:0}
  .topics{grid-template-columns:1fr 1fr}
  .cards{grid-template-columns:1fr 1fr}
}

@media (max-width:700px){
  .topics{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}
  .callout{flex-direction:column;align-items:flex-start}
  .footer-top{grid-template-columns:1fr}
}

/* Language code button (EN / FA) — no flags */
.lang-code-btn,
.lang-menu-item.lang-code-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0;
  min-width:36px;
  height:32px;
  padding:0 10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  color:var(--green);
  font-weight:700;
  font-size:12px;
  letter-spacing:.06em;
  line-height:1;
}
.lang-code-btn:hover,
.lang-menu-item.lang-code-btn:hover{
  background:var(--soft);
  color:var(--green);
  border-color:#c7dbc8;
}
.lang-code{
  font-family:inherit;
  font-weight:700;
  font-size:12px;
  letter-spacing:.08em;
}
.nav .nav-lang .lang-code-btn{
  width:auto;
  min-width:40px;
}
@media (max-width:1280px){
  .nav .nav-lang .lang-code-btn{
    width:100%;
    justify-content:flex-start;
    min-height:40px;
    padding:10px 12px;
    font-size:13px;
  }
}

/* Desktop auth buttons side-by-side */
.header-auth-btns{
  display:inline-flex;
  align-items:center;
  gap:8px;
  flex-shrink:0;
}
.header-auth-btns .header-login,
.header-auth-btns .header-cta{
  display:inline-flex;
  white-space:nowrap;
}
.mobile-nav-auth{display:none !important}

@media (max-width:1280px){
  .header-auth-btns{display:none !important}
  .mobile-nav-auth{display:block !important}
}

@media (min-width:1281px){
  .header-auth-btns{display:inline-flex !important}
  .mobile-nav-auth{display:none !important}
}

/* ===== Home hero slider — always full width ===== */
.site-header{
  position:sticky;
  top:0;
  z-index:120;
  background:#fff;
}
.home-slider{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  max-width:100%;
  margin:0;
  padding:0;
  clear:both;
  background:#0a6b45;
  overflow:hidden;
  isolation:isolate;
  line-height:0;
  /* fill the hero band — no white gap under the image */
  height:640px !important;
  min-height:640px;
}
.home-slider .home-swiper,
.home-slider .swiper-wrapper,
.home-slider .swiper-slide{
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
}
.home-swiper{
  direction:ltr;
  box-sizing:border-box;
}
.home-swiper .swiper-slide{
  display:flex !important;
  align-items:stretch;
  justify-content:center;
  background:#0a6b45;
  overflow:hidden;
}
.home-slider-link{
  display:block;
  width:100%;
  height:100%;
  line-height:0;
}
.home-slider img{
  display:block;
  width:100% !important;
  max-width:none !important;
  height:100% !important;
  min-height:100% !important;
  object-fit:cover !important;
  object-position:center 32%;
  background:#0a6b45;
}
.home-below-slider{
  padding-top:clamp(20px, 4vw, 36px);
}
.home-swiper .swiper-pagination-bullet{
  background:#fff;
  opacity:.55;
  width:8px;
  height:8px;
}
.home-swiper .swiper-pagination-bullet-active{
  opacity:1;
  background:#fff;
  width:18px;
  border-radius:999px;
}
.home-swiper-nav.swiper-button-prev,
.home-swiper-nav.swiper-button-next{
  width:40px;
  height:40px;
  margin-top:0;
  top:50%;
  bottom:auto;
  transform:translateY(-50%);
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:var(--green);
  box-shadow:0 6px 18px rgba(0,40,24,.18);
  z-index:5;
}
.home-swiper-nav.swiper-button-prev{left:14px;right:auto}
.home-swiper-nav.swiper-button-next{right:14px;left:auto}
.home-swiper-nav::after{
  font-size:15px;
  font-weight:700;
  color:var(--green);
}
.home-swiper .swiper-pagination{bottom:12px;z-index:5}

@media (max-width:1280px){
  .home-slider{height:560px !important;min-height:560px}
  .home-swiper-nav.swiper-button-prev,
  .home-swiper-nav.swiper-button-next{width:36px;height:36px}
}

/* Phone: full width, natural banner height (no side bars, no crop) */
@media (max-width:850px){
  .home-slider{
    height:auto !important;
    min-height:0;
    margin-top:0;
    padding-top:0;
  }
  .home-slider .home-swiper,
  .home-slider .swiper-wrapper,
  .home-slider .swiper-slide{
    height:auto !important;
    min-height:0 !important;
  }
  .home-slider-link{height:auto}
  .home-slider img{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    object-fit:contain !important;
    object-position:center center;
  }
  .home-swiper-nav.swiper-button-prev,
  .home-swiper-nav.swiper-button-next{display:none}
  .home-swiper .swiper-pagination{bottom:8px}
  .home-swiper .swiper-pagination-bullet{width:7px;height:7px}
  .home-swiper .swiper-pagination-bullet-active{width:16px}
}

/* ===== Topics strip — responsive (overrides earlier cramped rules) ===== */
.topics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  padding:28px 0;
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  border-block:1px solid var(--line);
}
.topic{
  display:flex;
  align-items:flex-start;
  gap:12px;
  min-width:0;
  max-width:100%;
  padding:14px 12px;
  border-radius:14px;
  text-decoration:none;
  color:inherit;
  transition:background .18s ease,border-color .18s ease;
}
.topic:hover{
  background:#f3f8f1;
}
.topic .mark{
  flex:0 0 auto;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:12px;
  color:var(--green);
  font-size:20px;
  background:#fff;
}
.topic > div{
  min-width:0;
  flex:1 1 auto;
}
.topic strong{
  display:block;
  font-size:15px !important;
  line-height:1.45 !important;
  font-weight:700;
  color:var(--ink);
  white-space:normal;
  overflow-wrap:anywhere;
}
.topic small{
  display:block;
  margin-top:4px;
  font-size:12px !important;
  line-height:1.55 !important;
  color:var(--muted);
  white-space:normal;
  overflow-wrap:anywhere;
}

@media (max-width:1100px){
  .topics{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px;
    padding:22px 0;
  }
}

@media (max-width:850px){
  .topics{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px;
    padding:18px 0;
  }
  .topic{
    padding:12px 10px;
    gap:10px;
    border:1px solid var(--line);
    background:#fff;
  }
  .topic .mark{
    width:38px;
    height:38px;
    font-size:18px;
  }
  .topic strong{font-size:14px !important}
  .topic small{font-size:11.5px !important}
}

@media (max-width:520px){
  .topics{
    grid-template-columns:1fr !important;
    gap:10px;
    padding:16px 0;
  }
  .topic{
    align-items:center;
    padding:12px;
  }
  .topic .mark{
    width:40px;
    height:40px;
    font-size:18px;
  }
  .topic strong{font-size:15px !important}
  .topic small{font-size:12px !important}
}
