/* ০৫ জাফরি — নমুনা docs/design/site-templates/pages/t05-jafri থেকে (§৩.৭)। লালবাগ কেল্লার পাথরের জালি: মার্বেল-সাদা জমিন,
   গভীর সবুজ কাঠামো, নীলকান্ত কাজের রঙ; অষ্টকোণ কেবল সংখ্যায়। জালি, সবুজ পট্টি আর মার্বেল টেমপ্লেটের নিজের — স্কুলের রঙ
   (SiteColours) কেবল --primary*, --accent*, --well-* বদলায়। সাজ `.decor-off`-এ সরে; ইংরেজি পাতার অক্ষর-বিন্যাস শেষে
   `:lang(en)`-এ। জালির SVG data: — কোনো অনুরোধ নয়; xmlns কেবল নামস্থান, তাই %68 লেখা (বাইরের ঠিকানার পাহারা)। */

/* Noto Serif Bengali 700 — নাম, শিরোনাম, সংখ্যা, বোতাম (দেহের মুখ base.css-এ); লাতিন ভাগ আগে */
@font-face {
    font-family: "Site Noto Serif Bengali";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../../fonts/site/noto-serif-bengali/noto-serif-bengali-700-latin.v1.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+2000-206F;
}
@font-face {
    font-family: "Site Noto Serif Bengali";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../../fonts/site/noto-serif-bengali/noto-serif-bengali-700-bengali.v1.woff2") format("woff2");
    unicode-range: U+0951-0952, U+0964-0965, U+0980-09FE, U+200C-200D, U+25CC;
}

/* টোকেন */
:root {
    --ground: #F4F6F4;
    --surface: #FFFFFF;
    --surface-2: #E4EEE8;
    --ink: #1A241F;
    --ink-soft: #4F5B54;
    --line: #DCE2DD;
    --primary: #1D5C3F;
    --on-primary: #FFFFFF;
    --primary-text: #1D5C3F;
    --accent: #2B4C8C;
    --on-accent: #FFFFFF;
    --accent-line: #2B4C8C;
    --deep: #12372A;
    --on-deep: #F4F6F4;
    --alert: #A12D2D;
    --on-alert: #FFFFFF;
    --well-bg: var(--surface);
    --well-ink: var(--primary-text);
    --focus: var(--accent-line);
    --focus-on-deep: #FFFFFF;
    --radius: 6px;
    --font-head: "Site Noto Serif Bengali", "Site Noto Sans Bengali", "Noto Sans Bengali", "Nirmala UI", "Kohinoor Bangla", serif;
    --font-body: "Site Noto Sans Bengali", "Noto Sans Bengali", "Nirmala UI", "Kohinoor Bangla", sans-serif;
    --font-arabic: "Noto Naskh Arabic", "Geeza Pro", "Traditional Arabic", "Arabic Typesetting", serif;
    --lh-head: 1.45;
    --lh-body: 1.75;
    --shadow: 0 18px 30px -24px rgba(18, 55, 42, .5);
    /* নকশার রঙ — স্কুলের রঙ কখনো বদলায় না */
    --lattice: #FFFFFF;
    --green-tint: #E4EEE8;
    --on-deep-soft: #B8CCC0;
    --octagon: polygon(29.3% 0, 70.7% 0, 100% 29.3%, 100% 70.7%, 70.7% 100%, 29.3% 100%, 0 70.7%, 0 29.3%);
    --star: url("data:image/svg+xml,%3Csvg xmlns='%68ttp%3A//www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22.5 12 19.4 15.1 19.4 19.4 15.1 19.4 12 22.5 8.9 19.4 4.6 19.4 4.6 15.1 1.5 12 4.6 8.9 4.6 4.6 8.9 4.6 12 1.5 15.1 4.6 19.4 4.6 19.4 8.9Z'/%3E%3C/svg%3E");
    --star-green: url("data:image/svg+xml,%3Csvg xmlns='%68ttp%3A//www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%231D5C3F' d='M22.5 12 19.4 15.1 19.4 19.4 15.1 19.4 12 22.5 8.9 19.4 4.6 19.4 4.6 15.1 1.5 12 4.6 8.9 4.6 4.6 8.9 4.6 12 1.5 15.1 4.6 19.4 4.6 19.4 8.9Z'/%3E%3C/svg%3E");
    --oct-line: url("data:image/svg+xml,%3Csvg xmlns='%68ttp%3A//www.w3.org/2000/svg' viewBox='-1 -1 102 102' preserveAspectRatio='none'%3E%3Cpath d='M29.3 0H70.7L100 29.3V70.7L70.7 100H29.3L0 70.7V29.3Z' fill='none' stroke='%23000' stroke-width='.9'/%3E%3C/svg%3E");
    /* জালি: আটকোনা তারার খোপ — ছবির mask, সাদা রেখা, মোটা ফিতা, আর হালকা সবুজ কালি */
    --jaali-mask: url("data:image/svg+xml,%3Csvg xmlns='%68ttp%3A//www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M97 50 83.2 63.8 83.2 83.2 63.8 83.2 50 97 36.2 83.2 16.8 83.2 16.8 63.8 3 50 16.8 36.2 16.8 16.8 36.2 16.8 50 3 63.8 16.8 83.2 16.8 83.2 36.2ZM17 0 12 5 12 12 5 12 0 17 -5 12 -12 12 -12 5 -17 0 -12 -5 -12 -12 -5 -12 0 -17 5 -12 12 -12 12 -5ZM17 100 12 105 12 112 5 112 0 117 -5 112 -12 112 -12 105 -17 100 -12 95 -12 88 -5 88 0 83 5 88 12 88 12 95ZM117 0 112 5 112 12 105 12 100 17 95 12 88 12 88 5 83 0 88 -5 88 -12 95 -12 100 -17 105 -12 112 -12 112 -5ZM117 100 112 105 112 112 105 112 100 117 95 112 88 112 88 105 83 100 88 95 88 88 95 88 100 83 105 88 112 88 112 95Z'/%3E%3C/svg%3E");
    --jaali-lines: url("data:image/svg+xml,%3Csvg xmlns='%68ttp%3A//www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M97 50 83.2 63.8 83.2 83.2 63.8 83.2 50 97 36.2 83.2 16.8 83.2 16.8 63.8 3 50 16.8 36.2 16.8 16.8 36.2 16.8 50 3 63.8 16.8 83.2 16.8 83.2 36.2ZM17 0 12 5 12 12 5 12 0 17 -5 12 -12 12 -12 5 -17 0 -12 -5 -12 -12 -5 -12 0 -17 5 -12 12 -12 12 -5ZM17 100 12 105 12 112 5 112 0 117 -5 112 -12 112 -12 105 -17 100 -12 95 -12 88 -5 88 0 83 5 88 12 88 12 95ZM117 0 112 5 112 12 105 12 100 17 95 12 88 12 88 5 83 0 88 -5 88 -12 95 -12 100 -17 105 -12 112 -12 112 -5ZM117 100 112 105 112 112 105 112 100 117 95 112 88 112 88 105 83 100 88 95 88 88 95 88 100 83 105 88 112 88 112 95Z' fill='none' stroke='%23fff' stroke-width='2.4'/%3E%3C/svg%3E");
    --jaali-band: url("data:image/svg+xml,%3Csvg xmlns='%68ttp%3A//www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M94 50 81.1 62.9 81.1 81.1 62.9 81.1 50 94 37.1 81.1 18.9 81.1 18.9 62.9 6 50 18.9 37.1 18.9 18.9 37.1 18.9 50 6 62.9 18.9 81.1 18.9 81.1 37.1ZM14 0 9.9 4.1 9.9 9.9 4.1 9.9 0 14 -4.1 9.9 -9.9 9.9 -9.9 4.1 -14 0 -9.9 -4.1 -9.9 -9.9 -4.1 -9.9 0 -14 4.1 -9.9 9.9 -9.9 9.9 -4.1ZM14 100 9.9 104.1 9.9 109.9 4.1 109.9 0 114 -4.1 109.9 -9.9 109.9 -9.9 104.1 -14 100 -9.9 95.9 -9.9 90.1 -4.1 90.1 0 86 4.1 90.1 9.9 90.1 9.9 95.9ZM114 0 109.9 4.1 109.9 9.9 104.1 9.9 100 14 95.9 9.9 90.1 9.9 90.1 4.1 86 0 90.1 -4.1 90.1 -9.9 95.9 -9.9 100 -14 104.1 -9.9 109.9 -9.9 109.9 -4.1ZM114 100 109.9 104.1 109.9 109.9 104.1 109.9 100 114 95.9 109.9 90.1 109.9 90.1 104.1 86 100 90.1 95.9 90.1 90.1 95.9 90.1 100 86 104.1 90.1 109.9 90.1 109.9 95.9Z' fill='none' stroke='%23fff' stroke-width='5'/%3E%3Cpath d='M94 50 50 94 6 50 50 6ZM81.1 81.1 18.9 81.1 18.9 18.9 81.1 18.9Z' fill='none' stroke='%23fff' stroke-width='2.75' opacity='.55'/%3E%3C/svg%3E");
    --jaali-ink: url("data:image/svg+xml,%3Csvg xmlns='%68ttp%3A//www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M94 50 81.1 62.9 81.1 81.1 62.9 81.1 50 94 37.1 81.1 18.9 81.1 18.9 62.9 6 50 18.9 37.1 18.9 18.9 37.1 18.9 50 6 62.9 18.9 81.1 18.9 81.1 37.1ZM14 0 9.9 4.1 9.9 9.9 4.1 9.9 0 14 -4.1 9.9 -9.9 9.9 -9.9 4.1 -14 0 -9.9 -4.1 -9.9 -9.9 -4.1 -9.9 0 -14 4.1 -9.9 9.9 -9.9 9.9 -4.1ZM14 100 9.9 104.1 9.9 109.9 4.1 109.9 0 114 -4.1 109.9 -9.9 109.9 -9.9 104.1 -14 100 -9.9 95.9 -9.9 90.1 -4.1 90.1 0 86 4.1 90.1 9.9 90.1 9.9 95.9ZM114 0 109.9 4.1 109.9 9.9 104.1 9.9 100 14 95.9 9.9 90.1 9.9 90.1 4.1 86 0 90.1 -4.1 90.1 -9.9 95.9 -9.9 100 -14 104.1 -9.9 109.9 -9.9 109.9 -4.1ZM114 100 109.9 104.1 109.9 109.9 104.1 109.9 100 114 95.9 109.9 90.1 109.9 90.1 104.1 86 100 90.1 95.9 90.1 90.1 95.9 90.1 100 86 104.1 90.1 109.9 90.1 109.9 95.9Z' fill='none' stroke='%231D5C3F' stroke-width='3'/%3E%3Cpath d='M94 50 50 94 6 50 50 6ZM81.1 81.1 18.9 81.1 18.9 18.9 81.1 18.9Z' fill='none' stroke='%231D5C3F' stroke-width='1.8' opacity='.6'/%3E%3C/svg%3E");
    color-scheme: light;
}

