/* Sorna redesign — shared styles for the magazine news templates (category/single).
   Self-contained: these pages don't load the parent theme CSS. */
:root{
  --cream:#faf7f4; --cream-2:#f2ece6; --wine:#3a0606; --wine-2:#2a0404; --wine-3:#480a0a;
  --red:#dd0b0b; --red-2:#a80808; --rose:#fbeeec;
  --fg:#2b0f0d; --muted:#8a6f6c; --muted-d:#d8b6b2;
  --line:#ece1da; --line-d:rgba(255,235,232,.12);
  --radius:18px; --shadow:0 24px 60px rgba(90,15,10,.14);
  --body:"Shabnam","Vazirmatn",system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0}
#sorna-root{direction:rtl; font-family:var(--body); background:var(--cream); color:var(--fg); line-height:1.95; -webkit-font-smoothing:antialiased; overflow-x:hidden}
#sorna-root h1,#sorna-root h2,#sorna-root h3,#sorna-root h4{margin:0; line-height:1.35; font-weight:800}
#sorna-root p{margin:0 0 1.2rem}
:where(#sorna-root) img{max-width:100%; height:auto; display:block}
:where(#sorna-root) a{color:inherit; text-decoration:none}
.wrap{max-width:1180px; margin-inline:auto; padding-left:max(22px,env(safe-area-inset-left,0px)); padding-right:max(22px,env(safe-area-inset-right,0px))}
.narrow{max-width:1040px}
.btn{display:inline-flex; align-items:center; gap:.6rem; font-weight:800; font-size:.98rem; cursor:pointer; padding:.8rem 1.6rem; border-radius:999px; border:0; transition:transform .18s, background .2s, color .2s}
.btn:hover{transform:translateY(-2px)}
.btn-red{background:var(--red); color:#fff; box-shadow:0 10px 26px rgba(221,11,11,.3)}
.btn-red:hover{background:#c40909; color:#fff}
.btn-ghost{background:#fff; color:var(--red-2); border:1.5px solid var(--line)}
.btn-ghost:hover{border-color:var(--red); color:var(--red)}

/* ---- header ---- */
.shead{position:fixed; inset-inline:0; top:0; z-index:9000; transition:background .35s, border-color .35s; border-bottom:1px solid transparent; background:color-mix(in srgb,var(--wine) 92%, transparent); backdrop-filter:blur(12px)}
.shead.scrolled{border-bottom-color:var(--line-d); box-shadow:0 12px 30px rgba(0,0,0,.25)}
.snav{display:flex; align-items:center; gap:1.3rem; padding-block:1rem; max-width:1180px; margin-inline:auto; padding-left:max(22px,env(safe-area-inset-left,0px)); padding-right:max(22px,env(safe-area-inset-right,0px))}
.sbrand{display:flex; align-items:center; gap:.7rem; font-weight:900; font-size:1.3rem; color:#fff}
.sbrand img{height:44px; width:auto; display:block}
.sbrand .ic{width:40px;height:40px; border-radius:12px; background:var(--red); color:#fff; display:grid; place-items:center}
.sbrand .ic svg{width:22px;height:22px}
.smenu{display:flex; gap:.3rem; margin-inline-start:1.4rem; font-weight:600; font-size:.9rem}
.smenu a{color:rgba(255,255,255,.82); padding:.5rem .8rem; border-radius:10px; position:relative; transition:color .2s}
.smenu a::after{content:""; position:absolute; inset-inline:.8rem; bottom:.28rem; height:2px; background:var(--red); transform:scaleX(0); transform-origin:center; transition:transform .25s}
.smenu a:hover,.smenu a.active{color:#fff} .smenu a:hover::after,.smenu a.active::after{transform:scaleX(1)}
.snav .sp{margin-inline-start:auto}
.shamb{display:none; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.3); color:#fff; width:44px;height:44px; border-radius:12px; cursor:pointer; align-items:center; justify-content:center}
.shamb svg{width:22px;height:22px}
.smobile{position:fixed; inset:0; z-index:8999; background:var(--wine); transform:translateY(-100%); transition:transform .4s cubic-bezier(.4,0,.1,1); display:flex; flex-direction:column; justify-content:center; padding:2rem; gap:.4rem}
.smobile.open{transform:none}
.smobile a{color:#fff; font-size:1.5rem; font-weight:800; padding:.5rem 0; border-bottom:1px solid var(--line-d)}
.smclose{position:absolute; top:1.3rem; inset-inline-start:1.3rem; background:none; border:0; color:#fff; font-size:2.2rem; cursor:pointer; line-height:1}

/* ---- page hero (title banner) ---- */
.nhero{position:relative; background:linear-gradient(120deg,var(--wine),var(--wine-3)); color:#fff; padding:9rem 0 3rem; overflow:hidden}
.nhero::after{content:"♪"; position:absolute; inset-inline-start:4%; top:40%; font-size:9rem; color:rgba(255,220,215,.07)}
.nhero .crumb{color:var(--muted-d); font-size:.86rem; margin-bottom:.8rem}
.nhero .crumb a:hover{color:#ff8a7e}
.nhero h1{font-size:clamp(1.6rem,3.8vw,2.5rem); color:#fff}
.nhero p{color:rgba(255,245,243,.8); margin:.8rem 0 0; max-width:60ch}
.nhero .pill{display:inline-flex; align-items:center; gap:.5rem; background:rgba(221,11,11,.2); border:1px solid rgba(255,120,120,.4); color:var(--rose); padding:.4rem 1rem; border-radius:999px; font-weight:700; font-size:.8rem; margin-bottom:1rem}

/* ---- archive grid ---- */
.narchive{padding-block:clamp(3rem,6vw,4.5rem)}
.ngrid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem}
.ncard{background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; box-shadow:0 10px 30px rgba(90,15,10,.06); transition:transform .22s, box-shadow .22s}
.ncard:hover{transform:translateY(-6px); box-shadow:var(--shadow)}
.ncard .thumb{position:relative; aspect-ratio:16/10; overflow:hidden}
.ncard .thumb img{width:100%;height:100%;object-fit:cover; transition:transform .6s}
.ncard:hover .thumb img{transform:scale(1.07)}
.ncard .cat{position:absolute; top:.7rem; inset-inline-start:.7rem; background:var(--red); color:#fff; font-size:.7rem; font-weight:800; padding:.26rem .7rem; border-radius:999px}
.ncard .b{padding:1.2rem 1.3rem 1.4rem; display:flex; flex-direction:column; flex:1}
.ncard h3{font-size:1.02rem; line-height:1.6; color:var(--fg); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
.ncard .ex{color:var(--muted); font-size:.86rem; line-height:1.8; margin-top:.6rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; flex:1}
.ncard .meta{display:flex; align-items:center; justify-content:space-between; margin-top:1rem; padding-top:.9rem; border-top:1px solid var(--line)}
.ncard .date{color:var(--muted); font-size:.8rem; display:inline-flex; align-items:center; gap:.4rem}
.ncard .more{color:var(--red-2); font-weight:800; font-size:.84rem}

/* feature (first) card spans wide */
.ngrid .ncard.feat{grid-column:1 / -1; flex-direction:row}
.ngrid .ncard.feat .thumb{flex:1.25; aspect-ratio:auto; min-height:300px}
.ngrid .ncard.feat .b{flex:1; justify-content:center; padding:2rem 2.2rem}
.ngrid .ncard.feat h3{font-size:clamp(1.2rem,2.1vw,1.65rem); -webkit-line-clamp:3}
.ngrid .ncard.feat .ex{-webkit-line-clamp:3; font-size:.92rem}

/* pagination */
.spage{display:flex; gap:.5rem; justify-content:center; margin-top:3rem; flex-wrap:wrap}
.spage a,.spage span{min-width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; padding:0 .9rem; border-radius:12px; border:1px solid var(--line); background:#fff; color:var(--fg); font-weight:700; transition:.2s}
.spage a:hover{border-color:var(--red); color:var(--red)}
.spage .current{background:var(--red); border-color:var(--red); color:#fff}

/* ---- single article ---- */
.sarticle{padding-block:clamp(2.5rem,5vw,4rem)}
.sarticle .shero{position:relative; border-radius:22px; overflow:hidden; aspect-ratio:16/9; background:#0c0607; box-shadow:var(--shadow); margin-bottom:-4.5rem}
.sarticle .shero img{width:100%;height:100%;object-fit:contain}
.scard-body{position:relative; background:#fff; border:1px solid var(--line); border-radius:22px; padding:clamp(1.6rem,4vw,3.2rem); box-shadow:0 20px 50px rgba(90,15,10,.08)}
.sarticle .cat{display:inline-flex; background:var(--red); color:#fff; font-size:.75rem; font-weight:800; padding:.3rem .9rem; border-radius:999px}
.sarticle h1{font-size:clamp(1.4rem,3vw,2.1rem); line-height:1.5; color:var(--fg); margin:1rem 0 .8rem}
.sarticle .meta{display:flex; flex-wrap:wrap; gap:1.2rem; color:var(--muted); font-size:.88rem; padding-bottom:1.4rem; margin-bottom:1.6rem; border-bottom:1px solid var(--line)}
.sarticle .meta span{display:inline-flex; align-items:center; gap:.4rem}
.content{font-size:1.02rem; line-height:2; color:#3a2420}
.content p{margin:0 0 1.3rem}
.content h2{font-size:1.32rem; margin:2rem 0 .9rem; color:var(--fg)}
.content h3{font-size:1.12rem; margin:1.6rem 0 .8rem; color:var(--fg)}
.content img{border-radius:14px; margin:1.4rem auto; box-shadow:0 14px 34px rgba(90,15,10,.1)}
.content a{color:var(--red-2); font-weight:700; text-decoration:underline; text-underline-offset:3px}
.content a:hover{color:var(--red)}
.content ul,.content ol{padding-inline-start:1.4rem; margin:0 0 1.3rem}
.content li{margin-bottom:.5rem}
.content blockquote{border-inline-start:4px solid var(--red); background:var(--cream-2); margin:1.6rem 0; padding:1rem 1.4rem; border-radius:0 12px 12px 0; color:var(--fg)}
.content iframe,.content video{max-width:100%; border-radius:14px; margin:1.2rem 0}
.sart-foot{display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; margin-top:2rem; padding-top:1.6rem; border-top:1px solid var(--line)}

/* related */
.related{background:var(--cream-2); padding-block:clamp(2.5rem,5vw,4rem)}
.related h2{font-size:clamp(1.35rem,2.6vw,1.75rem); margin-bottom:1.8rem; color:var(--fg)}

/* ---- footer ---- */
.sfoot{background:var(--wine-2); color:#fff; padding-block:3.5rem 2rem}
.foot{display:grid; grid-template-columns:1.7fr 1fr 1fr; gap:2rem}
.foot p{color:var(--muted-d); font-size:.95rem; margin-top:1.1rem; max-width:36ch}
.foot h4{font-size:.8rem; letter-spacing:.14em; color:#ff7a6e; margin:0 0 1.1rem; font-weight:800}
.foot ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.7rem}
.foot a{color:rgba(255,255,255,.8); font-size:.95rem} .foot a:hover{color:#ff7a6e}
.foot .site{color:#ff7a6e; font-weight:700}
.baseline{border-top:1px solid var(--line-d); margin-top:2.6rem; padding-top:1.5rem; color:var(--muted-d); font-size:.82rem; text-align:center}

/* ---- generic inner page (VC content wrapped in sorna chrome) ---- */
.ppage{padding-block:clamp(2.2rem,5vw,3.8rem)}
.ppage .vc-page{font-size:.97rem; line-height:1.9; color:#3a2420}
.ppage .vc-page img{border-radius:14px; box-shadow:0 12px 30px rgba(90,15,10,.08)}
.ppage .vc-page h1,.ppage .vc-page h2,.ppage .vc-page h3,.ppage .vc-page h4{color:var(--fg); line-height:1.5}
.ppage .vc-page :where(a:not([class])){color:var(--red-2); font-weight:700}
.ppage .vc-page :where(a:not([class])):hover{color:var(--red)}
.ppage .vc-page .vc_row{margin-bottom:1rem}
.ppage .vc-page .wpb_single_image img{margin-inline:auto}
.ppage-foot{display:flex; gap:1rem; flex-wrap:wrap; justify-content:center; margin-top:2.6rem; padding-top:1.8rem; border-top:1px solid var(--line)}

/* ---- galleries → uniform mosaic grid (overrides VC/theme float & carousel) ----
   Applies BOTH in VC inner pages (.vc-page) and inside news articles (.content). */
:is(.vc-page,.content) .vc_pageable-slide-wrapper,
:is(.vc-page,.content) .gallery,
:is(.vc-page,.content) .thim-carousel-wrapper .gallery-slider-content{
  display:grid !important; grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
  gap:.6rem; margin:1.8rem 0 !important; transform:none !important; width:100% !important; left:auto !important; float:none !important}
/* keep the VC grid row itself a plain full-width block (not a grid) */
:is(.vc-page,.content) .vc_grid.vc_row,:is(.vc-page,.content) .vc_grid-container,:is(.vc-page,.content) .vc_grid-container-wrapper{display:block !important; width:auto !important}
:is(.vc-page,.content) .vc_grid-item,
:is(.vc-page,.content) .gallery-item,
:is(.vc-page,.content) .thim-carousel-wrapper .gallery-slider-content > *{
  width:auto !important; float:none !important; padding:0 !important; margin:0 !important;
  aspect-ratio:1/1; overflow:hidden; border-radius:12px; list-style:none; box-shadow:0 8px 22px rgba(90,15,10,.1)}
:is(.vc-page,.content) .vc_grid-item > *,
:is(.vc-page,.content) .gallery-item > *,
:is(.vc-page,.content) .gallery-item > a{height:100% !important; width:100% !important; display:block}
:is(.vc-page,.content) .vc_grid-item img,
:is(.vc-page,.content) .gallery-item img,
:is(.vc-page,.content) .thim-carousel-wrapper .gallery-slider-content img{
  width:100% !important; height:100% !important; object-fit:cover; display:block; border:0 !important; border-radius:0; margin:0 !important; box-shadow:none !important; cursor:zoom-in; transition:transform .5s}
:is(.vc-page,.content) .gallery br,
:is(.vc-page,.content) .vc_grid .vc_pagination,
:is(.vc-page,.content) .thim-carousel-wrapper .slick-arrow,
:is(.vc-page,.content) .gallery-item .gallery-caption{display:none !important}
:is(.vc-page,.content) .vc_grid-item:hover img,
:is(.vc-page,.content) .gallery-item:hover img{transform:scale(1.07)}

/* ---- news article media: responsive video + framed single images ---- */
.content iframe{width:100% !important; aspect-ratio:16/9; height:auto !important; min-height:0; border-radius:16px; margin:1.8rem 0; box-shadow:0 16px 40px rgba(90,15,10,.14); background:#0c0607}
.content .wp-video,.content video{width:100% !important; border-radius:16px; margin:1.8rem 0}
.content > p > img,.content > img,.content figure img{border-radius:16px; box-shadow:0 16px 40px rgba(90,15,10,.12); margin:1.6rem auto}
.content figure{margin:1.6rem 0}
.content figcaption{text-align:center; color:var(--muted); font-size:.85rem; margin-top:.5rem}

/* ---- click-to-zoom lightbox (galleries + article images) ---- */
.sorna-lb{position:fixed; inset:0; z-index:99999; background:rgba(12,4,4,.93); display:none; align-items:center; justify-content:center; padding:3vmin; cursor:zoom-out; backdrop-filter:blur(5px)}
.sorna-lb.open{display:flex; animation:sorna-lb-in .22s ease}
@keyframes sorna-lb-in{from{opacity:0}to{opacity:1}}
.sorna-lb img{max-width:94vw; max-height:90vh; border-radius:12px; box-shadow:0 30px 90px rgba(0,0,0,.6)}
.sorna-lb .x{position:fixed; top:16px; inset-inline-start:22px; width:46px; height:46px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.3); color:#fff; font-size:1.8rem; line-height:1; cursor:pointer}
.sorna-lb .x:hover{background:rgba(255,255,255,.22)}
.sorna-lb .nav{position:fixed; top:50%; transform:translateY(-50%); width:52px; height:52px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.28); color:#fff; font-size:1.8rem; cursor:pointer; user-select:none}
.sorna-lb .nav:hover{background:rgba(255,255,255,.2)}
.sorna-lb .prev{inset-inline-end:18px} .sorna-lb .next{inset-inline-start:18px}
.sorna-lb .count{position:fixed; bottom:20px; inset-inline:0; text-align:center; color:rgba(255,255,255,.8); font-size:.9rem; font-weight:700; direction:ltr}
@media (max-width:560px){ .sorna-lb .nav{width:44px;height:44px} }

/* ===== Bespoke About page (1408) ===== */
.sabout{padding-block:clamp(2.4rem,5vw,4rem)}
.lead-split{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(1.6rem,4vw,3.2rem); align-items:center}
.lead-split .txt h2{font-size:clamp(1.35rem,2.6vw,1.85rem); color:var(--fg); margin-bottom:1.1rem}
.lead-split .txt h2 .u{color:var(--red-2)}
.lead-split .txt p{font-size:1rem; line-height:1.95; color:#3a2420; margin:0 0 1.1rem}
.lead-split .pic{position:relative; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); aspect-ratio:4/3}
.lead-split .pic img{width:100%; height:100%; object-fit:cover}
.lead-split .pic::after{content:""; position:absolute; inset:0; background:linear-gradient(200deg,transparent 55%,rgba(42,4,4,.4))}
.lead-split .pic .tag{position:absolute; inset-inline-start:1.1rem; bottom:1.1rem; z-index:2; color:#fff; font-weight:800; font-size:.95rem; background:rgba(221,11,11,.9); padding:.4rem 1rem; border-radius:999px}

.stat-row{display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem; margin-top:clamp(2.4rem,5vw,3.6rem)}
.stat{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:1.6rem 1.2rem; text-align:center; box-shadow:0 10px 30px rgba(90,15,10,.06)}
.stat .n{font-size:clamp(1.6rem,3vw,2.1rem); font-weight:900; color:var(--red-2); line-height:1.1}
.stat .l{color:var(--muted); font-size:.92rem; margin-top:.5rem; font-weight:600}

.sect-head{text-align:center; max-width:60ch; margin:clamp(2.8rem,6vw,4.2rem) auto clamp(1.6rem,3vw,2.4rem)}
.sect-head .pill{display:inline-flex; background:var(--rose); color:var(--red-2); padding:.35rem 1rem; border-radius:999px; font-weight:800; font-size:.8rem; margin-bottom:.9rem}
.sect-head h2{font-size:clamp(1.4rem,2.8vw,2rem); color:var(--fg)}
.sect-head p{color:var(--muted); margin-top:.7rem}

.div-cards{display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem}
.div-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:1.8rem 1.6rem; box-shadow:0 10px 30px rgba(90,15,10,.06); transition:transform .22s, box-shadow .22s; border-top:4px solid var(--red)}
.div-card:hover{transform:translateY(-6px); box-shadow:var(--shadow)}
.div-card .ic{width:56px; height:56px; border-radius:16px; background:linear-gradient(140deg,var(--red),var(--red-2)); color:#fff; display:grid; place-items:center; margin-bottom:1.1rem; box-shadow:0 10px 24px rgba(221,11,11,.28)}
.div-card .ic svg{width:28px; height:28px}
.div-card h3{font-size:1.12rem; color:var(--fg); margin-bottom:.7rem}
.div-card p{color:#4a3330; font-size:.9rem; line-height:1.9; margin:0 0 .7rem}
.div-card ul{list-style:none; margin:.4rem 0 0; padding:0; display:flex; flex-direction:column; gap:.5rem}
.div-card li{position:relative; padding-inline-start:1.4rem; color:#4a3330; font-size:.88rem; line-height:1.8}
.div-card li::before{content:"♪"; position:absolute; inset-inline-start:0; color:var(--red); font-weight:900}
.div-card a{color:var(--red-2); font-weight:700; text-decoration:underline; text-underline-offset:3px}

/* ===== Bespoke Contact page (1482) ===== */
.scontact{padding-block:clamp(2.4rem,5vw,4rem)}
.contact-cards{display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; margin-bottom:clamp(2.2rem,5vw,3.4rem)}
.cinfo{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:1.6rem 1.4rem; display:flex; gap:1rem; align-items:flex-start; box-shadow:0 10px 30px rgba(90,15,10,.06)}
.cinfo .ic{flex:none; width:50px; height:50px; border-radius:14px; background:var(--rose); color:var(--red-2); display:grid; place-items:center}
.cinfo .ic svg{width:24px; height:24px}
.cinfo h4{font-size:.95rem; color:var(--muted); font-weight:700; margin-bottom:.35rem}
.cinfo p,.cinfo a{font-size:.98rem; font-weight:800; color:var(--fg); line-height:1.7; margin:0; word-break:break-word}
.cinfo a:hover{color:var(--red)}
.cinfo p.addr{font-size:.92rem; font-weight:600; line-height:1.9}

.contact-main{display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(1.4rem,3vw,2.4rem); align-items:stretch}
.cform{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:clamp(1.6rem,3vw,2.4rem); box-shadow:0 10px 30px rgba(90,15,10,.06)}
.cform h3{font-size:1.22rem; color:var(--fg); margin-bottom:.4rem}
.cform .sub{color:var(--muted); margin-bottom:1.4rem; font-size:.95rem}
.cform input[type=text],.cform input[type=email],.cform input[type=tel],.cform input[type=url],.cform input[type=number],.cform textarea,.cform select{
  width:100%; padding:.85rem 1rem; border:1.5px solid var(--line); border-radius:12px; background:var(--cream);
  font-family:var(--body); font-size:.95rem; color:var(--fg); margin-top:.3rem; transition:border-color .2s, box-shadow .2s, background .2s}
.cform input:focus,.cform textarea:focus,.cform select:focus{outline:none; border-color:var(--red); background:#fff; box-shadow:0 0 0 4px rgba(221,11,11,.1)}
.cform textarea{min-height:130px; resize:vertical}
.cform p{margin:0 0 1rem}
.cform label{font-weight:700; color:var(--fg); font-size:.95rem}
.cform input[type=submit],.cform .wpcf7-submit{width:auto; background:var(--red); color:#fff; border:0; padding:.9rem 2.6rem; border-radius:999px; font-weight:800; font-size:.95rem; cursor:pointer; margin-top:.4rem; box-shadow:0 10px 26px rgba(221,11,11,.3); transition:transform .18s, background .2s}
.cform input[type=submit]:hover,.cform .wpcf7-submit:hover{transform:translateY(-2px); background:#c40909}
.cform .wpcf7-not-valid-tip{color:var(--red-2); font-size:.85rem; margin-top:.3rem}
.cform .wpcf7-response-output{border-radius:12px; margin:1rem 0 0 !important; padding:.8rem 1.1rem !important; font-size:.92rem}
.cmap{border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); border:1px solid var(--line); min-height:440px}
.cmap iframe{width:100%; height:100%; min-height:440px; display:block; border:0}

@media (max-width:960px){
  .lead-split{grid-template-columns:1fr} .lead-split .pic{aspect-ratio:16/10}
  .div-cards{grid-template-columns:1fr} .stat-row{grid-template-columns:repeat(2,1fr)}
  .contact-cards{grid-template-columns:1fr} .contact-main{grid-template-columns:1fr}
  .cmap{min-height:320px} .cmap iframe{min-height:320px}
}

@media (max-width:880px){
  .smenu,.snav .btn-red{display:none} .shamb{display:inline-flex}
  .ngrid{grid-template-columns:repeat(2,1fr)}
  .ngrid .ncard.feat{flex-direction:column} .ngrid .ncard.feat .thumb{min-height:220px; aspect-ratio:16/10}
  .foot{grid-template-columns:1fr 1fr}
  .sarticle .shero{aspect-ratio:16/9; margin-bottom:-2.5rem}
}
@media (max-width:560px){ .ngrid{grid-template-columns:1fr} .foot{grid-template-columns:1fr} }
/* keep galleries a real mosaic (not 1 giant column) on phones */
@media (max-width:620px){
  :is(.vc-page,.content) .vc_pageable-slide-wrapper,
  :is(.vc-page,.content) .gallery,
  :is(.vc-page,.content) .thim-carousel-wrapper .gallery-slider-content{
    grid-template-columns:repeat(3,1fr) !important; gap:.4rem !important}
}
