/* OnePathy self-hosted fonts (SIL Open Font License) — no third-party font CDN.
   Plus Jakarta Sans (Latin, variable 200–800) + Anek Bangla (Bengali, variable 100–800).
   One file per script; the Bengali file only downloads when Bengali text is on the page. */
/* OnePathy 2.0 type: Sora (display, headings, numbers) + Manrope (text) + Anek Bangla (বাংলা). Self-hosted, SIL OFL. */
@font-face{font-family:'Sora';font-style:normal;font-display:swap;font-weight:100 800;src:url('/brand/fonts/sora-latin-wght-normal.woff2') format('woff2-variations'),url('/brand/fonts/sora-latin-wght-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Sora';font-style:normal;font-display:swap;font-weight:100 800;src:url('/brand/fonts/sora-latin-ext-wght-normal.woff2') format('woff2-variations'),url('/brand/fonts/sora-latin-ext-wght-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:200 800;src:url('/brand/fonts/manrope-latin-wght-normal.woff2') format('woff2-variations'),url('/brand/fonts/manrope-latin-wght-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:200 800;src:url('/brand/fonts/manrope-latin-ext-wght-normal.woff2') format('woff2-variations'),url('/brand/fonts/manrope-latin-ext-wght-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope Fallback';src:local('Arial'),local('Helvetica Neue'),local('Roboto');size-adjust:103%;ascent-override:104%;descent-override:29%;line-gap-override:0%}
@font-face{font-family:'Sora Fallback';src:local('Arial'),local('Helvetica Neue'),local('Roboto');size-adjust:112%;ascent-override:92%;descent-override:26%;line-gap-override:0%}

@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:200 800;src:url('/brand/fonts/plus-jakarta-sans-latin-wght-normal.woff2') format('woff2-variations'),url('/brand/fonts/plus-jakarta-sans-latin-wght-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:200 800;src:url('/brand/fonts/plus-jakarta-sans-latin-ext-wght-normal.woff2') format('woff2-variations'),url('/brand/fonts/plus-jakarta-sans-latin-ext-wght-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Anek Bangla';font-style:normal;font-display:swap;font-weight:100 800;size-adjust:110%;src:url('/brand/fonts/anek-bangla-bengali-wght-normal.woff2') format('woff2-variations'),url('/brand/fonts/anek-bangla-bengali-wght-normal.woff2') format('woff2');unicode-range:U+0951-0952,U+0964-0965,U+0980-09F2,U+09F4-09FE,U+1CD0,U+1CD2,U+1CD5-1CD6,U+1CD8,U+1CE1,U+1CEA,U+1CED,U+1CF2,U+1CF5-1CF7,U+200C-200D,U+20B9,U+25CC,U+A8F1}
/* The taka sign (৳) appears on English pages too, so it lives in its own 1 KB file instead of pulling in the whole Bengali font. */
@font-face{font-family:'Anek Bangla';font-style:normal;font-display:swap;font-weight:100 800;size-adjust:110%;src:url('/brand/fonts/anek-bangla-taka-wght.woff2') format('woff2');unicode-range:U+09F3}
/* "বাংলা"/"বাং" labels on English pages (language switch) use a 2 KB subset for the same reason. */
@font-face{font-family:'OP Bangla Label';font-style:normal;font-display:swap;font-weight:100 800;size-adjust:110%;src:url('/brand/fonts/anek-bangla-label-wght.woff2') format('woff2')}
html:not([lang="bn"]) .op-bn-label,html:not([lang="bn"]) .op-seg button[lang="bn"]{font-family:Manrope,"Manrope Fallback","OP Bangla Label","Anek Bangla",sans-serif}
/* Metric-matched fallback so text doesn't jump when the web font arrives (no layout shift). */
@font-face{font-family:'Jakarta Fallback';src:local('Arial'),local('Helvetica Neue'),local('Roboto');size-adjust:105%;ascent-override:98.8%;descent-override:21.1%;line-gap-override:0%}

/* Bengali reads best a touch larger and looser, and never with tight tracking (it breaks conjuncts). */
:lang(bn){line-height:1.7}
:lang(bn) h1,:lang(bn) h2,:lang(bn) h3,:lang(bn) h4,:lang(bn) .op-display,:lang(bn) .tile-title,:lang(bn) [class*="tracking-"]{letter-spacing:0!important;line-height:1.22}
body{text-rendering:optimizeLegibility;font-feature-settings:"kern" 1}

/* ---- Finish: small, site-wide refinements (no content or layout changes) ---- */
html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-padding-top:88px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
h1,h2,h3{text-wrap:balance}
p,li,dd,figcaption{text-wrap:pretty}
::selection{background:rgba(255,107,61,.22)}
:focus-visible{outline:3px solid var(--op-primary,#1c5da8);outline-offset:2px;border-radius:6px}
input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none}
button,a,[role="button"]{touch-action:manipulation}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  button:not(:disabled):active,a[class*="rounded-full"]:active{transform:scale(.98)}
  .card,a.tile{transition:box-shadow .25s ease,transform .25s ease}
}
/* Prices, serials and times line up neatly. */
.font-display,.op-display,time,[class*="tabular"]{font-variant-numeric:tabular-nums}
/* Inputs never trigger iOS zoom, and long words never break small screens. */
@media (max-width:640px){input,select,textarea{font-size:16px!important}}
body{overflow-wrap:anywhere}
img,svg,video{max-width:100%}
/* Slim, quiet scrollbars on desktop. */
@media (pointer:fine){*{scrollbar-width:thin;scrollbar-color:rgba(100,116,139,.35) transparent}}