body { overflow-x: clip; }
h1, h2, h3 { font-weight: 700; }
/* মোটা লেখা শিরোনামের মুখে — দেহের মুখ কেবল ৪০০, নকল মোটা নয় */
strong, b, .notice-row > a, .who strong, .person strong, .album-card strong, .contact-list dt, .field > span,
.badge, .portrait, .child-photo, .sheet nav a[aria-current="page"], .preview-bar a, .preview-bar-name { font-family: var(--font-head); font-weight: 700; }
.kv dd { font-weight: 400; }
/* নকশার মতো অংশের ভেতরে শিরোনাম ও অনুচ্ছেদের নিজস্ব ফাঁক নেই — `:is()` (০,০,১), base.css-এর `h3`/`p`-কে হারায় */
:where(.s, .hero, .hd, .utility, .ft, .urgent) :is(h1, h2, h3, p, ul, ol, blockquote, dl, dd, figure) { margin: 0; }
:where(.s, .hd, .utility, .ft) :where(ul, ol) { padding: 0; list-style: none; }
:where(.s, .hd, .utility, .ft, .hero) a { color: inherit; }
.ico { width: 20px; height: 20px; }
.wrap { width: min(100% - 80px, 1280px); max-width: none; padding: 0; margin-inline: auto; }
main { padding-bottom: 0; }
main section[id] { scroll-margin-top: 108px; }
/* গাঢ় সবুজ জমিতে ফোকাসের দাগ সাদা */
.utility, .hero, .is-open, .ft { --focus: var(--focus-on-deep); }

/* অষ্টকোণ তারা — অংশের চিহ্ন (mask, তাই স্কুলের রঙেও চলে) */
.mark, .page-head h1::before {
    display: inline-block;
    flex: none;
    width: 18px;
    height: 18px;
    background: var(--primary-text);
    -webkit-mask: var(--star) center / contain no-repeat;
    mask: var(--star) center / contain no-repeat;
}
.decor-off .mark { display: none; }

/* বোতাম, লিংক */
.btn {
    gap: 10px;
    min-height: 52px;
    padding: 0 26px;
    border: 2px solid transparent;
    border-radius: 4px;
    font-family: var(--font-head);
    font-weight: 700;
    font-size: 17px;
    line-height: 1.45;
    white-space: nowrap;
}
.btn-main, .btn-lg.btn-main { background: var(--accent); color: var(--on-accent); }
.btn-lg { min-height: 52px; padding: 0 26px; font-size: 17px; }
.btn-quiet { color: var(--primary-text); border-color: var(--primary-text); background: var(--surface); }
.btn-quiet:hover { background: var(--green-tint); }
:is(.hero, .is-open, .ft) .btn-main { border-color: rgba(255, 255, 255, .28); }
:is(.hero, .is-open, .ft) .btn-quiet { color: var(--lattice); border-color: rgba(255, 255, 255, .85); background: transparent; }
:is(.hero, .is-open, .ft) .btn-quiet:hover { background: rgba(255, 255, 255, .1); border-color: var(--lattice); }
.btn .ico { width: 20px; height: 20px; }
.more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    color: var(--primary-text);
    font-size: 17px;
    line-height: 1.5;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .3em;
}
.more:hover { text-decoration-thickness: 2px; }
.more .ico { width: 18px; height: 18px; }
.badge-alert { padding: 1px 10px 2px; font-family: var(--font-head); font-weight: 700; font-size: 14px; line-height: 1.6; }

.s { padding-block: 88px; }
.sec-head { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 8px 24px; margin-bottom: 36px; }
.sec-title { display: flex; align-items: center; gap: 14px; font-size: 34px; line-height: var(--lh-head); color: var(--ink); }

/* ওপরের সরু সারি */
.utility { background: var(--deep); color: var(--on-deep); font-size: 14px; }
.utility-in { flex-wrap: nowrap; gap: 24px; min-height: 44px; }
.u-left, .u-right { flex-wrap: nowrap; gap: 4px 26px; }
.utility a:hover { color: var(--lattice); text-underline-offset: .3em; }
.utility .ico { width: 16px; height: 16px; color: var(--on-deep-soft); }
.utility .u-right li + li { padding-left: 26px; border-left: 1px solid rgba(244, 246, 244, .22); }

/* ভাষা বদল — বড় পর্দায় সরু সারিতে, ফোনে মাথায় ও মেনুতে */
.gh-locale { gap: 6px; font-size: 15px; color: inherit; }
nav.gh-locale a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 3px; opacity: 1; text-decoration-thickness: 1px; }
nav.gh-locale a:hover { text-decoration-thickness: 2px; }
.gh-locale [lang="en"] { font-size: 14px; }
.gh-locale-on { font-family: var(--font-head); font-weight: 700; }
.utility .gh-locale-on { color: var(--lattice); }
/* core.locale-switch-এর নিজের <style> পরে আসে (.gh-locale { display: inline-flex }) — তাই দুই ক্লাসে */
.hd .hd-lang, .hd-call { display: none; }

/* আটকে থাকা সাদা মাথা */
.hd { position: sticky; top: 0; z-index: 30; background: var(--surface); color: var(--ink); box-shadow: 0 1px 0 var(--line); }
.hd-wide { position: relative; }
/* এক সারি, মোড়ে না (নমুনার মতো); কম জায়গায় নাম সরু হয়, মেনু নয় — মোড়ে কেবল মেনু নিচে নামলে ও hd-wide-এ */
.hd-in { display: flex; align-items: center; gap: 0 28px; min-height: 88px; padding-block: 12px; }
.brand { gap: 14px; min-height: 44px; margin-right: auto; color: var(--ink); }
.well { width: 56px; height: 56px; border-radius: 50%; box-shadow: 0 0 0 2px var(--primary-text), inset 0 0 0 4px var(--surface), inset 0 0 0 5px var(--green-tint); }
.well img { border-radius: 50%; padding: 6px; }
.well-letter { font-size: 26px; padding-bottom: 3px; }
.brand-name { font-size: 22px; line-height: var(--lh-head); color: var(--ink); }
.brand-sub { font-size: 14px; line-height: 1.5; color: var(--ink-soft); opacity: 1; }
.hd .brand-xl .brand-name { font-size: 18px; }
.hd .nav { flex-shrink: 0; }
.nav ul { gap: 4px 20px; }
.nav a { position: relative; min-height: 44px; padding: 0; color: var(--ink); font-size: 16px; }
.nav a:hover, .nav a[aria-current="page"] { text-decoration: none; }
.nav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 4px; height: 3px; border-radius: 2px; background: var(--primary-text); transform: scaleX(0); transform-origin: left; }
.nav a:hover::after { transform: scaleX(.5); }
.nav a[aria-current="page"]::after { transform: scaleX(1); }
.hd .cta-admission { min-height: 48px; padding: 0 22px; font-size: 16px; }
/* মাথার নিচে জালির ফিতা */
.jaali-band { height: 24px; background: var(--deep) var(--jaali-band) 0 50% / 24px 24px repeat-x; }
.decor-off .jaali-band { height: 6px; background-image: none; }

