{"version":3,"file":"OAUGlobalCSS.BCfaSWvr.mjs","names":[],"sources":["https:/framerusercontent.com/modules/S8cGQP64TVfcHDX9BhnA/uParvWtM7PlLVvysXSO2/OAUGlobalCSS.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{RenderTarget}from\"framer\";/**\n * OAU GLOBAL CSS\n *\n * THE PROJECT'S GLOBAL STYLESHEET. Framer has no user-editable global CSS\n * file, so this is it: a component that renders nothing but a <style> tag.\n * Drop ONE instance on a page and everything below applies to that page.\n *\n * =====================================================================\n * WHAT BELONGS IN HERE AND WHAT MUST NEVER GO IN. READ BEFORE ADDING.\n * =====================================================================\n * BELONGS: anything genuinely repeated across two or more CODE COMPONENTS,\n * and any browser-level default that should hold site-wide.\n *\n * MUST NEVER GO IN: anything Framer's own TEXT STYLES or COLOUR STYLES\n * already own. Restating them here creates a SECOND source of truth, and\n * CSS from this file would silently beat the style panel - somebody edits\n * /Section Heading, nothing moves, and nobody can find out why.\n *\n * FIVE THINGS CSS CANNOT FIX. Established 9/5/2026. Do not retry:\n *   1. HEADING HIERARCHY. CSS cannot turn an h4 into an h2.\n *   2. ALT TEXT. Not a style. Per image, in Framer.\n *   3. COPY. Service, placement, and Pennsylvania, New Jersey and Delaware copy are content, not styling.\n *   4. FONT COUNT. 35 font files load on every page because ~40 text\n *      styles reference many weights across two families and Framer\n *      serves a file per weight. CSS cannot unload a font the platform\n *      decided to send. Prune the text styles instead. This is the\n *      single biggest speed item on the site.\n *   5. IMAGE WEIGHT AND LAZY LOADING. loading=\"lazy\" and intrinsic\n *      dimensions are per-image attributes. /placements ships 22 images\n *      with one lazy; /about and /host each load a 3944x7008 asset.\n *      Fixed on the image, not here.\n * A SIXTH IS HALF FIXABLE: sub-14px type. There is no selector for \"font\n * smaller than 14px\", so only elements with a stable class hook can be\n * floored - section 11. The rest sit on Framer-generated hashed classes\n * that REGENERATE ON EVERY PUBLISH.\n *\n * A rule earns its place here at TWO callers, not one.\n *\n * SPECIFICITY: sections 1-5 and 11 use !important because they fix live\n * bugs and must beat component CSS. Everything else is a default.\n *\n * Governing rules: no overflow recKUmPirkmTxUhXR, no dead space\n * recNBYemEwb70erXq, accessibility recdkoZV4W1ag5XSB, public copy\n * recyHNTxi673i2eww.\n *\n * SCOPE: an instance covers the page it sits on and no other. The durable\n * answer is Framer Site Settings > Custom Code > head, which is outside\n * MCP and is Andrew's hand.\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n * @framerIntrinsicWidth 0\n * @framerIntrinsicHeight 0\n * @framerDisableUnlink\n */const GLOBAL_CSS=`\n/* ================================================================\n   FIXES. !important because they must beat component CSS.\n   ================================================================ */\n\n/* ---- 1. NOTHING OVERFLOWS ------------------------------------ */\n.oau-sw *, .oau-sw-steps *, .oau-sec-tiles *, .oau-tilerow *,\n.oau-grid *, .oau-deck *, .oau-cta-band * { min-width: 0; }\n\n.oau-sw img, .oau-sw svg, .oau-sw video,\n.oau-sec-tiles img, .oau-tilerow img { max-width: 100%; height: auto; }\n\n.oau-sw-steps li, .oau-sec-tiles li, .oau-tilerow li,\n.oau-sw-h2, .oau-sec-h2 { overflow-wrap: anywhere; }\n\n/* ---- 2. TILE GRIDS SIZE INTRINSICALLY ------------------------- */\n/* min(220px, 100%) makes overflow impossible: a column can never be\n   wider than its parent, at any width, on any device. */\n.oau-sw-steps, .oau-sec-tiles, .oau-tilerow-list {\n  display: grid !important;\n  grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr))\n    !important;\n  align-items: stretch !important;\n}\n\n/* ---- 3. TILE CONTENT IS CENTRED ------------------------------- */\n.oau-sw-steps > li, .oau-sec-tiles > li, .oau-tilerow-list > li {\n  display: flex !important;\n  flex-direction: column !important;\n  align-items: center !important;\n  text-align: center !important;\n  min-width: 0 !important;\n}\n\n/* ---- 4. A CENTRED BLOCK GETS A CENTRED HEADING ---------------- */\n.oau-sw-h2 {\n  text-align: center !important;\n  margin-left: auto !important;\n  margin-right: auto !important;\n}\n\n/* ---- 5. NO DEAD SPACE ----------------------------------------- */\n.oau-sw { padding-top: 0 !important; padding-bottom: 0 !important; }\n.oau-sw > :first-child { margin-top: 0 !important; }\n.oau-sw > :last-child { margin-bottom: 0 !important; }\n.oau-sw-h2 { margin-block: 0 !important; }\n\n/* ================================================================\n   TOKENS AND DEFAULTS. No !important below this line.\n   ================================================================ */\n\n/* ---- 6. THE REPEATED VALUES, IN ONE PLACE --------------------- */\n:root {\n  --oau-accent: #F47A00;\n  --oau-ink: #121212;\n  --oau-cream: #F4F1E9;\n  --oau-panel: #1F1F1F;\n\n  --oau-on-dark: #F4F1E9;\n  --oau-on-dark-muted: rgba(244, 241, 233, 0.72);\n  --oau-on-dark-faint: rgba(244, 241, 233, 0.60);\n\n  --oau-tile-bg: rgba(244, 241, 233, 0.05);\n  --oau-tile-border: rgba(244, 241, 233, 0.14);\n  --oau-tile-radius: 16px;\n  --oau-tile-pad: 24px 18px 26px;\n\n  --oau-panel-radius: 28px;\n  --oau-panel-pad: 56px clamp(22px, 4vw, 40px);\n  --oau-max-width: 1180px;\n\n  --oau-gap: 20px;\n  --oau-gap-mobile: 26px;\n\n  --oau-type-floor: 14px;\n  --oau-tap-min: 44px;\n\n  --oau-ease: cubic-bezier(0.33, 1, 0.68, 1);\n  --oau-reveal-ms: 520ms;\n}\n\n/* ---- 7. TAP TARGETS ------------------------------------------- */\n.oau-sw-pill, .oau-tab, .oau-btn { min-height: var(--oau-tap-min); }\n\n/* ---- 8. FOCUS IS ALWAYS VISIBLE ------------------------------- */\n/* WCAG 2.2 AA 2.4.7. MISSING site-wide before 9/5/2026. Never replace\n   this with outline: none. */\n.oau-sw a:focus-visible, .oau-sw button:focus-visible,\n.oau-sw [tabindex]:focus-visible,\n.oau-tab:focus-visible, .oau-btn:focus-visible,\n.oau-cta-band a:focus-visible {\n  outline: 2px solid var(--oau-accent);\n  outline-offset: 3px;\n  border-radius: 4px;\n}\n\n/* ---- 9. SHARED SHELLS ----------------------------------------- */\n.oau-panel {\n  width: 100%; max-width: var(--oau-max-width); box-sizing: border-box;\n  background: var(--oau-panel); border-radius: var(--oau-panel-radius);\n  padding: var(--oau-panel-pad); overflow: hidden;\n}\n.oau-tile {\n  background: var(--oau-tile-bg);\n  border: 1px solid var(--oau-tile-border);\n  border-radius: var(--oau-tile-radius);\n  padding: var(--oau-tile-pad);\n  box-sizing: border-box; height: 100%; min-width: 0;\n}\n\n/* ---- 10. MOTION ----------------------------------------------- */\n.oau-sw-reveal, .oau-sec-reveal {\n  opacity: 0; transform: translateY(18px);\n  transition: opacity var(--oau-reveal-ms) var(--oau-ease),\n              transform var(--oau-reveal-ms) var(--oau-ease);\n}\n.oau-sw-reveal.is-in, .oau-sec-reveal.is-in {\n  opacity: 1; transform: none;\n}\n@media (prefers-reduced-motion: reduce) {\n  .oau-sw-reveal, .oau-sec-reveal {\n    opacity: 1 !important; transform: none !important;\n    transition: none !important; }\n}\n\n/* ---- 11. TYPE FLOOR, THE HALF CSS CAN REACH ------------------- */\n/* 16px on inputs is separate and non-negotiable: iOS Safari zooms the\n   whole page when a focused input is under 16px. */\n.oau-cta-band, .oau-cta-band *,\n.oau-sw, .oau-sw *,\n.oau-sec-tiles, .oau-sec-tiles *,\n.oau-tilerow, .oau-tilerow * {\n  font-size: max(var(--oau-type-floor), 1em) !important;\n}\ninput, textarea, select { font-size: max(16px, 1em); }\n\n/* ---- 12. SPEED, THE PART THAT IS GENUINELY GLOBAL ------------- */\n/* Added 9/5/2026 after measuring the live site. Three levers only.\n   Everything else about speed here is a per-image or per-style fix and\n   is listed in the header as not-CSS. */\n\n/* Below-fold sections are not laid out or painted until they scroll\n   near the viewport. The contain-intrinsic-size is REQUIRED alongside\n   it - without a size hint the scrollbar jumps as sections resolve. */\n.oau-sw-panel, .oau-sec-tiles, .oau-tilerow-list, .oau-deck {\n  content-visibility: auto;\n  contain-intrinsic-size: auto 600px;\n}\n\n/* Reserve image space from the intrinsic width and height attributes so\n   nothing shifts as images arrive. Cumulative layout shift is felt as\n   the page \"jumping\" while it loads. */\nimg[width][height] { height: auto; }\n\n/* Media never blocks or overflows. */\nimg, video { max-width: 100%; }\n\n/* Off-screen iframes - maps, embeds - stop competing for bandwidth\n   with content the reader can actually see. */\niframe { loading: lazy; }\n`;export default function OAUGlobalCSS(props){const isCanvas=RenderTarget.current()===RenderTarget.canvas;return /*#__PURE__*/_jsxs(\"div\",{style:{width:0,height:0,overflow:\"visible\",pointerEvents:\"none\",...props.style},children:[/*#__PURE__*/_jsx(\"style\",{children:GLOBAL_CSS}),isCanvas?/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",whiteSpace:\"nowrap\",fontFamily:\"'Inter', sans-serif\",fontSize:10,letterSpacing:\"0.06em\",textTransform:\"uppercase\",color:\"rgba(244,122,0,0.75)\",transform:\"translate(-50%, -14px)\"},children:\"OAU global CSS\"}):null]});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"OAUGlobalCSS\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./OAUGlobalCSS.map"],"mappings":"4JAsNE,SAAwB,EAAa,EAAM,CAAC,IAAM,EAAS,EAAa,QAAQ,IAAI,EAAa,OAAO,OAAoB,EAAM,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,UAAU,cAAc,OAAO,GAAG,EAAM,KAAK,EAAE,SAAS,CAAc,EAAK,QAAQ,CAAC,SAAS,CAAU,CAAC,EAAE,EAAsB,EAAK,OAAO,CAAC,MAAM,CAAC,SAAS,WAAW,WAAW,SAAS,WAAW,sBAAsB,SAAS,GAAG,cAAc,SAAS,cAAc,YAAY,MAAM,uBAAuB,UAAU,wBAAwB,EAAE,SAAS,gBAAgB,CAAC,EAAE,IAAI,CAAC,CAAC,CAAE,mBAtNnf,IAAiC,EAsDhF,EAAW"}