/* IWS self-hosted brand fonts. Sora + Inter, SIL Open Font License. */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/inter-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/inter-400-latin.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:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/inter-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/inter-500-latin.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:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/inter-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/inter-600-latin.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-weight:400;font-display:swap;src:url('../fonts/sora-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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:'Sora';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/sora-400-latin.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-weight:600;font-display:swap;src:url('../fonts/sora-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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:'Sora';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/sora-600-latin.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-weight:700;font-display:swap;src:url('../fonts/sora-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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:'Sora';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/sora-700-latin.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;}

/* Metric-matched fallback for Sora (30 Jul 2026, Task F fix 2).
   Sora's glyphs are measurably wider than the OS-default sans it is swapped in for while the
   woff2 downloads: "Enquire Now" at the header CTA's real weight/size measures 86.97px in the
   generic ui-sans-serif/system-ui stack and 94.86px once Sora paints. Because the nav is a
   flex row, every item and the CTA shift sideways when that swap lands after first paint.

   THE TRAP THAT COST A WRONG FIRST VALUE, worth keeping so nobody re-walks it: `local('Arial')`
   used as the `src` of a NEW named @font-face is NOT the same rendered glyph as referencing
   `font-family: Arial` directly. Plain `font-family: Arial` at weight 600 gets the browser's
   normal bold-matching (measured 88.02px for "Enquire Now"), but the same weight requested
   through a bare custom @font-face whose only source is `local('Arial')` resolves to
   Arial-Regular's outlines with NO synthetic bold applied (measured 82.45px for the same
   text) -- an 6.8% gap between the two paths that has nothing to do with Sora at all. Sizing
   size-adjust off the wrong baseline (Arial-via-family-name) landed at 108%, which a direct
   test proved barely moved the real fallback face (89.03px vs Arial-via-family's 88.02px,
   not the ~95px expected). Re-measured against the ACTUAL path this face uses --
   `'Sora Fallback'` compared to Sora, both rendered on the live page so Sora's real weights
   are the ones in play -- the ratios needed are 115.05% (Enquire Now, 600/14.4px), 114.67%
   (Programmes, 600/16px) and 112.42% (the "Discover, Create, Lead" tagline, 700/32px).
   115% below covers the 600-weight nav/CTA case, which is the one that visibly reflows in a
   flex row; 112% covers 700. 400 was not carrying any measured on-page text at the time of
   this fix, so it is set to 115% too rather than left at the old, disproven 108%.
   `local('Arial')` never resolves to a downloaded file (it exists purely to give the browser
   something to scale with size-adjust), so this face costs nothing on the wire.
   Applied at the three weights actually used (400/600/700 -- see the preload list below and
   iws-global.css's --iws-font-display). Inter was measured the same way against the same
   fallback stack and came back at 99.45% (a real .iws-mm-f-desc menu label, Inter 600 13px) --
   close enough to call it a non-issue, so Inter is deliberately left untouched here. */
/* ---------------------------------------------------------------------------
   700 RAISED FROM 112% TO 115%, 31 Jul 2026, and 400/600 DELIBERATELY UNTOUCHED.

   Re-measured the way the comment above insists on: 'Sora Fallback' against
   'Sora', both rendered live, never against font-family:Arial. That warning is
   real and it caught a mistake in this very session — measuring Sora against
   `font-family: Arial` at weight 600 gives a ratio of 1.066 and suggests
   dropping 115% to 107%, which would have made every nav label and the CTA 8%
   wrong. Arial-via-family-name gets synthetic bold; Arial-via-local() inside a
   named face does not.

   Weight 600 measured against the real face: Enquire Now -0.06%, Programmes
   +0.30%. That is as close as this technique gets, so 115% stays.

   Weight 700 was the outlier. Four real strings on the homepage, each at 40px:
     Discover · Create · Lead   ideal 109.5%
     Why families choose IWS    ideal 113.8%
     Frequently asked questions ideal 116.4%
     A British online school…   ideal 118.0%   <- the hero h1, 56px
   Ideal per string varies with letter mix and cannot all be satisfied; the
   choice is which string to favour. 112% was set from the tagline, which is
   24px footer text, and it left the HERO HEADLINE — the largest type on the
   site — reflowing 5.1% when Sora arrives. 115% is the mean of the four and
   cuts the h1 to 2.5%, at the cost of taking the tagline from +2.3% to +5.0%.
   Mean absolute error across the four falls from 3.2% to 2.45%.
   --------------------------------------------------------------------------- */
@font-face{font-family:'Sora Fallback';font-style:normal;font-weight:400;size-adjust:115%;src:local('Arial');}
@font-face{font-family:'Sora Fallback';font-style:normal;font-weight:600;size-adjust:115%;src:local('Arial');}
@font-face{font-family:'Sora Fallback';font-style:normal;font-weight:700;size-adjust:115%;src:local('Arial');}