/* জরুরি পট্টি */
.urgent { background: var(--green-tint); border-bottom: 1px solid var(--line); }
.urgent-link { gap: 14px; min-height: 58px; padding-block: 8px; }
.urgent-title { font-size: 17px; line-height: 1.6; }
.urgent-date { padding-left: 14px; border-left: 1px solid #C2D2C8; font-size: 15px; line-height: 1.6; }
.urgent-link > .ico { width: 18px; height: 18px; color: var(--primary-text); }

/* হিরো — বাঁয়ে লেখা, ডানে জালির ভেতর দিয়ে ব্যানার */
.hero { position: relative; isolation: isolate; overflow: clip; background: var(--deep); color: var(--on-deep); }
.hero-in { position: relative; z-index: 1; display: flex; align-items: center; min-height: 640px; padding-block: 64px 160px; }
.hero-solo .hero-in { min-height: 560px; padding-bottom: 72px; }
.hero-text { width: 46%; max-width: 580px; }
.hero-bismillah { margin-bottom: 14px; font-size: 22px; line-height: 1.8; color: var(--lattice); text-align: left; }
.hero-bismillah:lang(ar), .hero-arabic:lang(ar) { font-family: var(--font-arabic); }
.eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 10px; margin-bottom: 18px; font-size: 15px; line-height: 1.6; color: var(--on-deep-soft); }
.eyebrow .mark { width: 14px; height: 14px; background: var(--lattice); opacity: .9; }
.hero-name { font-size: clamp(2.4rem, 5vw, 4.5rem); line-height: var(--lh-head); color: var(--lattice); overflow-wrap: anywhere; }
.hero-name.name-m { font-size: clamp(2.1rem, 3.9vw, 3.5rem); }
.hero-name.name-l { font-size: clamp(1.8rem, 2.9vw, 2.6rem); }
.hero-name.name-xl { font-size: clamp(1.3rem, 2vw, 1.75rem); }
.hero-arabic { margin-top: 4px; font-size: 24px; line-height: 1.7; color: var(--on-deep); text-align: left; }
.hero-tag { margin-top: 18px; font-size: 22px; line-height: 1.65; color: var(--on-deep); text-wrap: balance; }
.tg { display: inline-block; }
.hero-line { margin-top: 10px; font-size: 16px; line-height: 1.7; color: var(--on-deep-soft); text-wrap: pretty; }
.hero-actions { gap: 14px; margin-top: 34px; }
.hero-photo { position: absolute; top: 0; right: 0; bottom: 0; z-index: 0; width: 55%; }
.hero-photo .banner, .hero-lines { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-img .banner-img {
    -webkit-mask-image: var(--jaali-mask), linear-gradient(90deg, transparent 0, #000 34%);
    -webkit-mask-size: 124px 124px, 100% 100%;
    -webkit-mask-position: right top, 0 0;
    -webkit-mask-repeat: repeat, no-repeat;
    -webkit-mask-composite: source-in;
    mask-image: var(--jaali-mask), linear-gradient(90deg, transparent 0, #000 34%);
    mask-size: 124px 124px, 100% 100%;
    mask-position: right top, 0 0;
    mask-repeat: repeat, no-repeat;
    mask-composite: intersect;
}
.hero-lines {
    background: var(--jaali-lines) right top / 124px 124px repeat;
    opacity: .85;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 40%);
    mask-image: linear-gradient(90deg, transparent 0, #000 40%);
}
.no-banner .hero-lines { opacity: .25; }
.decor-off .hero-lines { display: none; }
.decor-off .hero-img .banner-img { -webkit-mask: linear-gradient(90deg, transparent 0, #000 34%); mask: linear-gradient(90deg, transparent 0, #000 34%); }
@supports not ((mask-image: none) or (-webkit-mask-image: none)) {
    .hero-lines, .v-badges .v-item::after, .step-dot::after, .msg-portrait::before, .v-cards .v-item::before { display: none; }
    .mark, .page-head h1::before { transform: rotate(45deg) scale(.7); }
}

/* এক নজরে — অষ্টকোণের ফলক, হিরোর পায়ে চড়ে */
.s-numbers { position: relative; z-index: 2; margin-top: -92px; padding-block: 0; }
.s-numbers > .wrap {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    align-items: center;
    gap: 32px;
    padding: 34px 40px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--surface);
    box-shadow: 0 30px 50px -34px rgba(18, 55, 42, .55);
}
.s-numbers .sec-head { align-self: stretch; align-items: center; margin: 0; padding-right: 28px; border-right: 1px solid var(--line); }
.v-badges .v-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; justify-items: center; }
.v-badges :is(.v-count-1, .v-count-2, .v-count-3) { grid-template-columns: repeat(auto-fit, minmax(0, 206px)); justify-content: start; gap: 32px; }
.v-badges .v-item {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 206px;
    aspect-ratio: 1;
    padding: 12px 22px;
    clip-path: var(--octagon);
    background: var(--primary-text);
    text-align: center;
}
.v-badges .v-item::before, .v-badges .v-item::after { content: ""; position: absolute; z-index: -1; }
.v-badges .v-item::before { inset: 3px; clip-path: var(--octagon); background: var(--ground); }
/* ভেতরের সরু অষ্টভুজ রেখা — mask, তাই স্কুলের রঙেও চলে */
.v-badges .v-item::after { inset: 10px; background: var(--primary-text); opacity: .32; -webkit-mask: var(--oct-line) center / 100% 100% no-repeat; mask: var(--oct-line) center / 100% 100% no-repeat; }
.decor-off .v-badges .v-item, .decor-off .v-badges .v-item::before { clip-path: none; border-radius: var(--radius); }
.decor-off .v-badges .v-item::after { content: none; }
.v-num { display: block; font-family: var(--font-head); font-weight: 700; font-size: 40px; line-height: 1.4; color: var(--primary-text); white-space: nowrap; }
.v-num.v-len-m { font-size: 28px; }
.v-num.v-len-l { font-size: 20px; line-height: 1.45; white-space: normal; }
.v-num.v-len-xl { font-size: 15px; line-height: 1.45; white-space: normal; }
.v-label { margin-top: 4px; font-size: 15px; line-height: 1.5; color: var(--ink-soft); }
/* হাতে লেখা লম্বা শ্রেণির সীমা অষ্টকোণে আঁটে না — পুরো সারি জুড়ে সাধারণ ফলক */
.v-badges .v-item:has(.v-len-xl) { grid-column: 1 / -1; max-width: none; aspect-ratio: auto; clip-path: none; padding: 18px 24px; border-radius: var(--radius); }
.v-badges .v-item:has(.v-len-xl)::before { clip-path: none; border-radius: 4px; }
.v-badges .v-item:has(.v-len-xl)::after { content: none; }

/* সর্বশেষ নোটিশ — সাদা ফলক, মাথায় সরু জালি, তারিখের চিপসহ সারি */
.s-notices { padding-block: 96px 40px; }
.notices-grid { display: flex; flex-direction: column; }
.notices-aside { display: contents; }
.notices-title { order: -1; margin-bottom: 36px; }
.chip-list { order: 0; overflow: hidden; border: 1px solid var(--line); border-bottom: 0; border-radius: var(--radius) var(--radius) 0 0; background: var(--surface); }
.chip-list::before { content: ""; display: block; height: 14px; background: var(--deep) var(--jaali-band) 0 50% / 14px 14px repeat-x; }
.decor-off .chip-list::before { height: 4px; background-image: none; }
.chip-list li { border-bottom: 1px solid var(--line); }
.chip-row { position: relative; display: grid; grid-template-columns: 148px minmax(0, 1fr) auto; align-items: center; gap: 24px; min-height: 76px; padding: 16px 28px; color: var(--ink); text-decoration: none; }
.chip-row:hover { background: #F8FAF8; }
.chip-text { display: contents; }
.chip-row > .ico { display: none; }
.date-chip { justify-self: start; display: inline-flex; gap: .3em; padding: 3px 12px; border-radius: 4px; background: var(--green-tint); color: var(--primary-text); font-size: 15px; line-height: 1.6; white-space: nowrap; }
.chip-title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; line-clamp: 4; overflow: hidden; font-size: 18px; line-height: 1.6; text-wrap: balance; overflow-wrap: anywhere; }
.chip-row:hover .chip-title { color: var(--primary-text); text-decoration: underline; text-underline-offset: .3em; }
.chip-meta { display: flex; justify-content: flex-end; align-items: center; gap: 14px; }
.tag { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; line-height: 1.5; color: var(--ink-soft); white-space: nowrap; }
.tag .ico { width: 18px; height: 18px; color: var(--primary-text); }
.notices-more { order: 1; display: flex; padding: 10px 28px 12px; border: 1px solid var(--line); border-top: 0; border-radius: 0 0 var(--radius) var(--radius); background: #FAFBFA; }
.notices-more .btn { min-height: 44px; padding: 0; gap: 8px; border: 0; background: none; color: var(--primary-text); font-family: var(--font-body); font-weight: 400; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .3em; }
.notices-more .btn:hover { text-decoration-thickness: 2px; }
.notices-more .ico { width: 18px; height: 18px; }

/* প্রধান শিক্ষকের বাণী — জালির আংটিতে আদ্যক্ষর */
.s-message { background: var(--surface); padding-block: 96px; }
.msg-grid {
    display: grid;
    grid-template-columns: 400px minmax(0, 1fr);
    grid-template-areas: "ring title" "ring quote" "ring body" "ring who" "ring more";
    column-gap: 64px;
    align-content: center;
}
.msg-grid.no-portrait { grid-template-columns: minmax(0, 1fr); grid-template-areas: "title" "quote" "body" "who" "more"; }
.msg-text, .sign { display: contents; }
.msg-text .sec-title { grid-area: title; margin-bottom: 26px; }
.msg-portrait { grid-area: ring; position: relative; isolation: isolate; display: grid; place-items: center; align-self: stretch; min-height: 420px; padding: 48px 40px; overflow: hidden; border-radius: var(--radius); background: var(--green-tint); }
/* প্যানেলের কোণে হালকা জালি — মাঝখানে ফাঁকা, যাতে বৃত্তটিই চোখে পড়ে */
.msg-portrait::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: var(--jaali-ink) 50% 50% / 46px 46px repeat;
    opacity: .42;
    -webkit-mask-image: radial-gradient(closest-side, transparent 62%, #000 100%);
    mask-image: radial-gradient(closest-side, transparent 62%, #000 100%);
}
.msg-ring { display: grid; place-items: center; width: 300px; aspect-ratio: 1; border-radius: 50%; background: var(--deep) var(--jaali-band) 50% 50% / 34px 34px; }
.decor-off .msg-portrait::before { content: none; }
.decor-off .msg-ring { background-image: none; }
.msg-avatar { display: grid; place-items: center; width: 236px; height: 236px; padding-bottom: 10px; border-radius: 50%; background: var(--surface); box-shadow: 0 0 0 4px var(--surface), 0 0 0 6px var(--primary-text); color: var(--primary-text); font-family: var(--font-head); font-weight: 700; font-size: 112px; line-height: 1; object-fit: cover; }
img.msg-avatar { padding: 0; }
.pull { grid-area: quote; padding-left: 26px; border-left: 3px solid var(--primary-text); font-family: var(--font-head); font-weight: 700; font-size: 24px; line-height: 1.6; color: var(--ink); text-wrap: balance; }
.msg-body { grid-area: body; max-width: 68ch; margin-top: 24px; font-size: 18px; line-height: 1.8; color: var(--ink-soft); text-wrap: pretty; }
.msg-body p + p { margin-top: 12px; }
.sign > div { grid-area: who; max-width: 68ch; margin-top: 26px; padding-top: 18px; border-top: 1px solid var(--line); }
.sign > .more { grid-area: more; justify-self: start; margin-top: 10px; }
.sign-name { font-family: var(--font-head); font-weight: 700; font-size: 20px; line-height: 1.45; color: var(--ink); }
.sign-title { font-size: 15px; line-height: 1.6; color: var(--ink-soft); }

/* সুযোগ-সুবিধা — কার্ড; সংখ্যা দেখে কলাম, তাই শেষ সারিতে ফাঁক নেই */
.v-cards .v-list { --cols: 3; display: flex; flex-wrap: wrap; gap: 24px; }
.v-cards :is(.v-count-1, .v-count-2, .v-count-4) { --cols: 2; }
.v-cards :is(.v-count-7, .v-count-8) { --cols: 4; }
.v-cards .v-item {
    position: relative;
    flex: 1 1 calc((100% - (var(--cols) - 1) * 24px) / var(--cols));
    min-width: 0;
    padding: 30px 30px 32px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--surface);
}
.v-cards .v-count-1 .v-item { flex-grow: 0; }
.v-cards .v-item::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 132px;
    height: 132px;
    pointer-events: none;
    background: var(--jaali-ink) right top / 44px 44px repeat;
    opacity: .5;
    -webkit-mask-image: radial-gradient(circle at 100% 0, #000 0, transparent 70%);
    mask-image: radial-gradient(circle at 100% 0, #000 0, transparent 70%);
}
.decor-off .v-cards .v-item::before { content: none; }
.v-cards .v-item:hover { border-color: var(--primary-text); box-shadow: var(--shadow); }
.v-cards .v-ic { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 20px; border-radius: var(--radius); background: var(--green-tint); color: var(--primary-text); }
.v-cards .v-ic .ico { width: 28px; height: 28px; stroke-width: 1.6; }
.v-cards .v-t { font-size: 21px; line-height: var(--lh-head); color: var(--ink); overflow-wrap: anywhere; }
.v-cards .v-d { margin-top: 8px; font-size: 16px; line-height: 1.75; color: var(--ink-soft); text-wrap: pretty; overflow-wrap: anywhere; }

/* ভর্তি — গাঢ় সবুজ ব্যান্ড, ডান কিনারায় হালকা জালি, ধাপ জালির খোপে */
.s-admission.is-open { position: relative; isolation: isolate; overflow: clip; padding-block: 92px; background: var(--deep); color: var(--on-deep); }
.s-admission.is-open::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    width: 46%;
    background: var(--jaali-band) right top / 116px 116px repeat;
    opacity: .13;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 55%);
    mask-image: linear-gradient(90deg, transparent, #000 55%);
}
.decor-off .s-admission.is-open::before { content: none; }
.adm-head h2 { max-width: 820px; font-size: 36px; line-height: var(--lh-head); color: var(--lattice); text-wrap: pretty; }
.adm-head p { max-width: 720px; margin-top: 14px; font-size: 18px; line-height: 1.75; color: var(--on-deep-soft); }
.adm-head .adm-closes { margin-top: 10px; font-family: var(--font-head); font-weight: 700; font-size: 17px; line-height: 1.5; color: var(--lattice); }
.track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 20px; margin-top: 44px; }
.step { position: relative; padding: 26px 22px 28px; border: 1px solid rgba(255, 255, 255, .22); border-radius: var(--radius); background: rgba(255, 255, 255, .06); }
.step-dot { position: relative; display: grid; place-items: center; width: 64px; height: 64px; padding-bottom: 3px; clip-path: var(--octagon); background: #FFFFFF; color: var(--deep); font-family: var(--font-head); font-weight: 700; font-size: 26px; line-height: 1; }
.step-dot::after { content: ""; position: absolute; inset: 5px; background: var(--deep); opacity: .45; -webkit-mask: var(--oct-line) center / 100% 100% no-repeat; mask: var(--oct-line) center / 100% 100% no-repeat; }
.decor-off .step-dot { clip-path: none; border-radius: 4px; }
.decor-off .step-dot::after { content: none; }
.step h3 { margin-top: 20px; font-size: 20px; line-height: var(--lh-head); color: var(--lattice); overflow-wrap: anywhere; }
.step p { margin-top: 4px; font-size: 16px; line-height: 1.65; color: var(--on-deep-soft); text-wrap: balance; overflow-wrap: anywhere; }
.adm-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 48px; }
/* মৌসুমের বাইরে — একটি শান্ত সারি */
.s-admission.is-closed { padding-block: 40px; border-block: 1px solid var(--line); background: var(--surface); }
.adm-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 32px; }
.adm-row h2 { display: flex; align-items: center; gap: 14px; font-size: 26px; line-height: var(--lh-head); color: var(--ink); }
.adm-links { display: flex; flex-wrap: wrap; gap: 0 28px; }

/* শিক্ষক — দুই কলামের ছোট তালিকা, বিষয় সারির ডানে */
.v-compact .v-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.v-compact .v-item { display: grid; grid-template-columns: 58px minmax(0, 1fr) auto; grid-template-areas: "ini name subj" "ini role subj"; align-items: center; column-gap: 18px; padding: 22px 28px; border-bottom: 1px solid var(--line); }
.v-compact .v-item:nth-child(odd) { border-right: 1px solid var(--line); }
.v-compact :is(.v-count-1, .v-count-3) .v-item:last-child { grid-column: 1 / -1; border-right: 0; }
.v-compact :is(.v-count-1, .v-count-3) .v-item:last-child, .v-compact :is(.v-count-2, .v-count-4) .v-item:nth-last-child(-n+2) { border-bottom: 0; }
.v-compact :is(.v-who, .v-meta) { display: contents; }
.v-compact .v-sep { display: none; }
.v-compact .v-avatar { grid-area: ini; display: grid; place-items: center; width: 58px; height: 58px; padding-bottom: 3px; border-radius: 50%; background: var(--green-tint); box-shadow: inset 0 0 0 1px rgba(29, 92, 63, .18); color: var(--primary-text); font-family: var(--font-head); font-weight: 700; font-size: 22px; line-height: 1; object-fit: cover; }
.v-compact img.v-avatar { padding: 0; }
.v-compact .v-name { grid-area: name; align-self: end; font-family: var(--font-head); font-weight: 700; font-size: 19px; line-height: 1.45; color: var(--ink); overflow-wrap: anywhere; }
.v-compact .v-name:last-child, .v-compact .v-item:not(:has(.v-role)) .v-name { grid-row: 1 / span 2; align-self: center; }
.v-compact .v-role { grid-area: role; align-self: start; font-size: 15px; line-height: 1.6; color: var(--ink-soft); }
.v-compact .v-subj { grid-area: subj; justify-self: end; max-width: 15em; font-size: 15px; line-height: 1.55; color: var(--primary-text); text-align: right; }

/* গ্যালারি — সরু রেখার ফ্রেম, নিচে নাম ও কয়টি ছবি */
.s-gallery { background: var(--surface); }
.v-captioned > .wrap { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; column-gap: 24px; }
.v-captioned .sec-head { grid-row: 1; }
.v-captioned .sec-foot { grid-column: 2; grid-row: 1; margin: 0 0 36px; }
.v-captioned .v-list { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.v-captioned .v-count-1 { grid-template-columns: minmax(0, 420px); }
.v-captioned .v-count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.v-captioned .v-link { display: block; color: inherit; text-decoration: none; }
.v-captioned .v-ph { display: block; padding: 6px; border: 1px solid var(--line); border-radius: 2px; background: var(--surface); }
.v-captioned .v-ph img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.v-captioned .v-noimg { position: relative; display: grid; place-items: center; aspect-ratio: 4 / 3; overflow: hidden; background: var(--green-tint) var(--jaali-ink) right top / 44px 44px no-repeat; color: var(--primary-text); }
.v-captioned .v-noimg .ico { width: 44px; height: 44px; stroke-width: 1.4; }
.v-captioned .v-cap { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; margin-top: 14px; }
.v-captioned .v-t { font-family: var(--font-head); font-weight: 700; font-size: 19px; line-height: 1.45; color: var(--ink); overflow-wrap: anywhere; }
.v-captioned :is(.v-n, .v-sep) { font-size: 15px; color: var(--ink-soft); }
.v-captioned .v-link:hover .v-ph { border-color: var(--primary-text); box-shadow: var(--shadow); }
.v-captioned .v-link:hover .v-t { color: var(--primary-text); text-decoration: underline; text-underline-offset: .3em; }

/* নিয়োগ — তারার চিহ্ন, পদ, শেষ দিন, নীলকান্ত বোতাম */
.careers-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 8px 24px; margin-bottom: 36px; }
.job { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 28px; padding: 30px 34px; border: 1px solid var(--line); border-left: 4px solid var(--primary-text); border-radius: var(--radius); background: var(--surface); }
.job::before { content: ""; width: 64px; height: 64px; border-radius: var(--radius); background: var(--star-green) center / 30px 30px no-repeat, var(--green-tint); }
.decor-off .job::before { background-image: none; }
.job-date { display: none; }
.job h3 { font-size: 24px; line-height: var(--lh-head); color: var(--ink); overflow-wrap: anywhere; }
.job-line { margin-top: 4px; font-size: 16px; line-height: 1.7; color: var(--ink-soft); }
.job-dead { display: inline-flex; align-items: center; gap: 8px; margin-top: 10px; font-family: var(--font-head); font-weight: 700; font-size: 16px; line-height: 1.5; color: var(--ink); }
.job-dead .ico { width: 18px; height: 18px; color: var(--primary-text); }

/* যোগাযোগ — মার্বেলের বাক্সে দুই কলাম, মানচিত্রের বোতাম প্রথম কলামের নিচে */
.s-contact { background: var(--surface); }
.v-columns > .wrap { position: relative; isolation: isolate; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto auto auto; }
.v-columns > .wrap::before { content: ""; grid-column: 1 / -1; grid-row: 2 / 4; z-index: -1; border: 1px solid var(--line); border-radius: var(--radius); background: var(--ground); }
.v-columns .sec-head { grid-column: 1 / -1; }
.v-cols { display: contents; }
.v-col { margin: 0; padding: 34px 36px; }
.v-place { grid-column: 1; grid-row: 2; }
.v-reach { grid-column: 2; grid-row: 2 / 4; border-left: 1px solid var(--line); }
.v-count-1 > .v-col { grid-column: 1 / -1; grid-row: 2; border-left: 0; }
.v-columns .v-item { display: grid; grid-template-columns: 44px minmax(0, 1fr); grid-template-areas: "ic k" "ic v"; column-gap: 16px; padding-block: 12px; }
.v-columns .v-item + .v-item { border-top: 1px dashed var(--line); }
.v-columns dt { display: contents; }
.v-columns .v-ic { grid-area: ic; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; background: var(--surface); color: var(--primary-text); }
.v-columns .v-ic .ico { width: 20px; height: 20px; }
.v-columns .v-k { grid-area: k; align-self: end; font-size: 14px; line-height: 1.5; color: var(--ink-soft); }
.v-columns .v-v { grid-area: v; display: flex; align-items: center; min-height: 44px; margin: 0; font-size: 17px; line-height: 1.65; color: var(--ink); overflow-wrap: anywhere; }
.v-columns .v-v a { display: inline-flex; align-items: center; min-height: 44px; color: var(--primary-text); text-decoration-thickness: 1px; }
.v-columns .v-v a:hover { text-decoration-thickness: 2px; }
.v-map { grid-column: 1; grid-row: 3; margin: 0; padding: 6px 36px 34px; }
.v-map .more { gap: 10px; min-height: 48px; padding: 0 22px; border: 2px solid var(--primary-text); border-radius: 4px; background: var(--surface); font-family: var(--font-head); font-weight: 700; font-size: 16px; line-height: 1.45; text-decoration: none; }
.v-map .more:hover { background: var(--green-tint); }
.v-map .ico { width: 20px; height: 20px; }

/* পাদটীকা */
.ft { background: var(--deep); color: var(--on-deep); }
.ft .jaali-band { border-bottom: 1px solid rgba(255, 255, 255, .14); }
.ft-in { display: grid; grid-template-columns: 1.3fr 1fr auto; gap: 56px; padding-block: 64px 44px; }
.ft .brand { align-items: flex-start; gap: 16px; color: var(--lattice); }
.ft .well { box-shadow: 0 0 0 2px var(--lattice), inset 0 0 0 4px var(--surface), inset 0 0 0 5px var(--green-tint); }
.ft .brand-name { color: var(--lattice); }
.ft .brand-sub { margin-top: 4px; font-size: 15px; line-height: 1.7; color: var(--on-deep-soft); }
.ft-brand > :not(.brand) { margin-left: 72px; }
.ft .foot-facts { margin-top: 2px; font-size: 15px; line-height: 1.7; color: var(--on-deep-soft); }
.ft-links { display: flex; flex-wrap: wrap; align-items: center; gap: 0 14px; margin-top: 6px; font-size: 15px; }
.ft-links a, .ft-pages a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--on-deep); text-decoration: none; }
.ft-links a:hover, .ft-pages a:hover { color: var(--lattice); text-decoration: underline; }
.ft-links .ico { width: 16px; height: 16px; color: var(--on-deep-soft); }
.ft-pages ul { display: grid; grid-template-columns: repeat(2, auto); gap: 0 36px; justify-content: start; }
.ft-pages a { font-size: 16px; }
.ft-log { display: flex; flex-direction: column; gap: 12px; }
.ft-log .btn { justify-content: flex-start; min-height: 48px; padding: 0 20px; font-size: 16px; }
.ft-bot { border-top: 1px solid rgba(255, 255, 255, .14); }
.ft-bot-in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 16px; min-height: 64px; padding-block: 12px; font-size: 14px; color: var(--on-deep-soft); }
.ft .copyright { margin: 0; font-size: 14px; opacity: 1; }
.ft-powered { color: var(--lattice); }

