.op-portal{--op-primary:#0b4f7a;--op-secondary:#0f6ca5;--op-accent:#e9b949;--op-bg:#f5f7fa;--op-card:#fff;--op-text:#182433;direction:rtl;font-family:Tahoma,Arial,sans-serif;max-width:1280px;margin:22px auto;background:var(--op-bg);color:var(--op-text);border-radius:18px;overflow:hidden;box-shadow:0 12px 45px #0f172a12}.op-portal *{box-sizing:border-box}.op-site-head{min-height:76px;display:flex;align-items:center;justify-content:space-between;padding:12px 28px;background:var(--op-card);border-bottom:1px solid #e7edf3}.op-brand{display:flex;align-items:center;gap:12px}.op-logo{width:52px;height:52px;object-fit:contain}.op-opposite-brand{display:flex;align-items:center;justify-content:center;min-width:64px}.op-opposite-logo{max-width:96px;width:auto;height:54px;object-fit:contain;display:block}.op-logo-fallback{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--op-primary);color:#fff;font-size:22px}.op-brand strong,.op-brand small{display:block}.op-brand strong{font-size:17px}.op-brand small{margin-top:5px;color:#667085}.op-topnav{display:flex;gap:18px;flex-wrap:wrap}.op-topnav a{color:inherit;text-decoration:none;font-size:13px}.op-hero{min-height:310px;padding:48px 56px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(110deg,#fff 0 47%,#edf5fb 47%);position:relative;overflow:hidden}.op-hero-copy{max-width:620px;z-index:2}.op-hero-copy>span{color:var(--op-secondary);font-weight:700}.op-hero h1{font-size:38px;line-height:1.55;margin:8px 0}.op-hero p{font-size:16px;color:#556274}.op-search-fake{margin-top:20px;background:#fff;border:1px solid #dbe3eb;box-shadow:0 10px 25px #0000000c;border-radius:999px;padding:13px 20px;color:#8b98a8;max-width:420px}.op-hero-art{width:38%;height:230px;position:relative;border-radius:16px;background:linear-gradient(145deg,var(--op-primary),var(--op-secondary));overflow:hidden;box-shadow:0 18px 40px #0b4f7a25}.op-hero-art:before,.op-hero-art:after,.op-hero-art span,.op-hero-art i,.op-hero-art b{content:"";position:absolute;bottom:0;background:#ffffff27;border:1px solid #ffffff2f}.op-hero-art:before{width:38%;height:70%;right:8%}.op-hero-art:after{width:30%;height:52%;right:42%}.op-hero-art span{width:25%;height:82%;right:68%}.op-hero-art i{width:12px;height:100%;right:52%;transform:skew(-12deg)}.op-hero-art b{width:100%;height:26%;right:0;background:#001d3345}.op-service-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;padding:0 5%;transform:translateY(-26px);position:relative;z-index:3}.op-service-strip a{background:var(--op-card);border-radius:10px;min-height:82px;padding:12px;text-decoration:none;color:inherit;display:grid;place-items:center;box-shadow:0 8px 20px #0f172a14;border:1px solid #e6ebf0}.op-service-strip b{font-size:23px;color:var(--op-primary)}.op-service-strip span{font-size:12px}.op-page-shell{display:flex;gap:22px;padding:5px 28px 35px}.op-page-shell.has-sidebar .op-main-content{width:calc(100% - 280px)}.op-main-content{width:100%;min-width:0}.op-sidebar{width:258px;flex:0 0 258px}.op-side-left .op-sidebar{order:2}.op-side-right .op-sidebar{order:0}.op-side-right .op-main-content{order:1}.op-side-left .op-main-content{order:1}.op-side-widget{background:var(--op-card);border:1px solid #e5eaf0;border-radius:14px;padding:16px;margin-bottom:18px;overflow:hidden}.op-side-widget>*:first-child{margin-top:0}.op-side-warning{background:#fff3cd;padding:10px;border-radius:8px;font-size:12px}.op-section{padding:26px 0;border-bottom:1px solid #e4eaf0}.op-section-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:18px}.op-section-title h2{font-size:22px;margin:0}.op-section-title span{font-size:12px;color:#718096}.op-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.op-news-card,.op-icon-grid article,.op-staff-grid article,.op-gallery-grid article,.op-about-card,.op-form-section>div,.op-form-section>form{background:var(--op-card);border:1px solid #e4e9ef;border-radius:13px;overflow:hidden}.op-thumb{height:125px;display:flex;align-items:end;padding:12px;color:#fff;background:linear-gradient(145deg,#385d7c,#99b7cc)}.op-thumb-2{background:linear-gradient(145deg,#59728f,#d0ab69)}.op-thumb-3{background:linear-gradient(145deg,#3b6e62,#a8c7a0)}.op-thumb-4{background:linear-gradient(145deg,#6d5d7e,#bd91a7)}.op-card-body{padding:14px}.op-card-body h3{font-size:15px;line-height:1.8;margin:5px 0}.op-card-body p{font-size:12px;color:#617080}.op-card-body small{color:#8b98a8}.op-about-card{display:grid;grid-template-columns:240px 1fr;gap:20px;padding:18px}.op-about-art{min-height:160px;border-radius:10px;background:linear-gradient(145deg,#adc2d3,#315a7a);position:relative}.op-about-art:before{content:"";position:absolute;left:15%;right:15%;bottom:0;height:65%;background:repeating-linear-gradient(90deg,#ffffff33 0 12px,transparent 12px 25px)}.op-icon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.op-icon-grid article{text-align:center;padding:18px}.op-round-icon{display:grid;place-items:center;width:46px;height:46px;margin:auto;border-radius:50%;background:#eaf4fb;color:var(--op-primary);font-size:20px}.op-icon-grid h3{font-size:14px}.op-icon-grid p{font-size:11px;color:#718096}.op-staff-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.op-staff-grid article{text-align:center;padding:18px}.op-avatar{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--op-primary),var(--op-secondary));color:#fff;font-size:24px;margin:auto}.op-staff-grid h3{font-size:14px}.op-staff-grid p,.op-staff-grid small{font-size:11px;color:#718096}.op-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.op-gallery-grid article{padding-bottom:12px}.op-gallery-grid h3,.op-gallery-grid p{padding:0 12px}.op-gallery-grid h3{font-size:13px}.op-gallery-grid p{font-size:11px;color:#718096}.op-gallery-art{height:105px;background:linear-gradient(145deg,#a2b9cd,#4b6b86)}.op-gallery-2{background:linear-gradient(145deg,#d6b26e,#75533b)}.op-gallery-3{background:linear-gradient(145deg,#7ca58f,#325f70)}.op-gallery-4{background:linear-gradient(145deg,#b38d7c,#5d6578)}.op-form-section{background:transparent}.op-form-section>div,.op-form-section>form{padding:20px}.op-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.op-form textarea{min-height:120px;grid-column:1/-1}.op-form input,.op-form textarea,.op-form select{padding:11px;border:1px solid #cad3dc;border-radius:9px;background:#fff}.op-form button{width:max-content;padding:11px 24px;border:0;border-radius:9px;background:var(--op-primary);color:#fff;cursor:pointer}.op-success{padding:12px;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:10px;margin-bottom:12px}.op-footer{background:#0c314e;color:#e8f1f8;padding:28px;display:grid;grid-template-columns:2fr 1fr;gap:15px}.op-footer span{display:block}.op-footer small{grid-column:1/-1;border-top:1px solid #ffffff1f;padding-top:12px;color:#bdd0df}
/* 1 - Classic official */.op-layout-1{--op-primary:#0b4f7a;--op-secondary:#17689a}.op-layout-1 .op-hero{background:linear-gradient(90deg,#ffffffd9,#ffffff42),linear-gradient(145deg,#d9e5eb,#8da3b1)}.op-layout-1 .op-hero-art{background:linear-gradient(145deg,#6f8797,#c2cdd4)}
/* 2 - Minimal */.op-layout-2{--op-primary:#102f4a;--op-secondary:#47789a;--op-bg:#fff}.op-layout-2 .op-site-head{border:0}.op-layout-2 .op-hero{background:#fff;padding-top:34px}.op-layout-2 .op-hero-art{border-radius:3px;background:linear-gradient(145deg,#8195a7,#d7dee4)}.op-layout-2 .op-service-strip a,.op-layout-2 .op-news-card,.op-layout-2 .op-side-widget{box-shadow:none;border-color:#edf0f3}
/* 3 - Organizational modern */.op-layout-3{--op-primary:#073d68;--op-secondary:#0a6ca3}.op-layout-3 .op-site-head,.op-layout-3 .op-hero{background:#073d68;color:#fff}.op-layout-3 .op-brand small,.op-layout-3 .op-hero p,.op-layout-3 .op-topnav a{color:#d9ebf7}.op-layout-3 .op-hero-art{background:linear-gradient(145deg,#0b2740,#1b628c)}.op-layout-3 .op-search-fake{background:#062f50;border-color:#2b668d;color:#a9cada}.op-layout-3 .op-service-strip a{background:#0b4c7e;color:#fff;border-color:#2a648d}.op-layout-3 .op-service-strip b{color:#fff}
/* 4 - Visual inspiration */.op-layout-4{--op-primary:#164c72;--op-secondary:#327ba8}.op-layout-4 .op-hero{color:#fff;background:linear-gradient(#164c7288,#164c7288),linear-gradient(145deg,#75b3d5,#dbe8f0)}.op-layout-4 .op-hero p,.op-layout-4 .op-hero-copy>span{color:#fff}.op-layout-4 .op-hero-art{background:linear-gradient(165deg,#d9eef6 0 35%,#5b8c67 35% 60%,#315a43 60%)}
/* 5 - Iranian traditional */.op-layout-5{--op-primary:#154a6a;--op-secondary:#0c6f79;--op-accent:#ad7b35;--op-bg:#f5efe4}.op-layout-5{background-color:#f5efe4;background-image:radial-gradient(#ad7b3512 1px,transparent 1px);background-size:12px 12px}.op-layout-5 .op-site-head{background:#f6ead3;border-top:5px solid #ad7b35}.op-layout-5 .op-hero{background:linear-gradient(120deg,#f7ead4cc,#d9eef0cc)}.op-layout-5 .op-hero-art{background:linear-gradient(145deg,#257a8d,#d8c18a)}.op-layout-5 .op-news-card,.op-layout-5 .op-side-widget,.op-layout-5 .op-icon-grid article{border-color:#dfcfb4}
/* 6 - Compact useful */.op-layout-6{--op-primary:#123e5d;--op-secondary:#4c80a5;--op-bg:#f7f9fb}.op-layout-6 .op-hero{min-height:230px;padding:28px 40px}.op-layout-6 .op-hero h1{font-size:31px}.op-layout-6 .op-hero-art{height:175px}.op-layout-6 .op-service-strip{transform:translateY(-18px)}.op-layout-6 .op-service-strip a{min-height:66px}.op-layout-6 .op-section{padding:20px 0}.op-layout-6 .op-news-grid{grid-template-columns:repeat(2,1fr)}.op-layout-6 .op-news-card{display:grid;grid-template-columns:120px 1fr}.op-layout-6 .op-thumb{height:100%}
/* 7 - Advanced corporate */.op-layout-7{--op-primary:#0b466d;--op-secondary:#1e77aa}.op-layout-7 .op-hero{color:#fff;background:linear-gradient(105deg,#0b466d 0 48%,#17384e 48%)}.op-layout-7 .op-hero p,.op-layout-7 .op-hero-copy>span{color:#d3e6f2}.op-layout-7 .op-hero-art{background:linear-gradient(145deg,#0b2d45,#376d8c)}.op-layout-7 .op-service-strip a{border-top:3px solid var(--op-primary)}.op-layout-7 .op-section-title h2{border-right:4px solid var(--op-secondary);padding-right:10px}
/* 8 - Dark modern */.op-layout-8{--op-primary:#2e86c1;--op-secondary:#63b3e5;--op-bg:#071725;--op-card:#0d2233;--op-text:#eef6fb;color:#eef6fb}.op-layout-8 .op-site-head,.op-layout-8 .op-hero,.op-layout-8 .op-footer{background:#071725;color:#eef6fb}.op-layout-8 .op-brand small,.op-layout-8 .op-topnav a,.op-layout-8 .op-hero p,.op-layout-8 .op-section-title span,.op-layout-8 .op-card-body p,.op-layout-8 .op-staff-grid p,.op-layout-8 .op-staff-grid small,.op-layout-8 .op-icon-grid p,.op-layout-8 .op-gallery-grid p{color:#a7bdcc}.op-layout-8 .op-hero{background:linear-gradient(105deg,#071725 0 52%,#0c2b42 52%)}.op-layout-8 .op-news-card,.op-layout-8 .op-side-widget,.op-layout-8 .op-icon-grid article,.op-layout-8 .op-staff-grid article,.op-layout-8 .op-gallery-grid article,.op-layout-8 .op-about-card,.op-layout-8 .op-form-section>div,.op-layout-8 .op-form-section>form,.op-layout-8 .op-service-strip a{border-color:#1f3d52;background:#0d2233;color:#eef6fb}.op-layout-8 .op-form input,.op-layout-8 .op-form textarea,.op-layout-8 .op-form select{background:#10293d;border-color:#294b61;color:#eef6fb}
@media(max-width:900px){.op-topnav{display:none}.op-hero{padding:34px}.op-hero-art{width:34%}.op-service-strip{grid-template-columns:repeat(3,1fr);transform:none;padding:14px}.op-page-shell,.op-page-shell.has-sidebar{display:flex;flex-direction:column;padding:12px 18px}.op-page-shell.has-sidebar .op-main-content,.op-sidebar{width:100%;flex:auto}.op-side-left .op-sidebar,.op-side-right .op-sidebar{order:0}.op-news-grid,.op-staff-grid,.op-gallery-grid{grid-template-columns:repeat(2,1fr)}.op-icon-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.op-site-head{padding:12px 16px}.op-opposite-logo{max-width:72px;height:44px}.op-brand strong{font-size:14px}.op-brand small{font-size:10px}.op-hero{padding:26px 18px;min-height:250px}.op-hero h1{font-size:27px}.op-hero-art{display:none}.op-service-strip{grid-template-columns:repeat(3,1fr)}.op-news-grid,.op-staff-grid,.op-gallery-grid{grid-template-columns:1fr}.op-about-card{grid-template-columns:1fr}.op-form{grid-template-columns:1fr}.op-form textarea{grid-column:auto}.op-layout-6 .op-news-card{grid-template-columns:1fr}.op-footer{grid-template-columns:1fr}.op-footer small{grid-column:auto}}
.op-dep-thumb{width:58px;height:58px;border-radius:14px;object-fit:cover;margin:auto;display:block}.op-avatar-img{object-fit:cover;display:block}.op-gallery-art{background-size:cover;background-position:center}

/* v0.4 — genuinely different structural layouts */
/* 1: classic Iranian government portal — masthead + banner + floating services */
.op-layout-1 .op-site-head{border-top:6px solid #0b4f7a;padding:16px 34px}.op-layout-1 .op-topnav{background:#f3f7fa;padding:10px 18px;border-radius:8px}.op-layout-1 .op-hero{min-height:350px}.op-layout-1 .op-service-strip{padding:0 7%}.op-layout-1 .op-featured-news{grid-column:span 2;display:grid;grid-template-columns:1.2fr 1fr}.op-layout-1 .op-featured-news .op-thumb{height:100%;min-height:210px}
/* 2: editorial minimal — centered masthead, no floating cards, lots of whitespace */
.op-layout-2{max-width:1120px;box-shadow:none;border:1px solid #eef1f4}.op-layout-2 .op-site-head{min-height:118px;display:grid;grid-template-columns:1fr auto 1fr;padding:20px 42px}.op-layout-2 .op-brand{grid-column:2;text-align:center;flex-direction:column}.op-layout-2 .op-opposite-brand{grid-column:3;justify-self:end}.op-layout-2 .op-topnav{grid-row:2;grid-column:1/-1;justify-content:center;border-top:1px solid #eef1f4;padding-top:16px}.op-layout-2 .op-hero{display:block;text-align:center;padding:70px 12%;min-height:390px}.op-layout-2 .op-hero-copy{margin:auto;max-width:760px}.op-layout-2 .op-hero-art{display:none}.op-layout-2 .op-search-fake{margin:28px auto 0}.op-layout-2 .op-service-strip{transform:none;margin:0 auto;padding:0 8% 35px;gap:0}.op-layout-2 .op-service-strip a{border-radius:0;border-width:0 0 1px;min-height:70px}.op-layout-2 .op-page-shell{padding:20px 7% 60px}.op-layout-2 .op-section{padding:45px 0}.op-layout-2 .op-news-grid{grid-template-columns:1.5fr 1fr 1fr}.op-layout-2 .op-news-card:first-child{grid-row:span 2}.op-layout-2 .op-news-card:first-child .op-thumb{height:260px}.op-layout-2 .op-footer{text-align:center;display:block;background:#f7f8fa;color:#243444}.op-layout-2 .op-footer small{display:block;margin-top:20px;color:#667085}
/* 3: organizational console — permanent vertical navigation rail */
.op-layout-3{display:grid;grid-template-columns:230px minmax(0,1fr);max-width:1380px;background:#f3f7fa}.op-layout-3 .op-site-head{grid-column:1;grid-row:1/5;min-height:760px;align-self:stretch;display:flex;flex-direction:column;justify-content:flex-start;gap:30px;padding:32px 22px;position:relative}.op-layout-3 .op-brand{flex-direction:column;text-align:center}.op-layout-3 .op-topnav{display:flex;flex-direction:column;width:100%;gap:5px}.op-layout-3 .op-topnav a{padding:12px 14px;border-radius:8px;background:#ffffff0a;border:1px solid #ffffff10}.op-layout-3 .op-opposite-brand{margin-top:auto}.op-layout-3 .op-hero,.op-layout-3 .op-service-strip,.op-layout-3 .op-page-shell,.op-layout-3 .op-footer{grid-column:2}.op-layout-3 .op-hero{min-height:280px;padding:40px}.op-layout-3 .op-service-strip{transform:none;padding:18px 28px;background:#082f50;grid-template-columns:repeat(6,1fr)}.op-layout-3 .op-service-strip a{min-height:66px;box-shadow:none}.op-layout-3 .op-page-shell{padding:25px 32px}.op-layout-3 .op-news-grid{grid-template-columns:2fr 1fr}.op-layout-3 .op-news-card:first-child{grid-row:span 2}.op-layout-3 .op-news-card:first-child .op-thumb{height:240px}.op-layout-3 .op-footer{margin:0}
/* 4: visual/civic landing page — hero precedes transparent floating header */
.op-layout-4{display:flex;flex-direction:column;max-width:1360px}.op-layout-4 .op-hero{order:1;min-height:520px;padding:80px 7%;align-items:flex-end;background:linear-gradient(90deg,#0d385dbd,#0d385d55),linear-gradient(145deg,#8ab7d0,#e4eef3)}.op-layout-4 .op-hero-copy{max-width:680px}.op-layout-4 .op-hero h1{font-size:48px}.op-layout-4 .op-hero-art{width:43%;height:330px;border-radius:80px 12px 80px 12px}.op-layout-4 .op-site-head{order:2;margin:-500px 4% 420px;z-index:5;background:#ffffffed;border:0;border-radius:14px;box-shadow:0 10px 35px #0002}.op-layout-4 .op-service-strip{order:3;transform:none;margin-top:-85px;padding:0 7% 35px}.op-layout-4 .op-service-strip a{border-radius:18px;min-height:105px}.op-layout-4 .op-page-shell{order:4;padding:15px 5% 45px}.op-layout-4 .op-footer{order:5}.op-layout-4 .op-news-grid{grid-template-columns:repeat(12,1fr)}.op-layout-4 .op-news-card{grid-column:span 4}.op-layout-4 .op-news-card:first-child{grid-column:span 8;display:grid;grid-template-columns:1.25fr 1fr}.op-layout-4 .op-news-card:first-child .op-thumb{height:100%;min-height:240px}.op-layout-4 .op-gallery-grid{grid-template-columns:2fr 1fr 1fr}.op-layout-4 .op-gallery-grid article:first-child .op-gallery-art{height:220px}
/* 5: Iranian traditional — framed composition, ornamental masthead and tiles */
.op-layout-5{max-width:1220px;border:10px solid #eadfc9;border-radius:4px;box-shadow:0 0 0 1px #b38a4e,0 18px 45px #4c3b241c}.op-layout-5 .op-site-head{min-height:105px;border-bottom:1px solid #caa66e;position:relative}.op-layout-5 .op-site-head:after{content:"◆  ◆  ◆";position:absolute;bottom:-11px;right:50%;transform:translateX(50%);background:#f6ead3;color:#ad7b35;padding:0 14px}.op-layout-5 .op-topnav a{padding:8px 12px;border:1px solid #d8c5a5;border-radius:2px}.op-layout-5 .op-hero{margin:24px;border:1px solid #d4bd95;min-height:320px;border-radius:2px}.op-layout-5 .op-hero-art{border-radius:50% 50% 8px 8px;box-shadow:0 0 0 8px #f6ead3,0 0 0 9px #b98d4e}.op-layout-5 .op-service-strip{transform:none;padding:0 24px 25px}.op-layout-5 .op-service-strip a{border-radius:2px;border:1px solid #cdb58d;background:#fbf5e9}.op-layout-5 .op-page-shell{padding:10px 34px 40px}.op-layout-5 .op-section-title{border-bottom:2px solid #b58a4c;padding-bottom:10px}.op-layout-5 .op-icon-grid article{border-radius:2px;background:#fbf5e9}.op-layout-5 .op-footer{background:#153f51;border-top:5px solid #b58a4c}
/* 6: compact service portal — dashboard-like, dense cards and two-column content */
.op-layout-6{max-width:1400px}.op-layout-6 .op-site-head{min-height:64px;padding:8px 24px}.op-layout-6 .op-brand{min-width:280px}.op-layout-6 .op-hero{min-height:210px;padding:24px 34px;margin:18px 24px 0;border-radius:16px}.op-layout-6 .op-hero-copy{max-width:55%}.op-layout-6 .op-hero-art{width:32%;height:155px}.op-layout-6 .op-service-strip{transform:none;padding:14px 24px;grid-template-columns:repeat(6,1fr)}.op-layout-6 .op-service-strip a{display:flex;gap:10px;justify-content:center;min-height:58px}.op-layout-6 .op-page-shell{padding:0 24px 30px}.op-layout-6 .op-main-content{display:grid;grid-template-columns:1fr 1fr;gap:18px}.op-layout-6 .op-main-content>.op-section{padding:18px;background:#fff;border:1px solid #e3e9ef;border-radius:14px}.op-layout-6 #op-news,.op-layout-6 #op-about,.op-layout-6 #op-contact,.op-layout-6 #op-feedback{grid-column:1/-1}.op-layout-6 .op-section-title h2{font-size:18px}.op-layout-6 .op-icon-grid,.op-layout-6 .op-staff-grid,.op-layout-6 .op-gallery-grid{grid-template-columns:repeat(2,1fr)}.op-layout-6 .op-gallery-art{height:80px}
/* 7: executive corporate — split hero, oversized feature story and strong section rails */
.op-layout-7{max-width:1320px;border-radius:0}.op-layout-7 .op-site-head{padding:18px 46px;border-bottom:4px solid #1e77aa}.op-layout-7 .op-hero{min-height:430px;padding:60px 6%;background:linear-gradient(90deg,#0b466d 0 56%,#e8eef2 56%)}.op-layout-7 .op-hero-copy{max-width:50%}.op-layout-7 .op-hero-art{width:38%;height:290px;border-radius:0;clip-path:polygon(12% 0,100% 0,100% 100%,0 100%)}.op-layout-7 .op-service-strip{transform:none;padding:0;background:#fff;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #dfe7ed}.op-layout-7 .op-service-strip a{border:0;border-left:1px solid #e5ebef;border-radius:0;min-height:92px;box-shadow:none;display:flex;gap:14px;justify-content:center}.op-layout-7 .op-page-shell{padding:35px 5%}.op-layout-7 .op-news-grid{grid-template-columns:1.6fr .7fr .7fr}.op-layout-7 .op-news-card:first-child{grid-row:span 2}.op-layout-7 .op-news-card:first-child .op-thumb{height:280px}.op-layout-7 .op-section-title{align-items:center;border-right:0}.op-layout-7 .op-section-title:after{content:"";height:1px;background:#dce4ea;flex:1;margin-right:18px}.op-layout-7 .op-section-title span{display:none}.op-layout-7 .op-footer{padding:42px 6%}
/* 8: dark modern command center — dark panels, asymmetric editorial grid */
.op-layout-8{max-width:1400px;border-radius:0;box-shadow:0 20px 70px #0007}.op-layout-8 .op-site-head{min-height:88px;padding:15px 4%;border-bottom:1px solid #1d3c52}.op-layout-8 .op-topnav{background:#0d2233;padding:12px 18px;border-radius:999px}.op-layout-8 .op-hero{min-height:390px;padding:55px 5%;background:radial-gradient(circle at 78% 35%,#185b82 0,#0c2b42 25%,#071725 58%)}.op-layout-8 .op-hero-art{height:260px;border:1px solid #2a5875;transform:perspective(700px) rotateY(-8deg);box-shadow:0 25px 70px #0008}.op-layout-8 .op-service-strip{transform:none;padding:0 4% 28px;background:#071725}.op-layout-8 .op-service-strip a{min-height:96px;border-radius:18px}.op-layout-8 .op-page-shell{padding:20px 4% 45px}.op-layout-8 .op-section{border-color:#19384d;padding:34px 0}.op-layout-8 .op-news-grid{grid-template-columns:2fr 1fr 1fr;grid-auto-rows:auto}.op-layout-8 .op-news-card:first-child{grid-row:span 2}.op-layout-8 .op-news-card:first-child .op-thumb{height:300px}.op-layout-8 .op-icon-grid article,.op-layout-8 .op-staff-grid article{border-radius:20px}.op-layout-8 .op-gallery-grid{grid-template-columns:2fr 1fr 1fr}.op-layout-8 .op-gallery-grid article:first-child{grid-row:span 2}.op-layout-8 .op-gallery-grid article:first-child .op-gallery-art{height:250px}.op-layout-8 .op-footer{border-top:1px solid #1e4056;padding:42px 5%}
@media(max-width:900px){.op-layout-3{display:block}.op-layout-3 .op-site-head{min-height:auto;display:flex;flex-direction:row}.op-layout-3 .op-topnav{display:none}.op-layout-4 .op-site-head{order:0;margin:0;border-radius:0}.op-layout-4 .op-hero{order:1;min-height:360px}.op-layout-4 .op-service-strip{margin-top:0}.op-layout-6 .op-main-content{display:block}.op-layout-6 .op-main-content>.op-section{margin-bottom:16px}.op-layout-7 .op-hero{background:#0b466d}.op-layout-7 .op-hero-copy{max-width:100%}.op-layout-2 .op-site-head{display:flex;min-height:80px}.op-layout-2 .op-brand{flex-direction:row}.op-layout-2 .op-topnav{display:none}.op-layout-1 .op-featured-news,.op-layout-4 .op-news-card:first-child{display:block;grid-column:auto}.op-layout-4 .op-news-grid,.op-layout-7 .op-news-grid,.op-layout-8 .op-news-grid{grid-template-columns:repeat(2,1fr)}}

/* 0.5.0 — structural diversity pass */
.op-ornament{text-align:center;padding:10px;font-size:18px;letter-spacing:14px}.op-floating-head{position:relative;z-index:5}.op-overlay-services{position:relative;z-index:4}.op-editorial-main,.op-visual-main,.op-exec-main{padding:30px 6% 55px}.op-console-grid,.op-traditional-columns,.op-exec-news-about,.op-exec-bottom,.op-command-grid,.op-dashboard-grid{display:grid;gap:24px}.op-console-grid{grid-template-columns:minmax(0,2.2fr) minmax(260px,.8fr);padding:24px}.op-console-grid>aside .op-sidebar{display:block}.op-console-grid>aside .op-sidebar .op-side-widget{margin-bottom:14px}.op-traditional-columns{grid-template-columns:minmax(0,2fr) minmax(250px,.75fr);padding:24px 34px}.op-exec-news-about{grid-template-columns:1.8fr .8fr}.op-exec-bottom{grid-template-columns:1fr 1fr}.op-command-grid{grid-template-columns:260px minmax(0,1fr);padding:24px}.op-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:18px 24px 30px}.op-dash-wide{grid-column:1/-1}.op-dashboard-grid>section{background:#fff;border:1px solid #e5ebf0;border-radius:14px;padding:16px}.op-dashboard-grid .op-section{padding:0}.op-dashboard-grid .op-section+.op-section{margin-top:14px}.op-dashboard-grid .op-sidebar{display:block}.op-dashboard-grid .op-sidebar .op-side-widget{margin-bottom:12px}

.op-layout-1 .op-page-shell{display:grid}.op-layout-1 .op-news-grid{grid-template-columns:1.6fr 1fr 1fr}.op-layout-1 .op-deps-grid .op-icon-grid{grid-template-columns:repeat(4,1fr)}.op-layout-1 .op-about-split .op-about-card{display:grid;grid-template-columns:1fr 1.6fr;align-items:center}

.op-layout-2{max-width:1160px;background:#fff}.op-layout-2 .op-site-head{display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:"brand nav alt";gap:18px;padding:22px 36px}.op-layout-2 .op-brand{grid-area:brand}.op-layout-2 .op-topnav{grid-area:nav;justify-content:center}.op-layout-2 .op-opposite-brand{grid-area:alt;justify-self:end}.op-layout-2 .op-editorial-main>.op-section{border-bottom:1px solid #e7ebef;padding:55px 0}.op-layout-2 .op-about-intro{max-width:850px;margin:auto;text-align:center}.op-layout-2 .op-about-intro .op-about-card{display:block}.op-layout-2 .op-about-intro .op-about-art{width:160px;height:160px;border-radius:50%;margin:0 auto 20px}.op-layout-2 .op-news-editorial .op-news-grid{display:grid;grid-template-columns:2fr 1fr;gap:28px}.op-layout-2 .op-news-editorial .op-news-card{display:grid;grid-template-columns:160px 1fr}.op-layout-2 .op-news-editorial .op-news-card:first-child{grid-row:span 4;display:block}.op-layout-2 .op-news-editorial .op-news-card:first-child .op-thumb{height:340px}.op-layout-2 .op-gallery-masonry .op-gallery-grid{grid-template-columns:2fr 1fr 1fr}.op-layout-2 .op-gallery-masonry article:first-child{grid-row:span 2}.op-layout-2 .op-services-footerbar{transform:none;margin:0;border-top:1px solid #e7ebef;border-bottom:1px solid #e7ebef;padding:20px 8%}

.op-layout-3{max-width:1420px;display:grid;grid-template-columns:230px minmax(0,1fr);background:#eef3f7}.op-layout-3 .op-rail{background:#0b3553;min-height:100%;color:#fff}.op-layout-3 .op-rail .op-site-head{display:flex;flex-direction:column;align-items:stretch;background:transparent;color:#fff;border:0;padding:24px 18px;gap:24px}.op-layout-3 .op-rail .op-brand{flex-direction:column;text-align:center}.op-layout-3 .op-rail .op-topnav{display:flex;flex-direction:column}.op-layout-3 .op-rail .op-opposite-brand{margin:auto}.op-layout-3 .op-services-vertical{display:flex;flex-direction:column;padding:14px;background:transparent;transform:none}.op-layout-3 .op-services-vertical a{width:100%;min-height:54px;justify-content:flex-start;gap:10px;box-shadow:none}.op-layout-3 .op-console-top .op-hero{margin:24px;border-radius:18px;min-height:230px}.op-layout-3 .op-console-grid main .op-section{background:#fff;border-radius:16px;padding:22px;margin-bottom:20px}.op-layout-3 .op-news-list .op-news-grid{display:block}.op-layout-3 .op-news-list .op-news-card{display:grid;grid-template-columns:120px 1fr;margin-bottom:12px}.op-layout-3 .op-news-list .op-thumb{height:100%;min-height:100px}.op-layout-3 .op-deps-dashboard .op-icon-grid{grid-template-columns:repeat(3,1fr)}

.op-layout-4{max-width:1380px;background:#f7fafc}.op-layout-4>.op-hero{min-height:560px;margin:0;border-radius:0;background:linear-gradient(90deg,#092d4dc7,#0d476b55),linear-gradient(135deg,#4e8ba8,#d5e6ee)}.op-layout-4 .op-floating-head{margin:-525px 4% 430px}.op-layout-4 .op-floating-head .op-site-head{border-radius:18px;background:#fffffff2;box-shadow:0 14px 40px #0002}.op-layout-4 .op-overlay-services{margin-top:-90px;padding:0 6%}.op-layout-4 .op-services-floating{transform:none}.op-layout-4 .op-gallery-feature .op-gallery-grid{grid-template-columns:2fr 1fr 1fr}.op-layout-4 .op-gallery-feature article:first-child{grid-row:span 2}.op-layout-4 .op-gallery-feature article:first-child .op-gallery-art{height:330px}.op-layout-4 .op-news-magazine .op-news-grid{grid-template-columns:repeat(12,1fr)}.op-layout-4 .op-news-magazine article{grid-column:span 4}.op-layout-4 .op-news-magazine article:first-child{grid-column:span 8}.op-layout-4 .op-visual-split{display:grid;grid-template-columns:1fr 1fr;gap:30px}.op-layout-4 .op-staff-portrait .op-staff-grid{grid-template-columns:repeat(4,1fr)}.op-layout-4 .op-staff-portrait article{border-radius:26px;padding-top:28px}

.op-layout-5{max-width:1240px;background:#f7f0e3;border:10px solid #e5d3b1}.op-layout-5 .op-site-head{background:#fff8eb;border:1px solid #c8a56e;margin:0 24px}.op-layout-5 .op-topnav a{border:1px solid #d5bd93;padding:8px 10px}.op-layout-5 .op-traditional-columns>main>.op-section{background:#fffaf1;border:1px solid #d7c3a0;padding:20px;margin-bottom:20px}.op-layout-5 .op-traditional-columns>aside{display:flex;flex-direction:column;gap:14px}.op-layout-5 .op-services-stack{display:flex;flex-direction:column;padding:0;transform:none}.op-layout-5 .op-services-stack a{width:100%;border-radius:2px}.op-layout-5 .op-news-traditional .op-news-grid{grid-template-columns:1fr 1fr}.op-layout-5 .op-deps-traditional .op-icon-grid{grid-template-columns:1fr 1fr}.op-layout-5 .op-staff-traditional{margin:0 34px 25px;background:#fffaf1;border:1px solid #d7c3a0;padding:22px}

.op-layout-6{max-width:1440px;background:#edf3f7}.op-layout-6 .op-site-head{min-height:64px}.op-layout-6 .op-dashboard-home{padding-top:8px}.op-layout-6 .op-services-dashboard{transform:none;padding:12px 24px;grid-template-columns:repeat(6,1fr)}.op-layout-6 .op-services-dashboard a{min-height:62px;border-radius:10px;box-shadow:none}.op-layout-6 .op-news-ticker .op-news-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr}.op-layout-6 .op-gallery-compact .op-gallery-grid,.op-layout-6 .op-staff-compact .op-staff-grid,.op-layout-6 .op-deps-compact .op-icon-grid{grid-template-columns:1fr 1fr}.op-layout-6 .op-about-compact .op-about-card{display:block}.op-layout-6 .op-about-compact .op-about-art{height:130px}

.op-layout-7{max-width:1340px;border-radius:0}.op-layout-7 .op-exec-hero-row{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(220px,.7fr)}.op-layout-7 .op-exec-hero-row .op-hero{min-height:410px;margin:0;border-radius:0}.op-layout-7 .op-exec-hero-row>aside{background:#0f2e43;padding:20px}.op-layout-7 .op-services-executive{display:flex;flex-direction:column;padding:0;transform:none;background:transparent}.op-layout-7 .op-services-executive a{width:100%;min-height:54px;border-radius:0;box-shadow:none}.op-layout-7 .op-news-executive .op-news-grid{grid-template-columns:2fr 1fr}.op-layout-7 .op-about-executive .op-about-card{display:block}.op-layout-7 .op-deps-rail .op-icon-grid{display:flex;overflow:auto}.op-layout-7 .op-deps-rail .op-icon-grid article{min-width:220px}.op-layout-7 .op-staff-executive .op-staff-grid,.op-layout-7 .op-gallery-executive .op-gallery-grid{grid-template-columns:1fr 1fr}

.op-layout-8{max-width:1440px;background:#071925;color:#dce7ee}.op-layout-8 .op-site-head{background:#0b2434;color:#fff;border-color:#1e4258}.op-layout-8 .op-topnav a{color:#dce7ee}.op-layout-8 .op-command-side{background:#0a2231;border:1px solid #173c52;border-radius:18px;padding:16px;align-self:start}.op-layout-8 .op-command-side .op-services-vertical{display:flex;flex-direction:column;padding:0;transform:none;background:transparent}.op-layout-8 .op-command-side .op-services-vertical a{width:100%;min-height:54px;background:#102f42;color:#fff;border-color:#1f4c65;box-shadow:none}.op-layout-8 .op-command-side .op-sidebar{display:block}.op-layout-8 .op-command-side .op-side-widget{background:#0d2a3b;color:#dce7ee;border-color:#1d455c}.op-layout-8 .op-command-hero .op-hero{margin:0 0 24px;border-radius:18px;background:radial-gradient(circle at 80% 30%,#195c80,#0b2d43 35%,#071925 65%)}.op-layout-8 .op-command-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}.op-layout-8 .op-command-cards .op-section{margin:0;background:#0b2434;border:1px solid #183f55;border-radius:18px;padding:18px}.op-layout-8 .op-news-command,.op-layout-8 .op-gallery-command,.op-layout-8 .op-about-command,.op-layout-8 .op-form-section{background:#0b2434;border:1px solid #183f55;border-radius:18px;padding:22px;margin-top:20px}.op-layout-8 .op-news-command .op-news-grid{grid-template-columns:2fr 1fr 1fr}.op-layout-8 .op-gallery-command .op-gallery-grid{grid-template-columns:2fr 1fr 1fr}.op-layout-8 .op-footer{background:#06141e;border-top:1px solid #173c52}

@media(max-width:950px){.op-console-grid,.op-traditional-columns,.op-exec-news-about,.op-exec-bottom,.op-command-grid,.op-dashboard-grid,.op-exec-hero-row,.op-visual-split{grid-template-columns:1fr}.op-dash-wide{grid-column:auto}.op-layout-3{display:block}.op-layout-3 .op-rail{min-height:auto}.op-layout-3 .op-rail .op-site-head{display:grid;grid-template-columns:1fr auto 1fr}.op-layout-3 .op-rail .op-topnav{display:none}.op-layout-3 .op-services-vertical{display:grid;grid-template-columns:repeat(3,1fr)}.op-layout-4 .op-floating-head{margin:0}.op-layout-4>.op-hero{min-height:360px}.op-layout-4 .op-overlay-services{margin:0}.op-layout-7 .op-services-executive{display:grid;grid-template-columns:repeat(3,1fr)}.op-layout-8 .op-command-side{order:2}.op-layout-2 .op-news-editorial .op-news-grid,.op-layout-4 .op-news-magazine .op-news-grid,.op-layout-6 .op-news-ticker .op-news-grid,.op-layout-7 .op-news-executive .op-news-grid,.op-layout-8 .op-news-command .op-news-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.op-site-head{padding:12px}.op-topnav{display:none}.op-layout-2 .op-site-head{display:flex}.op-service-strip{grid-template-columns:repeat(2,1fr)!important}.op-layout-3 .op-services-vertical{grid-template-columns:repeat(2,1fr)}.op-layout-4 .op-news-magazine .op-news-grid,.op-layout-8 .op-gallery-command .op-gallery-grid,.op-layout-2 .op-gallery-masonry .op-gallery-grid{grid-template-columns:1fr}.op-layout-4 .op-news-magazine article,.op-layout-4 .op-news-magazine article:first-child{grid-column:auto}.op-layout-1 .op-news-grid,.op-layout-2 .op-news-editorial .op-news-grid,.op-layout-6 .op-news-ticker .op-news-grid,.op-layout-7 .op-news-executive .op-news-grid,.op-layout-8 .op-news-command .op-news-grid{grid-template-columns:1fr}.op-opposite-logo,.op-logo{max-width:56px;height:48px}.op-brand strong{font-size:14px}.op-brand small{font-size:11px}}

/* Related links footer */
.op-footer{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,1.2fr) minmax(0,1fr);gap:26px;align-items:start;padding:28px}.op-footer-org,.op-footer-contact,.op-footer-links{min-width:0}.op-footer-contact{display:flex;flex-direction:column;gap:8px}.op-footer-links{text-align:center}.op-footer-links h3{margin:0 0 12px;font-size:15px}.op-related-links-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;text-align:right}.op-related-links-grid a{display:block;color:inherit;text-decoration:none;font-size:13px;line-height:1.8;padding:3px 0}.op-related-links-grid a:before{content:'‹';margin-left:6px;opacity:.65}.op-related-links-grid a:hover{text-decoration:underline}.op-footer-copy{grid-column:1/-1;text-align:center;border-top:1px solid rgba(127,127,127,.18);padding-top:14px}.op-layout-8 .op-related-links-grid a{color:#dce7ee}@media(max-width:760px){.op-footer{grid-template-columns:1fr;text-align:center}.op-footer-contact{align-items:center}.op-related-links-grid{max-width:520px;margin:auto}.op-footer-copy{grid-column:auto}}@media(max-width:430px){.op-related-links-grid{grid-template-columns:1fr}}


/* Configurable columns and activation */
.op-news-grid{grid-auto-flow:dense}.op-inactive-notice{max-width:900px;margin:30px auto;padding:22px;border:1px solid #e0b84b;background:#fff8df;border-radius:12px;text-align:center;font-family:Tahoma,Arial,sans-serif}
/* Structural isolation: prevent the active WordPress theme/page-builder from reshaping portal elements. */
.op-portal main,.op-portal aside,.op-portal section,.op-portal article,.op-portal header,.op-portal footer,.op-portal nav{float:none;max-width:none}.op-portal main,.op-portal section,.op-portal article,.op-portal aside{margin-block-start:0;margin-block-end:0}.op-portal img{max-width:100%;height:auto}.op-portal a{box-shadow:none}.op-portal .op-configurable-columns{display:grid}
@media(max-width:950px){.op-portal .op-configurable-columns{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:600px){.op-portal .op-configurable-columns{grid-template-columns:1fr!important}}

/* v0.6.1 - strong form isolation against theme/page-builder CSS */
.op-portal .op-public-form-box{display:block!important;width:100%!important;max-width:none!important;min-width:0!important;padding:24px!important;background:var(--op-card,#fff)!important;color:var(--op-text,#182433)!important;border:1px solid #e4e9ef!important;border-radius:14px!important;overflow:visible!important;opacity:1!important;visibility:visible!important}
.op-portal .op-public-form-box h2{display:block!important;margin:0 0 18px!important;color:var(--op-text,#182433)!important;font-size:22px!important;line-height:1.7!important}
.op-portal .op-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;width:100%!important;align-items:start!important}
.op-portal .op-form .op-field{display:flex!important;flex-direction:column!important;gap:7px!important;min-width:0!important;width:100%!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important}
.op-portal .op-form .op-field-full{grid-column:1/-1!important}
.op-portal .op-form label{display:block!important;position:static!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;clip:auto!important;overflow:visible!important;white-space:normal!important;color:#344054!important;font-size:13px!important;font-weight:600!important;line-height:1.8!important;opacity:1!important;visibility:visible!important}
.op-portal .op-form input:not([type=hidden]),
.op-portal .op-form select,
.op-portal .op-form textarea{display:block!important;position:static!important;float:none!important;width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;margin:0!important;padding:12px 14px!important;border:1px solid #cbd5e1!important;border-radius:9px!important;background:#fff!important;background-image:none!important;color:#1f2937!important;-webkit-text-fill-color:#1f2937!important;font-size:14px!important;font-weight:400!important;line-height:1.7!important;box-shadow:none!important;opacity:1!important;visibility:visible!important;filter:none!important;transform:none!important;outline:none!important}
.op-portal .op-form input:not([type=hidden]),.op-portal .op-form select{min-height:46px!important}
.op-portal .op-form select{appearance:auto!important;-webkit-appearance:menulist!important;cursor:pointer!important;padding-inline-end:34px!important}
.op-portal .op-form select option{background:#fff!important;color:#111827!important;-webkit-text-fill-color:#111827!important}
.op-portal .op-form textarea{display:block!important;min-height:150px!important;height:150px!important;resize:vertical!important;overflow:auto!important;white-space:pre-wrap!important}
.op-portal .op-form input::placeholder,.op-portal .op-form textarea::placeholder{color:#98a2b3!important;opacity:1!important;-webkit-text-fill-color:#98a2b3!important}
.op-portal .op-form input:focus,.op-portal .op-form select:focus,.op-portal .op-form textarea:focus{border-color:var(--op-primary,#0b4f7a)!important;box-shadow:0 0 0 3px rgba(11,79,122,.12)!important}
.op-portal .op-form .op-submit-row{align-items:flex-start!important}
.op-portal .op-form button[type=submit]{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;min-width:130px!important;min-height:44px!important;margin:0!important;padding:10px 24px!important;border:0!important;border-radius:9px!important;background:var(--op-primary,#0b4f7a)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:14px!important;font-weight:600!important;line-height:1.5!important;opacity:1!important;visibility:visible!important;cursor:pointer!important;box-shadow:none!important}
.op-portal .op-form button[type=submit]:hover{filter:brightness(.94)!important}
@media(max-width:700px){.op-portal .op-form{grid-template-columns:1fr!important}.op-portal .op-form .op-field-full{grid-column:auto!important}.op-portal .op-public-form-box{padding:18px!important}}

/* v0.6.2 layout stability fixes */
.op-portal.op-layout-8 .op-command-grid{width:100%;min-width:0}.op-portal.op-layout-8 .op-command-grid>main{min-width:0;width:100%}.op-portal.op-layout-8 .op-command-side{min-width:0}.op-portal .op-site-head,.op-portal .op-hero,.op-portal .op-page-shell,.op-portal .op-main-content,.op-portal .op-footer{box-sizing:border-box}.op-portal .op-news-card,.op-portal .op-icon-grid article,.op-portal .op-staff-grid article,.op-portal .op-gallery-grid article{min-width:0}.op-portal .op-topnav{list-style:none}.op-portal .op-topnav a{background:none!important}.op-portal .op-form-section{min-width:0}


/* v0.6.6 - Jalali dates: keep numeric order stable inside RTL layouts */
.op-portal .op-jalali-date{display:inline-block!important;direction:ltr!important;unicode-bidi:isolate!important;white-space:nowrap!important;text-align:left!important;font-variant-numeric:tabular-nums!important;letter-spacing:0!important}
.op-portal .op-card-body small .op-jalali-date,.op-portal .op-card-body>.op-jalali-date{direction:ltr!important;unicode-bidi:isolate!important}

/* v0.6.7 - normalize custom shortcode widgets inside every layout sidebar */
.op-portal .op-sidebar{min-width:0;max-width:100%;align-self:stretch}
.op-portal .op-shortcode-widget{width:100%;max-width:100%;min-width:0;align-self:stretch;overflow:hidden}
.op-portal .op-shortcode-content{display:block;width:100%;max-width:100%;min-width:0;margin:0;padding:0;overflow:hidden}
.op-portal .op-shortcode-content>*,
.op-portal .op-shortcode-content>.widget,
.op-portal .op-shortcode-content>section,
.op-portal .op-shortcode-content>article,
.op-portal .op-shortcode-content>form,
.op-portal .op-shortcode-content>div{width:100%!important;max-width:100%!important;min-width:0!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important}
.op-portal .op-shortcode-content iframe,
.op-portal .op-shortcode-content video,
.op-portal .op-shortcode-content embed,
.op-portal .op-shortcode-content object,
.op-portal .op-shortcode-content table,
.op-portal .op-shortcode-content img{max-width:100%!important;box-sizing:border-box!important}
.op-portal .op-shortcode-content iframe,
.op-portal .op-shortcode-content video,
.op-portal .op-shortcode-content embed,
.op-portal .op-shortcode-content object,
.op-portal .op-shortcode-content table{width:100%!important}
.op-portal .op-shortcode-content input:not([type=checkbox]):not([type=radio]),
.op-portal .op-shortcode-content select,
.op-portal .op-shortcode-content textarea,
.op-portal .op-shortcode-content button{max-width:100%;box-sizing:border-box}
.op-layout-3 .op-console-grid>aside,.op-layout-5 .op-traditional-columns>aside,.op-layout-8 .op-command-side,.op-layout-6 .op-dashboard-grid>section{min-width:0}
@media(max-width:900px){.op-portal .op-shortcode-widget,.op-portal .op-shortcode-content{width:100%;max-width:100%}}


/* v0.6.8 - hard isolation for arbitrary shortcode output in sidebar.
   The wrapper AND common nested card/container levels are forced to the exact sidebar width. */
.op-portal .op-sidebar,
.op-portal .op-sidebar>.op-side-widget,
.op-portal .op-sidebar>.op-shortcode-widget,
.op-portal .op-shortcode-content{width:100%!important;max-width:none!important;min-width:0!important;box-sizing:border-box!important}
.op-portal .op-shortcode-content>*,
.op-portal .op-shortcode-content>*>:where(div,section,article,main,form,aside),
.op-portal .op-shortcode-content>*>*>:where(div,section,article,main,form,aside),
.op-portal .op-shortcode-content :where(.container,.wrapper,.widget,.card,.box,[class*="container"],[class*="wrapper"],[class*="-card"],[class*="_card"],[class*="-box"],[class*="_box"]){
  width:100%!important;max-width:none!important;min-width:0!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important;
}
.op-portal .op-shortcode-content :where(form,table,iframe,video,embed,object){width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
.op-portal .op-shortcode-content :where(img,svg,canvas){max-width:100%!important;height:auto}
/* Prevent parent themes/plugins from shrinking the generated shortcode root. */
.op-portal .op-shortcode-content [style*="width"],
.op-portal .op-shortcode-content [style*="max-width"]{max-width:100%!important;box-sizing:border-box!important}

/* Internal dates are already finalized by OP_Jalali; isolate them from RTL and
   visual rules commonly injected by Persian date plugins. */
.op-portal .op-jalali-date[data-op-date="1"]{
  display:inline-block!important;direction:ltr!important;unicode-bidi:isolate!important;
  white-space:nowrap!important;text-align:left!important;font-family:inherit!important;
}

/* v0.6.9 - full responsive system for all eight layouts */
.op-portal{width:min(100% - 24px,1440px);max-width:1440px}
.op-portal :where(.op-page-shell,.op-main-content,.op-console,.op-console-grid,.op-traditional-columns,.op-dashboard-grid,.op-exec-hero-row,.op-exec-news-about,.op-exec-bottom,.op-command-grid,.op-visual-split,.op-section,.op-sidebar,.op-command-side){min-width:0}
.op-portal :where(.op-news-grid,.op-icon-grid,.op-staff-grid,.op-gallery-grid){min-width:0}
.op-portal :where(.op-news-card,.op-icon-grid article,.op-staff-grid article,.op-gallery-grid article,.op-about-card){min-width:0;overflow-wrap:anywhere}
.op-portal .op-main-content{max-width:100%}
.op-portal .op-shortcode-content{overflow-x:auto;overflow-y:visible}
.op-portal .op-shortcode-content :where(table){table-layout:auto}

/* Wide tablet / small laptop: reduce dense six-column grids before they collapse. */
@media (max-width:1180px){
  .op-portal{width:calc(100% - 16px);margin:8px auto;border-radius:14px}
  .op-portal .op-configurable-columns{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .op-portal .op-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .op-portal .op-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .op-portal .op-site-head{padding-inline:20px;gap:16px}
  .op-portal .op-topnav{gap:10px}
  .op-portal .op-topnav a{font-size:12px}
  .op-portal .op-hero{padding-inline:32px}
  .op-portal .op-service-strip{grid-template-columns:repeat(3,minmax(0,1fr));transform:none;padding:14px 20px}

  /* Layout 1: sidebar stacks, so arbitrary shortcodes receive full page width. */
  .op-layout-1 .op-page-shell.has-sidebar{display:grid!important;grid-template-columns:1fr!important;gap:18px;padding:18px 22px 32px}
  .op-layout-1 .op-page-shell.has-sidebar>.op-sidebar,
  .op-layout-1 .op-page-shell.has-sidebar>.op-main-content{width:100%!important;max-width:100%!important;flex:none!important;order:initial!important}
  .op-layout-1 .op-sidebar{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
  .op-layout-1 .op-sidebar .op-side-widget{margin-bottom:0}

  /* Layout 2 */
  .op-layout-2 .op-site-head{grid-template-columns:auto minmax(0,1fr) auto;padding:18px 24px}
  .op-layout-2 .op-editorial-main{padding:24px 5% 42px}
  .op-layout-2 .op-news-editorial .op-news-grid{grid-template-columns:1fr 1fr}
  .op-layout-2 .op-news-editorial .op-news-card:first-child{grid-column:1/-1;grid-row:auto}
  .op-layout-2 .op-gallery-masonry .op-gallery-grid{grid-template-columns:1fr 1fr}

  /* Layout 3: vertical rail becomes a top block well before content is squeezed. */
  .op-layout-3{display:block!important}
  .op-layout-3 .op-rail{min-height:auto}
  .op-layout-3 .op-rail .op-site-head{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand alt" "nav nav";align-items:center;padding:16px 20px;gap:12px}
  .op-layout-3 .op-rail .op-brand{grid-area:brand;flex-direction:row;text-align:right}
  .op-layout-3 .op-rail .op-opposite-brand{grid-area:alt;margin:0}
  .op-layout-3 .op-rail .op-topnav{grid-area:nav;display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}
  .op-layout-3 .op-rail .op-topnav a{padding:8px 10px}
  .op-layout-3 .op-services-vertical{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:12px 18px}
  .op-layout-3 .op-services-vertical a{justify-content:center;min-height:64px}
  .op-layout-3 .op-console-grid{grid-template-columns:1fr!important;padding:18px 22px}
  .op-layout-3 .op-console-grid>aside{width:100%;max-width:100%}
  .op-layout-3 .op-console-grid>aside>.op-sidebar{width:100%!important}
  .op-layout-3 .op-console-grid>aside>.op-sidebar .op-side-widget{width:100%!important}
  .op-layout-3 .op-about-panel .op-about-card{grid-template-columns:minmax(180px,.55fr) minmax(0,1fr)}
  .op-layout-3 .op-gallery-compact .op-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

  /* Layout 4 */
  .op-layout-4 .op-floating-head{margin:0!important}
  .op-layout-4>.op-hero{min-height:390px!important}
  .op-layout-4 .op-overlay-services{margin:0!important;padding:12px 5%}
  .op-layout-4 .op-visual-split{grid-template-columns:1fr!important}
  .op-layout-4 .op-news-magazine .op-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .op-layout-4 .op-news-magazine article,.op-layout-4 .op-news-magazine article:first-child{grid-column:auto!important}
  .op-layout-4 .op-gallery-feature .op-gallery-grid{grid-template-columns:1fr 1fr}

  /* Layout 5 */
  .op-layout-5{border-width:6px}
  .op-layout-5 .op-traditional-columns{grid-template-columns:1fr!important;padding:20px 24px}
  .op-layout-5 .op-traditional-columns>aside{width:100%}
  .op-layout-5 .op-services-stack{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .op-layout-5 .op-sidebar{width:100%!important;flex:none!important}
  .op-layout-5 .op-staff-traditional{margin:0 24px 22px}

  /* Layout 6 */
  .op-layout-6 .op-dashboard-grid{grid-template-columns:1fr 1fr!important;padding:16px 20px 26px}
  .op-layout-6 .op-dash-wide{grid-column:1/-1}
  .op-layout-6 .op-news-ticker .op-news-grid{grid-template-columns:1fr 1fr}
  .op-layout-6 .op-dashboard-grid .op-sidebar{width:100%!important}

  /* Layout 7 */
  .op-layout-7 .op-exec-hero-row{grid-template-columns:1fr!important}
  .op-layout-7 .op-exec-hero-row>aside{padding:12px}
  .op-layout-7 .op-services-executive{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .op-layout-7 .op-exec-news-about,.op-layout-7 .op-exec-bottom{grid-template-columns:1fr!important}
  .op-layout-7 .op-news-executive .op-news-grid{grid-template-columns:1fr 1fr}

  /* Layout 8 */
  .op-layout-8 .op-command-grid{grid-template-columns:1fr!important;padding:18px 22px}
  .op-layout-8 .op-command-side{width:100%;max-width:100%;order:2!important}
  .op-layout-8 .op-command-side .op-services-vertical{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0 0 14px}
  .op-layout-8 .op-command-side .op-sidebar{width:100%!important}
  .op-layout-8 .op-news-command .op-news-grid,.op-layout-8 .op-gallery-command .op-gallery-grid{grid-template-columns:1fr 1fr}
}

/* Tablet */
@media (max-width:820px){
  .op-portal{width:calc(100% - 10px);margin:5px auto;border-radius:10px}
  .op-portal .op-site-head{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;gap:10px;padding:12px 14px!important}
  .op-portal .op-brand{min-width:0!important;grid-column:auto!important;flex-direction:row!important;text-align:right!important}
  .op-portal .op-brand>div{min-width:0}
  .op-portal .op-brand strong,.op-portal .op-brand small{white-space:normal;overflow-wrap:anywhere}
  .op-portal .op-topnav{grid-column:1/-1!important;grid-row:auto!important;display:flex!important;overflow-x:auto;flex-wrap:nowrap!important;justify-content:flex-start!important;gap:6px;padding:8px 0 2px!important;background:transparent!important;border:0!important;border-radius:0!important;scrollbar-width:thin}
  .op-portal .op-topnav a{flex:0 0 auto;padding:7px 10px;border:1px solid rgba(127,127,127,.18);border-radius:8px;white-space:nowrap}
  .op-portal .op-opposite-brand{grid-column:auto!important;justify-self:end!important;margin:0!important}
  .op-portal .op-logo,.op-portal .op-opposite-logo{max-width:58px!important;width:auto!important;height:46px!important}
  .op-portal .op-hero{min-height:auto!important;padding:28px 20px!important;gap:18px}
  .op-portal .op-hero-copy{max-width:100%!important}
  .op-portal .op-hero h1{font-size:28px!important}
  .op-portal .op-hero-art{width:34%;min-width:160px;height:170px}
  .op-portal .op-service-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:12px 14px!important;gap:8px}
  .op-portal .op-configurable-columns{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .op-portal .op-news-grid,.op-portal .op-gallery-grid{grid-template-columns:1fr 1fr!important}
  .op-portal .op-about-card{grid-template-columns:1fr!important}
  .op-portal .op-about-art{min-height:190px}
  .op-portal .op-section-title{align-items:flex-start;gap:8px}
  .op-portal .op-section-title h2{font-size:20px}
  .op-portal .op-section{padding:22px 0}
  .op-portal .op-footer{grid-template-columns:1fr!important;text-align:center;padding:24px 18px}
  .op-portal .op-footer-contact{align-items:center}
  .op-portal .op-related-links-grid{max-width:560px;margin:auto}

  .op-layout-3 .op-rail .op-site-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important}
  .op-layout-3 .op-rail .op-topnav{grid-column:1/-1!important}
  .op-layout-3 .op-console-top .op-hero{margin:14px}
  .op-layout-3 .op-console-grid{padding:14px}
  .op-layout-3 .op-gallery-compact .op-gallery-grid{grid-template-columns:1fr 1fr}
  .op-layout-3 .op-news-list .op-news-card{grid-template-columns:100px minmax(0,1fr)}

  .op-layout-4 .op-floating-head .op-site-head{border-radius:0!important}
  .op-layout-4 .op-gallery-feature .op-gallery-grid{grid-template-columns:1fr!important}

  .op-layout-5 .op-site-head{margin:0 12px}
  .op-layout-5 .op-traditional-columns{padding:14px 16px}
  .op-layout-5 .op-services-stack{grid-template-columns:repeat(2,minmax(0,1fr))}
  .op-layout-5 .op-staff-traditional{margin:0 16px 18px}

  .op-layout-6 .op-dashboard-grid{grid-template-columns:1fr!important;padding:14px}
  .op-layout-6 .op-dash-wide{grid-column:auto}
  .op-layout-6 .op-news-ticker .op-news-grid{grid-template-columns:1fr!important}

  .op-layout-7 .op-services-executive{grid-template-columns:repeat(2,minmax(0,1fr))}
  .op-layout-7 .op-news-executive .op-news-grid{grid-template-columns:1fr!important}
  .op-layout-7 .op-deps-rail .op-icon-grid{display:grid;grid-template-columns:1fr 1fr!important;overflow:visible}
  .op-layout-7 .op-deps-rail .op-icon-grid article{min-width:0}

  .op-layout-8 .op-command-grid{padding:14px}
  .op-layout-8 .op-command-side .op-services-vertical{grid-template-columns:repeat(2,minmax(0,1fr))}
  .op-layout-8 .op-news-command .op-news-grid,.op-layout-8 .op-gallery-command .op-gallery-grid{grid-template-columns:1fr!important}
}

/* Mobile */
@media (max-width:560px){
  .op-portal{width:100%;margin:0;border-radius:0;box-shadow:none}
  .op-portal .op-site-head{grid-template-columns:auto minmax(0,1fr) auto!important;padding:10px!important}
  .op-portal .op-logo,.op-portal .op-opposite-logo{max-width:48px!important;height:40px!important}
  .op-portal .op-logo-fallback{width:40px;height:40px}
  .op-portal .op-brand{gap:7px}
  .op-portal .op-brand strong{font-size:13px!important;line-height:1.5}
  .op-portal .op-brand small{font-size:9px!important;margin-top:2px}
  .op-portal .op-topnav{font-size:11px}
  .op-portal .op-topnav a{font-size:11px;padding:6px 8px}
  .op-portal .op-hero{display:block!important;padding:22px 14px!important;text-align:right}
  .op-portal .op-hero h1{font-size:23px!important;margin:6px 0}
  .op-portal .op-hero p{font-size:13px}
  .op-portal .op-hero-art{display:none!important}
  .op-portal .op-search-fake{max-width:none;width:100%;padding:10px 13px}
  .op-portal .op-service-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:10px!important}
  .op-portal .op-service-strip a{min-height:66px!important;padding:8px!important}
  .op-portal .op-configurable-columns,
  .op-portal .op-news-grid,
  .op-portal .op-gallery-grid,
  .op-portal .op-staff-grid,
  .op-portal .op-icon-grid{grid-template-columns:1fr!important}
  .op-portal .op-page-shell,.op-portal .op-page-shell.has-sidebar{padding:10px!important;gap:12px!important}
  .op-portal .op-sidebar{width:100%!important;max-width:100%!important;flex:none!important}
  .op-portal .op-side-widget{padding:12px;margin-bottom:12px}
  .op-portal .op-main-content{width:100%!important}
  .op-portal .op-section{padding:18px 0}
  .op-portal .op-section-title{display:block}
  .op-portal .op-section-title span{display:block;margin-top:4px}
  .op-portal .op-news-card,.op-portal .op-featured-news{display:block!important;grid-column:auto!important;grid-row:auto!important}
  .op-portal .op-thumb,.op-portal .op-featured-news .op-thumb{height:160px!important;min-height:0!important}
  .op-portal .op-card-body{padding:12px}
  .op-portal .op-about-card{display:block!important;padding:12px}
  .op-portal .op-about-art{min-height:170px;margin-bottom:12px}
  .op-portal .op-gallery-art{height:150px}
  .op-portal .op-form{grid-template-columns:1fr!important}
  .op-portal .op-public-form-box{padding:14px!important}
  .op-portal .op-related-links-grid{grid-template-columns:1fr!important}

  /* Arbitrary shortcode output: full width and horizontally scroll only when its own UI cannot shrink. */
  .op-portal .op-shortcode-widget,.op-portal .op-shortcode-content{width:100%!important;max-width:100%!important;min-width:0!important}
  .op-portal .op-shortcode-content :where(.container,.wrapper,.widget,.card,.box,[class*="container"],[class*="wrapper"]){min-width:0!important;width:100%!important;max-width:100%!important}
  .op-portal .op-shortcode-content :where(table,iframe,video,embed,object){max-width:100%!important}

  .op-layout-2 .op-editorial-main,.op-layout-4 .op-visual-main,.op-layout-7 .op-exec-main{padding:16px 12px 28px}
  .op-layout-3 .op-rail .op-site-head{padding:10px!important}
  .op-layout-3 .op-services-vertical{grid-template-columns:repeat(2,minmax(0,1fr));padding:8px 10px}
  .op-layout-3 .op-console-grid{padding:10px}
  .op-layout-3 .op-console-grid main .op-section{padding:14px;margin-bottom:12px}
  .op-layout-3 .op-news-list .op-news-card{display:block!important}
  .op-layout-3 .op-news-list .op-thumb{height:150px!important}
  .op-layout-3 .op-about-panel .op-about-card{grid-template-columns:1fr!important}
  .op-layout-3 .op-gallery-compact .op-gallery-grid{grid-template-columns:1fr!important}

  .op-layout-4>.op-hero{min-height:auto!important}
  .op-layout-4 .op-overlay-services{padding:8px 10px}

  .op-layout-5{border-width:0!important}
  .op-layout-5 .op-ornament{letter-spacing:7px}
  .op-layout-5 .op-site-head{margin:0!important}
  .op-layout-5 .op-traditional-columns{padding:10px}
  .op-layout-5 .op-services-stack{grid-template-columns:1fr 1fr}
  .op-layout-5 .op-news-traditional .op-news-grid,.op-layout-5 .op-deps-traditional .op-icon-grid{grid-template-columns:1fr!important}
  .op-layout-5 .op-staff-traditional{margin:0 10px 14px;padding:14px}

  .op-layout-6 .op-dashboard-grid{padding:10px}
  .op-layout-6 .op-dashboard-grid>section{padding:12px}

  .op-layout-7 .op-services-executive{grid-template-columns:1fr 1fr}
  .op-layout-7 .op-deps-rail .op-icon-grid{grid-template-columns:1fr!important}

  .op-layout-8 .op-command-grid{padding:10px}
  .op-layout-8 .op-command-side{padding:10px}
  .op-layout-8 .op-command-side .op-services-vertical{grid-template-columns:1fr 1fr}
}

/* ========================================================================
   v0.7.0 — container-aware responsive layout engine
   The portal can be embedded in a narrow WordPress content column while the
   browser viewport is still wide. Media queries alone cannot detect that.
   front.js therefore classifies each .op-portal by its ACTUAL rendered width.
   ======================================================================== */

/* Root isolation and safe typography */
.op-portal{
  width:100%!important;
  max-width:1440px;
  min-width:0!important;
  container-type:inline-size;
  container-name:office-portal;
}
.op-portal,
.op-portal *{
  min-inline-size:0;
}
.op-portal :where(h1,h2,h3,h4,h5,h6,p,span,a,small,label,li,td,th,strong,em){
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  hyphens:none!important;
}
.op-portal :where(.op-news-card,.op-icon-grid article,.op-staff-grid article,.op-gallery-grid article,.op-about-card){
  overflow-wrap:break-word!important;
  word-break:normal!important;
}

/* Sidebar contract: never collapse below its usable desktop width. */
.op-portal .op-sidebar{
  min-width:280px!important;
  width:100%;
  max-width:100%;
}
.op-portal .op-side-widget,
.op-portal .op-shortcode-widget,
.op-portal .op-shortcode-content{
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
}
.op-portal .op-side-widget :where(p,h1,h2,h3,h4,h5,h6,a,span,small,strong,label){
  word-break:normal!important;
  overflow-wrap:break-word!important;
}

/* Layout 1: stable explicit grid instead of width calculations. */
.op-layout-1 .op-page-shell.has-sidebar{
  display:grid!important;
  grid-template-columns:minmax(280px,320px) minmax(0,1fr)!important;
  align-items:start;
}
.op-layout-1.op-side-left .op-page-shell.has-sidebar{grid-template-columns:minmax(0,1fr) minmax(280px,320px)!important}
.op-layout-1 .op-page-shell.has-sidebar>.op-sidebar,
.op-layout-1 .op-page-shell.has-sidebar>.op-main-content{
  width:100%!important;
  max-width:100%!important;
  flex:none!important;
}
.op-layout-1.op-side-right .op-page-shell>.op-sidebar{grid-column:1;order:initial}
.op-layout-1.op-side-right .op-page-shell>.op-main-content{grid-column:2;order:initial}
.op-layout-1.op-side-left .op-page-shell>.op-main-content{grid-column:1;order:initial}
.op-layout-1.op-side-left .op-page-shell>.op-sidebar{grid-column:2;order:initial}

/* Layout 3: sidebar content gets a real usable rail. Never squeeze an image+text
   card into 80px; it becomes a stacked card inside the auxiliary column. */
.op-layout-3 .op-console-grid{
  grid-template-columns:minmax(0,1fr) minmax(300px,340px)!important;
  align-items:start;
}
.op-layout-3 .op-console-grid>main,
.op-layout-3 .op-console-grid>aside{min-width:0!important;width:100%!important;max-width:100%!important}
.op-layout-3 .op-console-grid>aside>.op-sidebar{min-width:0!important;width:100%!important;max-width:100%!important}
.op-layout-3 .op-console-grid>aside .op-about-card{
  display:block!important;
  grid-template-columns:none!important;
  width:100%!important;
}
.op-layout-3 .op-console-grid>aside .op-about-art{
  width:100%!important;
  min-height:180px!important;
  margin:0 0 14px!important;
}
.op-layout-3 .op-console-grid>aside .op-gallery-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.op-layout-3 .op-console-grid>aside .op-gallery-grid article{min-width:0!important}
.op-layout-3 .op-console-grid>aside .op-gallery-art{height:110px!important}

/* Layout 5 auxiliary column */
.op-layout-5 .op-traditional-columns{
  grid-template-columns:minmax(0,1fr) minmax(290px,330px)!important;
  align-items:start;
}
.op-layout-5 .op-traditional-columns>aside{min-width:0!important;width:100%!important}
.op-layout-5 .op-traditional-columns>aside .op-sidebar{min-width:0!important}
.op-layout-5 .op-gallery-mini .op-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}

/* Layout 8 command side must remain usable when it is beside the main area. */
.op-layout-8 .op-command-grid{
  grid-template-columns:minmax(290px,330px) minmax(0,1fr)!important;
  align-items:start;
}
.op-layout-8 .op-command-side{min-width:0!important;width:100%!important;max-width:100%!important}
.op-layout-8 .op-command-side .op-sidebar{min-width:0!important;width:100%!important}

/* Compact cards should never manufacture huge heights because of broken words. */
.op-portal .op-about-card,
.op-portal .op-news-card,
.op-portal .op-gallery-grid article,
.op-portal .op-icon-grid article,
.op-portal .op-staff-grid article{
  height:auto!important;
  align-self:start;
}
.op-portal .op-about-art,
.op-portal .op-thumb,
.op-portal .op-gallery-art{max-width:100%!important}

/* ACTUAL CONTAINER WIDTH <= 1100px --------------------------------------- */
.op-portal.op-width-medium{
  margin:8px auto!important;
  border-radius:14px;
}
.op-portal.op-width-medium .op-site-head{padding-inline:20px!important;gap:14px!important}
.op-portal.op-width-medium .op-topnav{gap:8px!important}
.op-portal.op-width-medium .op-configurable-columns{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.op-portal.op-width-medium .op-news-grid,
.op-portal.op-width-medium .op-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.op-portal.op-width-medium .op-service-strip{grid-template-columns:repeat(3,minmax(0,1fr))!important;transform:none!important;padding:14px 18px!important}

.op-layout-1.op-width-medium .op-page-shell.has-sidebar{
  grid-template-columns:1fr!important;
  gap:16px!important;
}
.op-layout-1.op-width-medium .op-page-shell.has-sidebar>.op-sidebar,
.op-layout-1.op-width-medium .op-page-shell.has-sidebar>.op-main-content{
  grid-column:1!important;order:initial!important;min-width:0!important;width:100%!important;
}
.op-layout-1.op-width-medium .op-sidebar{min-width:0!important;display:grid!important;grid-template-columns:1fr 1fr;gap:14px}
.op-layout-1.op-width-medium .op-sidebar .op-side-widget{margin:0!important}

/* Critical fix for screenshot: layout 3 changes from rail+console to stacked
   layout based on PORTAL width, not browser width. */
.op-layout-3.op-width-medium{
  display:block!important;
  grid-template-columns:none!important;
}
.op-layout-3.op-width-medium .op-rail{min-height:auto!important;width:100%!important}
.op-layout-3.op-width-medium .op-rail .op-site-head{
  min-height:auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-areas:"brand alt" "nav nav"!important;
  padding:16px 20px!important;
  gap:12px!important;
}
.op-layout-3.op-width-medium .op-rail .op-brand{grid-area:brand!important;flex-direction:row!important;text-align:right!important}
.op-layout-3.op-width-medium .op-rail .op-opposite-brand{grid-area:alt!important;margin:0!important}
.op-layout-3.op-width-medium .op-rail .op-topnav{grid-area:nav!important;display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:7px!important;width:100%!important}
.op-layout-3.op-width-medium .op-rail .op-topnav a{padding:7px 9px!important}
.op-layout-3.op-width-medium .op-services-vertical{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;padding:12px 18px!important}
.op-layout-3.op-width-medium .op-console{width:100%!important;min-width:0!important}
.op-layout-3.op-width-medium .op-console-grid{grid-template-columns:1fr!important;padding:18px!important}
.op-layout-3.op-width-medium .op-console-grid>aside{width:100%!important;max-width:100%!important}
.op-layout-3.op-width-medium .op-console-grid>aside>.op-sidebar{min-width:0!important;width:100%!important}
.op-layout-3.op-width-medium .op-console-grid>aside .op-about-card{display:grid!important;grid-template-columns:minmax(180px,.55fr) minmax(0,1fr)!important}
.op-layout-3.op-width-medium .op-console-grid>aside .op-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}

.op-layout-5.op-width-medium .op-traditional-columns{grid-template-columns:1fr!important;padding:18px 22px!important}
.op-layout-5.op-width-medium .op-traditional-columns>aside{width:100%!important}
.op-layout-5.op-width-medium .op-sidebar{min-width:0!important}
.op-layout-5.op-width-medium .op-services-stack{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}

.op-layout-6.op-width-medium .op-dashboard-grid{grid-template-columns:1fr 1fr!important}
.op-layout-7.op-width-medium .op-exec-hero-row,
.op-layout-7.op-width-medium .op-exec-news-about,
.op-layout-7.op-width-medium .op-exec-bottom{grid-template-columns:1fr!important}
.op-layout-7.op-width-medium .op-services-executive{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
.op-layout-8.op-width-medium .op-command-grid{grid-template-columns:1fr!important;padding:18px!important}
.op-layout-8.op-width-medium .op-command-side{order:2!important;width:100%!important}
.op-layout-8.op-width-medium .op-command-side .op-services-vertical{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}

/* ACTUAL CONTAINER WIDTH <= 820px ---------------------------------------- */
.op-portal.op-width-compact{margin:5px auto!important;border-radius:10px}
.op-portal.op-width-compact .op-site-head{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  gap:10px!important;
  padding:12px 14px!important;
}
.op-portal.op-width-compact .op-brand{min-width:0!important;flex-direction:row!important;text-align:right!important}
.op-portal.op-width-compact .op-opposite-brand{justify-self:end!important;margin:0!important}
.op-portal.op-width-compact .op-topnav{
  grid-column:1/-1!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  gap:6px!important;
  padding:8px 0 2px!important;
}
.op-portal.op-width-compact .op-topnav a{flex:0 0 auto!important;white-space:nowrap!important;padding:6px 9px!important}
.op-portal.op-width-compact .op-hero{padding:26px 18px!important;min-height:auto!important}
.op-portal.op-width-compact .op-hero h1{font-size:27px!important}
.op-portal.op-width-compact .op-hero-art{min-width:150px!important;height:160px!important}
.op-portal.op-width-compact .op-service-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:10px 12px!important}
.op-portal.op-width-compact .op-configurable-columns{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.op-portal.op-width-compact .op-news-grid,
.op-portal.op-width-compact .op-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.op-portal.op-width-compact .op-about-card{grid-template-columns:1fr!important}
.op-portal.op-width-compact .op-form{grid-template-columns:1fr!important}
.op-portal.op-width-compact .op-form .op-field-full{grid-column:auto!important}
.op-portal.op-width-compact .op-footer{grid-template-columns:1fr!important;text-align:center!important}
.op-portal.op-width-compact .op-footer-contact{align-items:center!important}
.op-portal.op-width-compact .op-sidebar{min-width:0!important;width:100%!important}

.op-layout-3.op-width-compact{display:block!important}
.op-layout-3.op-width-compact .op-rail .op-site-head{grid-template-columns:minmax(0,1fr) auto!important}
.op-layout-3.op-width-compact .op-rail .op-topnav{grid-column:1/-1!important}
.op-layout-3.op-width-compact .op-services-vertical{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
.op-layout-3.op-width-compact .op-console-grid{grid-template-columns:1fr!important;padding:12px!important}
.op-layout-3.op-width-compact .op-console-grid>aside .op-about-card{display:block!important;grid-template-columns:none!important}
.op-layout-3.op-width-compact .op-console-grid>aside .op-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.op-layout-5.op-width-compact .op-traditional-columns{grid-template-columns:1fr!important;padding:12px!important}
.op-layout-6.op-width-compact .op-dashboard-grid{grid-template-columns:1fr!important;padding:12px!important}
.op-layout-7.op-width-compact .op-services-executive{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.op-layout-8.op-width-compact .op-command-grid{grid-template-columns:1fr!important;padding:12px!important}
.op-layout-8.op-width-compact .op-command-side .op-services-vertical{grid-template-columns:repeat(2,minmax(0,1fr))!important}

/* ACTUAL CONTAINER WIDTH <= 560px ---------------------------------------- */
.op-portal.op-width-mobile{margin:0!important;border-radius:0!important;box-shadow:none!important}
.op-portal.op-width-mobile .op-site-head{grid-template-columns:auto minmax(0,1fr) auto!important;padding:10px!important}
.op-portal.op-width-mobile .op-logo,
.op-portal.op-width-mobile .op-opposite-logo{max-width:48px!important;height:40px!important}
.op-portal.op-width-mobile .op-brand strong{font-size:13px!important}
.op-portal.op-width-mobile .op-brand small{font-size:9px!important}
.op-portal.op-width-mobile .op-hero{display:block!important;padding:20px 12px!important}
.op-portal.op-width-mobile .op-hero h1{font-size:22px!important}
.op-portal.op-width-mobile .op-hero-art{display:none!important}
.op-portal.op-width-mobile .op-service-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.op-portal.op-width-mobile :where(.op-configurable-columns,.op-news-grid,.op-gallery-grid,.op-staff-grid,.op-icon-grid){grid-template-columns:1fr!important}
.op-portal.op-width-mobile .op-news-card,
.op-portal.op-width-mobile .op-featured-news{display:block!important;grid-column:auto!important;grid-row:auto!important}
.op-portal.op-width-mobile .op-thumb,
.op-portal.op-width-mobile .op-featured-news .op-thumb{height:160px!important;min-height:0!important}
.op-portal.op-width-mobile .op-about-card{display:block!important}
.op-portal.op-width-mobile .op-about-art{min-height:160px!important;margin-bottom:12px!important}
.op-portal.op-width-mobile .op-related-links-grid{grid-template-columns:1fr!important}
.op-portal.op-width-mobile .op-sidebar{min-width:0!important;width:100%!important}
.op-layout-1.op-width-mobile .op-sidebar{display:block!important}
.op-layout-1.op-width-mobile .op-sidebar .op-side-widget{margin-bottom:12px!important}
.op-layout-3.op-width-mobile{display:block!important}
.op-layout-3.op-width-mobile .op-rail .op-site-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important}
.op-layout-3.op-width-mobile .op-rail .op-topnav{display:flex!important;grid-column:1/-1!important}
.op-layout-3.op-width-mobile .op-services-vertical{grid-template-columns:1fr 1fr!important}
.op-layout-3.op-width-mobile .op-console-grid{grid-template-columns:1fr!important;padding:10px!important}
.op-layout-3.op-width-mobile .op-console-grid>aside .op-gallery-grid{grid-template-columns:1fr!important}
.op-layout-5.op-width-mobile .op-services-stack,
.op-layout-7.op-width-mobile .op-services-executive,
.op-layout-8.op-width-mobile .op-command-side .op-services-vertical{grid-template-columns:1fr 1fr!important}

/* Native container-query fallback/enhancement for JS-disabled pages. */
@container office-portal (max-width:1100px){
  .op-console-grid,.op-traditional-columns,.op-command-grid,.op-exec-news-about,.op-exec-bottom,.op-exec-hero-row{grid-template-columns:1fr!important}
  .op-console-grid>aside,.op-traditional-columns>aside,.op-command-side{width:100%!important;max-width:100%!important}
}
@container office-portal (max-width:820px){
  .op-configurable-columns{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .op-footer{grid-template-columns:1fr!important}
}
@container office-portal (max-width:560px){
  .op-configurable-columns,.op-news-grid,.op-gallery-grid,.op-staff-grid,.op-icon-grid{grid-template-columns:1fr!important}
}