/* ভেতরের পাতা — শিরোনাম তারাসহ, কোণ, রেখা */
.page-head { padding: 48px 0 20px; }
.page-head h1 { display: flex; align-items: center; gap: 14px; font-size: clamp(1.9rem, 3.4vw, 2.6rem); line-height: var(--lh-head); color: var(--ink); }
.page-head h1::before { content: ""; width: 20px; height: 20px; }
.decor-off .page-head h1::before { content: none; }
.section h2 { border-left-color: var(--primary-text); }
.card { border-radius: var(--radius); box-shadow: none; }
.portrait, .child-photo { background: var(--green-tint); color: var(--primary-text); }
main > .wrap:last-child { padding-bottom: 64px; }
/* পরীক্ষার সরু খোলস — সাদা মাথা, নিচে সরু জালির ফিতা */
.bare-head { border-bottom: 0; }
.bare-head::after { content: ""; display: block; height: 10px; background: var(--deep) var(--jaali-band) 0 50% / 10px 10px repeat-x; }
.decor-off .bare-head::after { height: 4px; background-image: none; }
/* খুব লম্বা নামের নিচে মেনু ও বোতাম এক সারিতে, ইংরেজিতেও */
@media (min-width: 1241px) {
    .hd-wide .hd-in { flex-wrap: wrap; }
    :lang(en) .hd-wide .hd-in { padding-bottom: 12px; }
    :lang(en) .hd-wide .nav { order: 0; flex-basis: auto; border-top: 0; }
    :lang(en) .hd-wide .nav ul { gap: 4px 20px; }
}

/* ছোট ল্যাপটপ (≤ ১২৪০) — মেনু নামের নিচে নিজের সারিতে */
@media (max-width: 1240px) {
    main section[id] { scroll-margin-top: 150px; }
    .hd-in { flex-wrap: wrap; padding-bottom: 0; }
    .nav { order: 3; flex-basis: 100%; border-top: 1px solid var(--line); }
    .nav ul { gap: 0 22px; }
    .hero-text { width: 50%; }
    .s-numbers > .wrap { grid-template-columns: minmax(0, 1fr); gap: 22px; }
    .s-numbers .sec-head { padding-right: 0; border-right: 0; }
    .msg-grid { grid-template-columns: 340px minmax(0, 1fr); column-gap: 48px; }
    .msg-portrait { padding: 36px 28px; }
    .msg-ring { width: 270px; }
    .msg-avatar { width: 212px; height: 212px; font-size: 100px; }
    .ft-in { grid-template-columns: 1fr 1fr; }
    .ft-log { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; }
    /* সরু সারি দুই লাইনে ভাঙতে পারে, কিন্তু প্রতিটি লিংক অটুট */
    .utility-in, .u-left, .u-right { flex-wrap: wrap; row-gap: 0; }
    .utility a, .utility .gh-locale { white-space: nowrap; }
}

/* ট্যাবলেট (≤ ১০০০) */
@media (max-width: 1000px) {
    .v-cards .v-list { --cols: 2; }
    .v-badges .v-list { gap: 14px; }
    .v-num { font-size: clamp(26px, 3.4vw, 30px); }
    .v-label { font-size: 14px; }
    .msg-grid { grid-template-columns: 180px minmax(0, 1fr); grid-template-areas: "title title" "ring who" "quote quote" "body body" "more more"; column-gap: 28px; }
    .msg-grid.no-portrait { grid-template-areas: "title" "who" "quote" "body" "more"; }
    .msg-text .sec-title { margin-bottom: 22px; }
    .msg-portrait { align-self: center; justify-items: start; min-height: 0; padding: 0; overflow: visible; background: none; }
    .msg-portrait::before { content: none; }
    .msg-ring { width: 180px; background-size: 26px 26px; }
    .msg-avatar { width: 138px; height: 138px; padding-bottom: 6px; font-size: 64px; }
    .sign > div { align-self: center; margin-top: 0; padding-top: 0; border-top: 0; }
    .no-portrait .sign > div { margin-bottom: 22px; }
    .pull { margin-top: 26px; }
    .track { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .step:last-child:nth-child(odd) { grid-column: 1 / -1; }
    .v-compact .v-list { grid-template-columns: minmax(0, 1fr); }
    .v-compact .v-list .v-item:nth-child(n) { grid-column: auto; border-right: 0; border-bottom: 1px solid var(--line); }
    .v-compact .v-list .v-item:last-child:nth-child(n) { border-bottom: 0; }
    .v-captioned .v-list { gap: 18px; }
    .job { grid-template-columns: auto minmax(0, 1fr); }
    .job .btn { grid-column: 2; justify-self: start; }
}

/* ফোন (≤ ৭৬০) */
@media (max-width: 760px) {
    .wrap { width: calc(100% - 32px); }
    main section[id] { scroll-margin-top: 76px; }
    .s { padding-block: 56px; }
    .sec-head, .careers-head { flex-wrap: wrap; gap: 4px 16px; margin-bottom: 22px; }
    .sec-title { gap: 10px; font-size: 26px; line-height: var(--lh-head); }
    .mark { width: 15px; height: 15px; }

    .hd-in { flex-wrap: nowrap; gap: 8px; min-height: 60px; padding-block: 8px; }
    .hd .cta-admission { display: none; }
    .well { width: 42px; height: 42px; box-shadow: 0 0 0 2px var(--primary-text), inset 0 0 0 3px var(--surface), inset 0 0 0 4px var(--green-tint); }
    .well-letter { font-size: 20px; padding-bottom: 2px; }
    .brand { gap: 10px; min-width: 0; }
    .hd .brand-sub { display: none; }
    .hd .brand-name, .hd .brand-xl .brand-name { font-size: 17px; line-height: 1.45; }
    .hd .has-short .brand-short { font-weight: 700; font-size: 18px; line-height: 1.45; color: var(--ink); }
    /* লম্বা নাম পুরো সারি নেয়, মাথা আটকে থাকে না (header.blade.php) */
    .hd-long { position: relative; }
    .hd-long .hd-in { flex-wrap: wrap; padding-block: 10px 6px; }
    .hd-long .brand { flex-basis: 100%; }
    .hd-long .hd-lang { margin-left: auto; }
    .hd .hd-lang { display: inline-flex; flex: none; margin-right: 2px; color: var(--ink); }
    .hd-call { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: 50%; background: var(--green-tint); color: var(--primary-text); }
    .hd-call .ico { width: 20px; height: 20px; }
    .menu { position: static; }
    .menu summary { gap: 6px; min-height: 44px; padding: 0 14px 0 12px; border: 1.5px solid var(--line); border-radius: 4px; color: var(--ink); font-size: 16px; line-height: 1.4; }
    .menu summary .ico { color: var(--primary-text); }
    .menu[open] summary { border-color: var(--primary-text); background: var(--green-tint); }
    .sheet { top: 100%; left: 0; right: 0; z-index: 40; width: auto; max-height: calc(100svh - 76px); padding: 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; box-shadow: 0 24px 40px -20px rgba(18, 55, 42, .5); overscroll-behavior: contain; }
    /* ভাষা বদলও একটি <nav> — তাই কেবল পাতার মেনু */
    .sheet nav:not(.gh-locale) a { min-height: 48px; padding: 0 20px; border-bottom: 1px solid var(--line); border-radius: 0; color: var(--ink); font-size: 17px; }
    .sheet nav a[aria-current="page"] { background: none; color: var(--primary-text); box-shadow: inset 4px 0 0 var(--primary-text); }
    .sheet-logins { gap: 10px; margin: 0; padding: 14px 16px 10px; border: 0; background: var(--ground); }
    .sheet-logins .btn { min-height: 48px; padding: 0 10px; font-size: 15px; white-space: normal; }
    .sheet .sheet-locale { display: flex; justify-content: center; margin: 0; padding: 0 0 6px; background: var(--ground); color: var(--ink); font-size: 16px; }
    /* base.css-এর `.sheet nav a` ভাষা বদলের লিংকেরও দাগ মুছে দেয় — ফিরিয়ে আনা */
    .sheet .sheet-locale a { padding-inline: 8px; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
    .sheet-locale .gh-locale-on { padding-inline: 8px; }
    .jaali-band { height: 16px; background-size: 16px 16px; }

    .urgent-link { flex-wrap: wrap; align-items: flex-start; gap: 4px 10px; padding-block: 12px; }
    .urgent-link .badge-alert { margin-top: 2px; }
    .urgent-date { order: 2; padding-left: 0; border-left: 0; font-size: 14px; }
    .urgent-title { order: 3; flex: 0 0 calc(100% - 28px); font-size: 16px; }
    .urgent-link > .ico { display: block; order: 4; margin-top: 5px; }

    /* ফোনে হিরোর পরেই নোটিশ — প্রথম পর্দায় */
    .hero { order: -2; }
    .s-notices { order: -1; }
    .hero-in { min-height: 0; padding-block: 24px 0; }
    .hero-solo .hero-in { min-height: 0; padding-bottom: 0; }
    .hero-text { width: 100%; max-width: none; }
    .hero-bismillah { margin-bottom: 6px; font-size: 19px; line-height: 1.7; }
    .eyebrow { margin-bottom: 10px; font-size: 14px; }
    .eyebrow:not(:has(.eb-hijri)), .eb-sep, .eb-facts { display: none; }
    .hero-name { font-size: clamp(2rem, 10vw, 2.5rem); }
    .hero-name.name-m { font-size: clamp(1.6rem, 7.6vw, 2rem); }
    .hero-name.name-l { font-size: clamp(1.3rem, 6vw, 1.6rem); }
    .hero-name.name-xl { font-size: clamp(.95rem, 4.3vw, 1.15rem); line-height: 1.5; }
    .hero-arabic { font-size: 20px; }
    .hero-tag { margin-top: 10px; font-size: 18px; }
    .hero-line { margin-top: 4px; font-size: 15px; line-height: 1.65; }
    .hero-actions { gap: 10px; margin-top: 18px; }
    .hero-actions .btn { flex: 1 1 140px; padding: 0 14px; }
    .hero .btn-quiet { background: var(--deep); }
    /* ফোনে নিচু ছবি-ফিতা (২:১), যাতে হিরোর পরেই নোটিশ প্রথম পর্দায় আসে */
    .hero-photo { position: relative; width: 100%; aspect-ratio: 2 / 1; margin-top: -52px; }
    .no-banner .hero-photo { aspect-ratio: auto; height: 76px; margin-top: 0; }
    .hero-img .banner-img {
        -webkit-mask-image: var(--jaali-mask), linear-gradient(180deg, transparent 0, #000 30%);
        -webkit-mask-size: 74px 74px, 100% 100%;
        -webkit-mask-position: center bottom, 0 0;
        mask-image: var(--jaali-mask), linear-gradient(180deg, transparent 0, #000 30%);
        mask-size: 74px 74px, 100% 100%;
        mask-position: center bottom, 0 0;
    }
    .decor-off .hero-img .banner-img { -webkit-mask: linear-gradient(180deg, transparent 0, #000 30%); mask: linear-gradient(180deg, transparent 0, #000 30%); }
    .hero-lines {
        background-size: 74px 74px;
        background-position: center bottom;
        -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 36%);
        mask-image: linear-gradient(180deg, transparent 0, #000 36%);
    }

    .s-numbers { margin-top: 0; padding-block: 0 56px; }
    .s-numbers > .wrap { gap: 18px; padding: 26px 18px 22px; box-shadow: none; }
    .v-badges .v-list, .v-badges :is(.v-count-2, .v-count-3) { grid-template-columns: repeat(2, minmax(0, 1fr)); justify-content: stretch; gap: 12px; }
    .v-badges .v-count-1 { grid-template-columns: minmax(0, 172px); }
    .v-badges .v-item { max-width: 172px; padding: 8px 16px; }
    .v-num { font-size: clamp(24px, 7.4vw, 30px); }
    .v-num.v-len-m { font-size: clamp(18px, 5.4vw, 22px); }
    .v-num.v-len-l { font-size: 16px; }
    .v-num.v-len-xl { font-size: 14px; }
    .v-badges .v-item:has(.v-len-xl) { padding: 14px 16px; }

    .s-notices { padding-block: 40px; }
    .notices-title { margin-bottom: 22px; }
    .chip-list::before { height: 12px; background-size: 12px 12px; }
    .chip-row { grid-template-columns: minmax(0, 1fr); gap: 6px; min-height: 0; padding: 16px 18px; }
    .chip-title { font-size: 17px; }
    .chip-meta { justify-content: flex-start; flex-wrap: wrap; gap: 6px 12px; }
    .notices-more { padding: 6px 18px 8px; }

    .s-message { padding-block: 56px; }
    .msg-grid { grid-template-columns: 116px minmax(0, 1fr); column-gap: 18px; }
    .msg-text .sec-title { margin-bottom: 20px; }
    .msg-ring { width: 116px; background-size: 20px 20px; }
    .msg-avatar { width: 88px; height: 88px; padding-bottom: 5px; box-shadow: 0 0 0 3px var(--surface), 0 0 0 4px var(--primary-text); font-size: 42px; }
    .pull { margin-top: 22px; padding-left: 18px; font-size: 20px; }
    .msg-body { font-size: 17px; }
    .sign-name { font-size: 18px; }

    .v-cards .v-list { --cols: 1; gap: 14px; }
    .v-cards .v-item { display: grid; grid-template-columns: 52px minmax(0, 1fr); align-content: center; column-gap: 16px; padding: 20px 18px; }
    .v-cards .v-ic { grid-row: span 2; width: 52px; height: 52px; margin: 0; }
    .v-cards .v-ic .ico { width: 26px; height: 26px; }
    .v-cards .v-item::before { width: 88px; height: 88px; background-size: 36px 36px; opacity: .35; }
    .v-cards .v-t { font-size: 19px; line-height: var(--lh-head); }
    .v-cards .v-d { margin-top: 2px; }
    .v-cards .v-t:last-child { grid-row: span 2; align-self: center; }

    .s-admission.is-open { padding-block: 56px; }
    .s-admission.is-open::before { width: 100%; background-size: 80px 80px; opacity: .1; -webkit-mask-image: linear-gradient(180deg, transparent 40%, #000); mask-image: linear-gradient(180deg, transparent 40%, #000); }
    .adm-head h2 { font-size: 26px; line-height: var(--lh-head); }
    .adm-head p { font-size: 17px; }
    .track { gap: 12px; margin-top: 30px; }
    .step { padding: 18px 14px 20px; }
    .step-dot { width: 54px; height: 54px; font-size: 23px; }
    .step-dot::after { inset: 4px; }
    .step h3 { margin-top: 14px; font-size: 17px; line-height: var(--lh-head); }
    .step p { font-size: 15px; line-height: 1.6; }
    .adm-actions { flex-direction: column; margin-top: 32px; }
    .adm-actions .btn { width: 100%; white-space: normal; }
    .s-admission.is-closed { padding-block: 32px; }
    .adm-row h2 { font-size: 22px; line-height: var(--lh-head); }

    .v-compact .v-item { grid-template-columns: 50px minmax(0, 1fr); grid-template-areas: "ini name" "ini role" ". subj"; column-gap: 14px; padding: 16px 18px; }
    .v-compact .v-avatar { width: 50px; height: 50px; font-size: 20px; }
    .v-compact .v-name { font-size: 18px; }
    .v-compact .v-subj { justify-self: start; max-width: none; margin-top: 2px; text-align: left; }

    .v-captioned .sec-foot { margin-bottom: 22px; }
    .v-captioned .v-list, .v-captioned .v-count-1 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 12px; }
    .v-captioned .v-item:first-child, .v-captioned .v-count-2 .v-item { grid-column: 1 / -1; }
    .v-captioned .v-item:not(:first-child) .v-ph { padding: 4px; }
    .v-captioned .v-count-3 .v-item:not(:first-child) .v-t { font-size: 16px; }
    .v-captioned .v-count-3 .v-item:not(:first-child) :is(.v-n, .v-sep) { font-size: 14px; }
    .v-captioned .v-cap { margin-top: 10px; }

    .job { grid-template-columns: 52px minmax(0, 1fr); gap: 8px 16px; padding: 22px 18px; }
    .job::before { width: 52px; height: 52px; background-size: 26px 26px, auto; }
    .job-text { display: contents; }
    .job h3 { font-size: 21px; line-height: var(--lh-head); }
    .job-line, .job-dead { grid-column: 1 / -1; }
    .job-line { margin-top: 8px; }
    .job-dead { margin-top: 0; }
    .job .btn { grid-column: 1 / -1; justify-self: stretch; margin-top: 10px; white-space: normal; }

    .v-columns > .wrap { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto auto; }
    .v-columns > .wrap::before { grid-row: 2 / 5; }
    .v-col { padding: 18px; }
    .v-place, .v-count-1 > .v-col { grid-column: 1; grid-row: 2; }
    .v-map { grid-row: 3; padding: 0 18px 18px; }
    .v-map .more { justify-content: center; width: 100%; }
    .v-reach { grid-column: 1; grid-row: 4; border-left: 0; border-top: 1px solid var(--line); }
    .v-count-1 > .v-reach { border-top: 0; }

    .ft-in { grid-template-columns: minmax(0, 1fr); gap: 32px; padding-block: 44px 28px; }
    .ft .brand-sub { display: block; }
    .ft-brand > :not(.brand) { margin-left: 58px; }
    .ft-pages ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
    .ft-log { flex-direction: column; }
    .ft-log .btn { justify-content: center; }
    .ft-bot-in { flex-direction: column; align-items: flex-start; padding-block: 16px; }

    .page-head { padding-top: 32px; }

    .phonebar { grid-template-columns: 1fr 1fr 1.25fr; border-top: 2px solid var(--primary-text); background: var(--surface); color: var(--ink); box-shadow: 0 -10px 24px -18px rgba(18, 55, 42, .55); }
    .phonebar a { font-size: 14px; }
    .phonebar a + a { border-left: 1px solid var(--line); }
    .phonebar .ico { color: var(--primary-text); }
    .phonebar .pb-adm { border-left: 0; background: var(--accent); color: var(--on-accent); font-family: var(--font-head); font-weight: 700; font-size: 15px; }
    .phonebar .pb-adm .ico { color: var(--on-accent); }
}

/* সরু ফোন (≤ ৪৮০) — মাথার ফোন-বোতামের জায়গায় ভাষা বদল; ফোন তো নিচের বারের প্রথম ঘরেই আছে */
@media (max-width: 480px) {
    .hd-call { display: none; }
}
/* "মেনু" শব্দ ৩৪০ px পর্যন্ত (base.css ৪০০-এর নিচে লুকায়) */
@media (min-width: 341px) and (max-width: 400px) {
    .menu-word { position: static; width: auto; height: auto; overflow: visible; clip-path: none; white-space: nowrap; }
}
@media (max-width: 340px) {
    .track { grid-template-columns: minmax(0, 1fr); }
    .menu summary { padding: 0 10px; }
}

/* ইংরেজি পাতা — লাতিন একই মাপে বড় দেখায়: শিরোনাম এক ধাপ ছোট ও ঘন, দেহ ১.৬; ছোট লেবেল টানা বড় হাতের অক্ষরে */
:root:lang(en) { --lh-head: 1.2; --lh-body: 1.6; }
:lang(en) h1, :lang(en) h2, :lang(en) h3 { letter-spacing: -.005em; }
:lang(en) .btn { line-height: 1.25; letter-spacing: .005em; }
:lang(en) .badge-alert { padding: 3px 9px; font-size: 12px; line-height: 1.5; letter-spacing: .08em; text-transform: uppercase; }
:lang(en) .brand-name { font-size: 21px; line-height: 1.2; letter-spacing: -.005em; }
:lang(en) .brand-sub { margin-top: 3px; line-height: 1.4; }
:lang(en) .urgent-title { line-height: 1.45; }
:lang(en) .urgent-date { line-height: 1.45; }
:lang(en) .eyebrow { font-size: 13px; line-height: 1.5; letter-spacing: .08em; text-transform: uppercase; }
:lang(en) .hero-name { font-size: clamp(2.6rem, 5vw, 4.4rem); line-height: 1.06; letter-spacing: -.012em; }
:lang(en) .hero-name.name-m { font-size: clamp(2.2rem, 4vw, 3.6rem); line-height: 1.08; }
:lang(en) .hero-name.name-l { font-size: clamp(1.9rem, 3vw, 2.7rem); line-height: 1.1; }
:lang(en) .hero-name.name-xl { font-size: clamp(1.2rem, 1.7vw, 1.5rem); line-height: 1.2; }
:lang(en) .hero-tag { max-width: 32ch; margin-top: 22px; line-height: 1.45; }
:lang(en) .hero-line { margin-top: 12px; line-height: 1.6; }
:lang(en) .sec-title { align-items: flex-start; font-size: 32px; line-height: 1.18; }
:lang(en) .sec-title .mark { margin-top: calc(.5lh - 9px); }
:lang(en) .s-numbers > .wrap { grid-template-columns: 262px minmax(0, 1fr); }
:lang(en) .s-numbers .sec-title { white-space: nowrap; }
:lang(en) .s-numbers .sec-title .mark { margin-top: 0; }
:lang(en) .v-num { line-height: 1.1; letter-spacing: -.01em; font-variant-numeric: lining-nums; }
:lang(en) .v-label { margin-top: 8px; font-size: 12.5px; line-height: 1.4; letter-spacing: .08em; text-transform: uppercase; }
:lang(en) .date-chip { padding: 4px 12px; line-height: 1.5; font-variant-numeric: tabular-nums; }
:lang(en) .chip-title { line-height: 1.4; }
:lang(en) .tag { font-size: 13.5px; letter-spacing: .02em; }
:lang(en) .pull { font-size: 23px; line-height: 1.4; letter-spacing: -.005em; }
:lang(en) .msg-body { line-height: 1.65; }
:lang(en) .sign-name { line-height: 1.25; }
:lang(en) .sign-title { margin-top: 2px; line-height: 1.5; }
:lang(en) .msg-avatar { padding-bottom: 0; font-size: 108px; }
:lang(en) .v-cards .v-t { line-height: 1.2; }
:lang(en) .v-cards .v-d { margin-top: 10px; line-height: 1.6; }
:lang(en) .adm-head h2 { max-width: 900px; line-height: 1.18; }
:lang(en) .adm-head p { max-width: 640px; line-height: 1.6; }
:lang(en) .step-dot { padding-bottom: 0; font-size: 27px; }
:lang(en) .step h3 { line-height: 1.22; }
:lang(en) .step p { margin-top: 6px; line-height: 1.5; }
:lang(en) .v-compact .v-avatar, :lang(en) .well-letter { padding-bottom: 0; }
:lang(en) .v-compact .v-name { line-height: 1.25; }
:lang(en) .v-compact .v-role { margin-top: 2px; line-height: 1.45; }
:lang(en) .v-compact .v-subj { line-height: 1.4; }
:lang(en) .v-captioned .v-t { line-height: 1.25; }
:lang(en) .job h3 { line-height: 1.2; }
:lang(en) .job-line { margin-top: 8px; line-height: 1.55; }
:lang(en) .job-dead { line-height: 1.4; }
:lang(en) .v-columns .v-k { font-size: 12.5px; letter-spacing: .08em; text-transform: uppercase; }
:lang(en) .v-columns .v-v { line-height: 1.5; }
:lang(en) .ft .brand-name { line-height: 1.2; }
:lang(en) .ft .brand-sub { margin-top: 8px; line-height: 1.5; }
/* ইংরেজি নাম, মেনু ও বোতাম বাংলার চেয়ে চওড়া — ১৪২০ px-এর নিচেই মেনু নিজের সারিতে */
@media (min-width: 761px) and (max-width: 1420px) {
    :lang(en) .hd-in { flex-wrap: wrap; padding-bottom: 0; }
    :lang(en) .nav { order: 3; flex-basis: 100%; border-top: 1px solid var(--line); }
    :lang(en) .nav ul { gap: 0 24px; }
}
@media (max-width: 1240px) {
    :lang(en) .s-numbers > .wrap { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 1000px) {
    :lang(en) .v-label { font-size: 12px; }
    :lang(en) .msg-avatar { font-size: 62px; }
}
@media (max-width: 760px) {
    :lang(en) .hd .has-short .brand-short { font-size: 19px; line-height: 1.2; letter-spacing: -.005em; }
    :lang(en) .menu summary { font-size: 15.5px; }
    :lang(en) .urgent-title { font-size: 16px; }
    :lang(en) .hero-name { font-size: clamp(2.3rem, 11.4vw, 2.85rem); }
    :lang(en) .hero-name.name-m { font-size: clamp(1.8rem, 8.4vw, 2.2rem); }
    :lang(en) .hero-name.name-l { font-size: clamp(1.4rem, 6.4vw, 1.7rem); }
    :lang(en) .hero-name.name-xl { font-size: clamp(.95rem, 4.3vw, 1.15rem); }
    :lang(en) .hero-actions .btn { flex: 1 1 100%; }
    :lang(en) .hero-tag { margin-top: 12px; font-size: 18px; }
    :lang(en) .hero-line { margin-top: 8px; line-height: 1.5; }
    :lang(en) .sec-title { font-size: 25px; line-height: 1.2; }
    :lang(en) .sec-title .mark { margin-top: calc(.5lh - 7.5px); }
    :lang(en) .v-label { margin-top: 6px; font-size: 11.5px; letter-spacing: .06em; }
    :lang(en) .pull { font-size: 20px; text-wrap: pretty; }
    :lang(en) .msg-avatar { font-size: 40px; }
    :lang(en) .v-cards .v-t { font-size: 19px; }
    :lang(en) .v-cards .v-d { margin-top: 4px; font-size: 15.5px; line-height: 1.55; }
    :lang(en) .adm-head h2 { line-height: 1.2; }
    :lang(en) .step h3 { line-height: 1.25; }
    :lang(en) .step p { font-size: 14.5px; line-height: 1.45; }
    :lang(en) .job .btn { padding: 0 16px; font-size: 16px; }
    :lang(en) .phonebar a { font-size: 13.5px; letter-spacing: .01em; }
    :lang(en) .phonebar .pb-adm { font-size: 14.5px; }
}
/* সরু ফোনে ইংরেজি ছোট নাম বাংলার দ্বিগুণ চওড়া — মেনুর শব্দ চিহ্নের নিচে, লোগো-ঘর একটু ছোট */
@media (max-width: 420px) {
    :lang(en) .hd-in { gap: 6px; }
    :lang(en) .hd .brand { gap: 8px; }
    :lang(en) .hd .well { width: 40px; height: 40px; }
    :lang(en) .menu summary { flex-direction: column; justify-content: center; gap: 1px; min-width: 50px; min-height: 46px; padding: 3px 6px; font-size: 12px; line-height: 1.15; letter-spacing: .02em; }
    :lang(en) .menu-word { position: static; width: auto; height: auto; overflow: visible; clip-path: none; white-space: nowrap; }
}

/* নড়াচড়া — কেবল যাঁরা চান */
@media (prefers-reduced-motion: no-preference) {
    .btn, .more .ico, .nav a::after, .chip-row, .v-cards .v-item, .v-captioned .v-ph, .urgent-link > .ico, .urgent-title {
        transition: background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease, text-decoration-color .2s ease;
    }
    .btn-main:hover { transform: translateY(-1px); box-shadow: 0 8px 18px -10px rgba(10, 30, 60, .6); }
    .more:hover .ico, .urgent-link:hover > .ico { transform: translateX(3px); }
    .v-cards .v-item:hover { transform: translateY(-2px); }
}

@media print {
    .utility, .hd-call, .hero-photo, .jaali-band { display: none !important; }
    .hd { position: static; }
}
