{"version":3,"file":"SectionHeader.Bd0xIbT0.mjs","names":["useState","useRef","_Fragment"],"sources":["https:/framerusercontent.com/modules/J7hanltLUqdlZHj95tfQ/FKvw9i6DA5XwKIic6fXd/SectionHeader.js"],"sourcesContent":["// SMCo SectionHeader — universal section header with editorial chrome integration.\n// Used by every section of every interior page. Pairs with EditorialChrome corner labels.\n// scriptLine: optional Janelotus accent line rendered after the headline (use sparingly, 1-3/page).\n// with-cta variant uses the shared GlassCta atom — SECONDARY recipe (normalized 2026-06-10).\n// MASKED HEADLINE REVEAL (2026-06-11, Left Coast register): headline lines rise out of\n// overflow-hidden masks one line at a time on scroll-into-view. Script/subline keep fade-rise\n// (masking clips Janelotus descenders). Reduced-motion collapses all of it.\n// SIZE CONTROLS (2026-06-30): eyebrowScale / headlineScale / scriptScale / bodyScale are\n// proportional multipliers (0.5–1.5, default 1) on each text role's responsive clamp, so any\n// instance can be dialed down when a headline reads too big. Default 1 = unchanged.\n// Editorial corner chrome RETIRED 2026-06-11 (Brent) — journal-page accents broke flow; default off everywhere.\n// NOTE: Framer coerces empty Color controls to black — black is treated as \"auto\" (theme text color).\n// Responsive (2026-08-12): gutters 64 → 24 and chrome reposition below 880px so iPad portrait\n// shares the page's mobile edge; the mobile TYPE caps stay on the phone band (≤767px).\n// MOBILE TYPE SCALE (2026-08-11): mobile-only font-size overrides in the media block below.\n// The desktop clamps are untouched — see the note next to mobileHeadlinePx for why lowering\n// a clamp floor would have done nothing here.\n// FAIL-OPEN REVEAL (2026-08-11): retrofitted to the project reveal contract. This was the\n// highest-blast-radius fail-closed reveal left in the project — see the useReveal note.\n// SCRIPT FACE (2026-08-11): the component now declares its own @font-face for the script\n// family — see the note in the <style> block at the foot of the render.\n// SMALL-TEXT SCALE (2026-08-12): bottom-of-scale legibility pass, matching the treatment\n// already applied to Navigation and Footer. Only the two sub-18px roles moved — corner\n// chrome 11 → 13 and the eyebrow 13 → 14. Headline / script / companion / subline are all\n// 18px+ and are byte-identical, so the hierarchy above the eyebrow is untouched. Both\n// tracked uppercase roles were eased proportionally so their absolute tracking (and\n// therefore their line count at 390px) is effectively unchanged. Mobile inherits this\n// automatically: the 767px block only overrides .sh-headline / .sh-script, so the raised\n// chrome and eyebrow sizes apply on every breakpoint.\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useEffect,useRef,useState}from\"react\";import{GlassCta}from\"https://framer.com/m/GlassCta-gNbKgs.js\";function useDarkMode(){const[isDark,setIsDark]=useState(false);useEffect(()=>{if(typeof document===\"undefined\")return;const check=()=>setIsDark(document.documentElement.classList.contains(\"dark\"));check();const onChange=()=>check();document.addEventListener(\"smco-theme-change\",onChange);const observer=new MutationObserver(check);observer.observe(document.documentElement,{attributes:true,attributeFilter:[\"class\"]});return()=>{document.removeEventListener(\"smco-theme-change\",onChange);observer.disconnect();};},[]);return isDark;}// Mirrors the observer's own threshold AND rootMargin, so the guard fires at the\n// same scroll position a working observer would — a healthy observer always wins\n// the race and the motion is unchanged. Anything unmeasurable reveals.\nconst isOnScreen=(node,threshold,bottomInset=0)=>{if(typeof node.getBoundingClientRect!==\"function\")return true;const rect=node.getBoundingClientRect();const vh=window.innerHeight||document.documentElement.clientHeight||0;if(rect.height<=0||vh<=0)return true;const visible=Math.min(rect.bottom,vh*(1-bottomInset))-Math.max(rect.top,0);return visible>0&&visible/rect.height>=threshold;};// FAIL-OPEN REVEAL (2026-08-11): this is the shared header for every section of every\n// interior page — the highest-blast-radius reveal in the project, and it is the MASKED\n// variety. Each headline line is parked at translateY(112%) inside an overflow:hidden\n// clip box, so a silent observer does not merely fade the headline: it parks the text\n// OUTSIDE its own box while the element still measures fine in the DOM. That is exactly\n// the failure that blanked the interior heroes, and why it took three publishes to spot.\n// Visible is now the default: static export and canvas start revealed, a missing OR\n// throwing IntersectionObserver reveals immediately, the rect guard force-reveals if the\n// observer is constructed but never reports, and a hard deadline force-reveals even if\n// the rect can't be trusted.\n// TRANSFORM END-STATE: `revealed` is the single boolean behind BOTH the opacity and the\n// transform on every animated node (revealStyle sets both from it; the headline lines read\n// it directly for translateY). So every exit path below lands on translateY(0) + opacity 1\n// together — there is no path that ends opaque-but-still-clipped.\nfunction useReveal(ref,isStatic){const[revealed,setRevealed]=useState(isStatic);useEffect(()=>{if(isStatic||revealed)return;const el=ref.current;if(!el||typeof IntersectionObserver===\"undefined\"){setRevealed(true);return;}let io=null;try{io=new IntersectionObserver(entries=>{for(const entry of entries){if(entry.isIntersecting){setRevealed(true);break;}}},{threshold:.25,rootMargin:\"0px 0px -22% 0px\"});io.observe(el);}catch{setRevealed(true);return;}// Guard: the observer is decoration, never a gate. Poll the rect at the\n// observer's own trigger point (0.25 / -22% bottom inset), and force-reveal\n// outright once the deadline passes even if the rect can't be trusted.\nconst deadline=Date.now()+2e4;const guard=window.setInterval(()=>{if(isOnScreen(el,.25,.22)||Date.now()>deadline){setRevealed(true);}},400);return()=>{if(io)io.disconnect();window.clearInterval(guard);};},[isStatic,revealed,ref]);return revealed;}// 2026-08-11: leads with the real, case-sensitive family name. The bare 'Janelotus'\n// entry was a name-guess that never resolved and only added a failed lookup, so it\n// is gone; every SMCo script accent now shares this exact chain.\nconst JANELOTUS_CHAIN=\"'janelotus Regular', 'Allura', cursive\";function isAutoColor(c){const s=c.trim().toLowerCase().replace(/\\s/g,\"\");return s===\"\"||s===\"rgb(0,0,0)\"||s===\"rgba(0,0,0,1)\"||s===\"#000\"||s===\"#000000\"||s===\"black\";}/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicHeight 300\n */export default function SectionHeader(props){const{variant=\"standard\",eyebrow=\"\",headline=\"\",scriptLine=\"\",scriptCompanion=\"\",scriptColor=\"\",subline=\"\",ctaLabel=\"\",ctaHref=\"\",sectionLabel=\"\",sectionNumber=\"\",typeTag=\"\",showChrome=false,maxWidth=1200,paddingTop=120,paddingBottom=80,eyebrowScale=1,headlineScale=1,scriptScale=1,bodyScale=1,accentColor=\"#96c0a5\",textColor=\"#0e0e0e\",subtleTextColor=\"rgba(14, 14, 14, 0.62)\",hairlineColor=\"rgba(14, 14, 14, 0.1)\",actionColor=\"#ff7f50\"}=props;const isDark=useDarkMode();const contentRef=useRef(null);const effText=isDark?\"rgb(244, 244, 244)\":textColor;const effSubtle=isDark?\"rgba(244, 244, 244, 0.7)\":subtleTextColor;const effScript=isAutoColor(scriptColor)?effText:scriptColor;const eS=typeof eyebrowScale===\"number\"&&eyebrowScale>0?eyebrowScale:1;const hS=typeof headlineScale===\"number\"&&headlineScale>0?headlineScale:1;const scS=typeof scriptScale===\"number\"&&scriptScale>0?scriptScale:1;const bS=typeof bodyScale===\"number\"&&bodyScale>0?bodyScale:1;const isStatic=RenderTarget.current()===RenderTarget.canvas||typeof window===\"undefined\";const revealed=useReveal(contentRef,isStatic);// MOBILE TYPE SCALE (2026-08-11): at 400px the headline clamp resolves to its\n// 36px FLOOR — 4.5vw is only 18px there, so the floor governs and lowering it\n// would change nothing. Same story for the script line (5vw = 20px vs a 40px\n// floor). These mobile-only values override the inline clamp via !important\n// in the media block below; the desktop clamps stay byte-identical.\n// headlineScale / scriptScale still steer the mobile size proportionally, but\n// the result is capped so no instance can push mobile type back out of band.\nconst mobileHeadlinePx=Math.min(26,Math.max(20,25*hS)).toFixed(1);const mobileScriptPx=Math.min(32,Math.max(24,30*scS)).toFixed(1);const ease=\"cubic-bezier(0.16, 1, 0.3, 1)\";const isCentered=variant===\"centered\";const showCta=variant===\"with-cta\"&&ctaLabel.trim().length>0;const showSubline=(variant===\"with-subline\"||variant===\"with-cta\"||variant===\"standard\"||variant===\"centered\")&&subline.trim().length>0;// BLANKABLE LABEL (2026-08-17): same `.trim().length > 0` idiom the script\n// and companion lines already use, so the eyebrow answers to a blank control\n// exactly the way they do.\nconst hasEyebrow=eyebrow.trim().length>0;const hasScript=scriptLine.trim().length>0;const hasCompanion=scriptCompanion.trim().length>0;// Masked reveal: each headline line rises out of its own clip container.\nconst headlineLines=headline.split(\"\\n\").filter(l=>l.trim().length>0);const LINE_STAGGER=95;const linesDone=60+headlineLines.length*LINE_STAGGER;const revealStyle=delayMs=>({opacity:revealed?1:0,transform:revealed?\"translateY(0)\":\"translateY(12px)\",transition:`opacity 720ms ${ease} ${delayMs}ms, transform 720ms ${ease} ${delayMs}ms`});return /*#__PURE__*/_jsxs(\"div\",{\"data-smco-sh\":\"\",style:{position:\"relative\",width:\"100%\",paddingTop:paddingTop,paddingBottom:paddingBottom,paddingLeft:64,paddingRight:64,boxSizing:\"border-box\"},children:[showChrome&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"div\",{\"data-smco-sh-tl\":\"\",style:{position:\"absolute\",top:24,left:64,fontFamily:\"Urbanist, sans-serif\",fontSize:13,fontWeight:600,letterSpacing:\"0.16em\",textTransform:\"uppercase\",color:effSubtle,pointerEvents:\"none\"},children:[sectionLabel,\" / \\xa92026\"]}),/*#__PURE__*/_jsxs(\"div\",{\"data-smco-sh-tr\":\"\",style:{position:\"absolute\",top:24,right:64,fontFamily:\"Urbanist, sans-serif\",fontSize:13,fontWeight:600,letterSpacing:\"0.16em\",textTransform:\"uppercase\",color:accentColor,pointerEvents:\"none\"},children:[\"(\",typeTag,\")\"]}),/*#__PURE__*/_jsx(\"div\",{\"data-smco-sh-br\":\"\",style:{position:\"absolute\",bottom:24,right:64,fontFamily:\"Urbanist, sans-serif\",fontSize:13,fontWeight:600,letterSpacing:\"0.16em\",color:effSubtle,pointerEvents:\"none\"},children:sectionNumber})]}),/*#__PURE__*/_jsxs(\"div\",{ref:contentRef,style:{maxWidth:maxWidth,margin:isCentered?\"0 auto\":\"0\",textAlign:isCentered?\"center\":\"left\",display:\"flex\",flexDirection:\"column\",alignItems:isCentered?\"center\":\"flex-start\",gap:20},children:[hasEyebrow&&/*#__PURE__*/_jsx(\"div\",{style:{...revealStyle(0),fontFamily:\"Urbanist, sans-serif\",fontSize:`${(14*eS).toFixed(2)}px`,fontWeight:600,letterSpacing:\"0.20em\",textTransform:\"uppercase\",color:accentColor},children:eyebrow}),/*#__PURE__*/_jsx(\"div\",{className:\"sh-headline\",style:{fontFamily:\"Urbanist, sans-serif\",fontSize:`clamp(${(36*hS).toFixed(1)}px, ${(4.5*hS).toFixed(2)}vw, ${(68*hS).toFixed(1)}px)`,fontWeight:700,lineHeight:1.05,letterSpacing:\"-0.02em\",textTransform:\"uppercase\",color:effText},children:headlineLines.map((line,i)=>/*#__PURE__*/_jsx(\"div\",{style:{overflow:\"hidden\",padding:\"0.04em 0\",margin:\"-0.04em 0\"},children:/*#__PURE__*/_jsx(\"div\",{style:{transform:revealed?\"translateY(0)\":\"translateY(112%)\",transition:`transform 980ms ${ease} ${60+i*LINE_STAGGER}ms`,willChange:\"transform\"},children:line})},i))}),hasScript&&/*#__PURE__*/_jsxs(\"div\",{style:{...revealStyle(linesDone+40),display:\"flex\",alignItems:\"baseline\",columnGap:\"0.45em\",flexWrap:\"wrap\",marginTop:-8},children:[/*#__PURE__*/_jsx(\"div\",{className:\"sh-script\",style:{fontFamily:JANELOTUS_CHAIN,fontWeight:500,fontSize:`clamp(${(40*scS).toFixed(1)}px, ${(5*scS).toFixed(2)}vw, ${(76*scS).toFixed(1)}px)`,lineHeight:1.3,letterSpacing:\"0.02em\",textTransform:\"none\",color:effScript,padding:\"0.1em 0\"},children:scriptLine}),hasCompanion&&/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:\"Urbanist, sans-serif\",fontWeight:700,textTransform:\"uppercase\",fontSize:`clamp(${(26*scS).toFixed(1)}px, ${(2.9*scS).toFixed(2)}vw, ${(44*scS).toFixed(1)}px)`,letterSpacing:\"-0.02em\",lineHeight:1.1,color:effText},children:scriptCompanion})]}),showSubline&&/*#__PURE__*/_jsx(\"div\",{style:{...revealStyle(hasScript?linesDone+100:linesDone+50),fontFamily:\"Urbanist, sans-serif\",fontSize:`${(20*bS).toFixed(1)}px`,lineHeight:1.55,color:effSubtle,maxWidth:680},children:subline}),showCta&&/*#__PURE__*/_jsx(\"div\",{style:{...revealStyle(linesDone+120),marginTop:12},children:/*#__PURE__*/_jsx(GlassCta,{label:ctaLabel,href:ctaHref,variant:\"secondary\",accentColor:accentColor,actionColor:actionColor,textColor:effText,isDark:isDark,ease:ease})})]}),/*#__PURE__*/_jsx(\"style\",{children:`\n/* SCRIPT FACE (2026-08-11): Framer only emits an @font-face for fonts used by canvas\n   TEXT LAYERS. These pages are built almost entirely from code components, which name\n   the family in inline styles but cannot cause Framer to load it — so every script\n   accent fell through to the generic 'cursive' keyword (Comic Sans on Windows Chrome,\n   a plain sans on Android). Each code component therefore declares the face itself.\n   Identical duplicates across components are harmless: the browser dedupes by src and\n   fetches the file once. */\n@font-face { font-family: 'janelotus Regular'; src: url('https://framerusercontent.com/assets/4XS7AMSvhz9Z8Mfz7OOsX6PrA.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: block; }\n/* FONT-DISPLAY (2026-08-17): was 'swap'. janelotus' fallback chain ends in the generic\n   'cursive' keyword, which resolves to Comic Sans on Windows and Apple Chancery on macOS\n   and measures ~102% wider than janelotus — so a swap does not just restyle the accent, it\n   more than doubles the text's width and then snaps it back. 'block' holds the glyphs\n   invisible for the block period (~3s) and paints once. Every script accent already sits\n   inside a reveal wrapper at opacity 0 at first paint, so the block period costs nothing\n   visible. NOT 'optional': that commits permanently to the 102%-wider cursive on any load\n   that misses its ~100ms window, which is worse than the flash it removes.\n   DUPLICATED BY DESIGN. The identical declaration also lives in:\n     HeroSection.tsx, WhoWeServeSection.tsx, ConversionBandSection.tsx,\n     StrongloveAccent.tsx and Library/Heroes/InteriorHero.tsx.\n   The browser dedupes on src and fetches the file once, so the duplication is harmless\n   ONLY while all six stay byte-identical. Duplicate @font-face rules for one\n   family/weight/style resolve LAST-ONE-WINS, and InteriorHero's copy is injected at\n   RUNTIME by React — it therefore lands after every statically-emitted rule in document\n   order. That is why leaving a single file on 'swap' silently re-breaks the whole set,\n   page by page, depending on which components happen to render. Change all six or none. */\n/* TABLET (2026-08-12): the gutter collapse ran at 768px, so at iPad portrait (810px) this\n   header kept its 64px desktop gutters while InteriorHero — standardised on 880px — sat\n   directly above it at 24px. Every section on the page was inset 40px further than the\n   hero it belonged to, on the same screen. Raised to 880px so the page shares one edge.\n   Safe here: this sheet has no intermediate 641-767px design — the single width-based\n   rule was the only one in the file, so 769-880px simply inherits the same gutter\n   treatment 768px and below already had. */\n@media (max-width: 880px) { [data-smco-sh] { padding-left: 24px !important; padding-right: 24px !important; } [data-smco-sh-tl] { left: 24px !important; } [data-smco-sh-tr] { right: 24px !important; } [data-smco-sh-br] { right: 24px !important; } }\n/* MOBILE TYPE (2026-08-12): the type caps deliberately did NOT move up to 880px with the\n   gutters. They are flat pixel values (25px headline / 30px script at scale 1) sized for a\n   ~337px phone column; applied at 810px they would shrink a headline the desktop clamp\n   already renders correctly at 36.5px (4.5vw) in a 762px tablet column — a crushed tablet\n   in the other direction. Tablet keeps the clamp, the phone keeps the caps. At 400px the\n   values are unchanged from the 2026-08-11 pass: headline 25px, script 30px. */\n@media (max-width: 767px) { [data-smco-sh] .sh-headline { font-size: ${mobileHeadlinePx}px !important; } [data-smco-sh] .sh-script { font-size: ${mobileScriptPx}px !important; } } @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; } }\n            `})]});}addPropertyControls(SectionHeader,{variant:{type:ControlType.Enum,title:\"Variant\",options:[\"standard\",\"centered\",\"with-subline\",\"with-cta\"],defaultValue:\"standard\"},eyebrow:{type:ControlType.String,title:\"Eyebrow\",defaultValue:\"WHAT YOU INVEST\"},headline:{type:ControlType.String,title:\"Headline\",displayTextArea:true,defaultValue:\"Three Tiers.\\nZero Surprises.\"},scriptLine:{type:ControlType.String,title:\"Script Accent Line (Janelotus)\",defaultValue:\"\"},scriptCompanion:{type:ControlType.String,title:\"Script Companion (Urbanist)\",defaultValue:\"\",hidden:props=>!(props.scriptLine&&props.scriptLine.trim().length>0)},scriptColor:{type:ControlType.Color,title:\"Script Color (black = auto)\",defaultValue:\"#000000\"},subline:{type:ControlType.String,title:\"Subline\",displayTextArea:true,defaultValue:\"Pick the tier that fits your moment. We handle the rest.\"},ctaLabel:{type:ControlType.String,title:\"CTA Label\",defaultValue:\"Browse Experiences →\",hidden:props=>props.variant!==\"with-cta\"},ctaHref:{type:ControlType.Link,title:\"CTA Link\",hidden:props=>props.variant!==\"with-cta\"},sectionLabel:{type:ControlType.String,title:\"Section Label\",defaultValue:\"Pricing\"},sectionNumber:{type:ControlType.String,title:\"Section Number\",defaultValue:\"/02\"},typeTag:{type:ControlType.String,title:\"Type Tag\",defaultValue:\"Detail\"},showChrome:{type:ControlType.Boolean,title:\"Show Chrome\",defaultValue:false},maxWidth:{type:ControlType.Number,title:\"Max Width\",defaultValue:1200,min:600,max:1600,step:20},paddingTop:{type:ControlType.Number,title:\"Padding Top\",defaultValue:120,min:40,max:240,step:8},paddingBottom:{type:ControlType.Number,title:\"Padding Bottom\",defaultValue:80,min:40,max:240,step:8},eyebrowScale:{type:ControlType.Number,title:\"Eyebrow Size\",defaultValue:1,min:.5,max:1.5,step:.05,displayStepper:true},headlineScale:{type:ControlType.Number,title:\"Headline Size\",defaultValue:1,min:.5,max:1.5,step:.05,displayStepper:true},scriptScale:{type:ControlType.Number,title:\"Script Size\",defaultValue:1,min:.5,max:1.5,step:.05,displayStepper:true},bodyScale:{type:ControlType.Number,title:\"Body Size\",defaultValue:1,min:.5,max:1.5,step:.05,displayStepper:true},accentColor:{type:ControlType.Color,title:\"Accent (Sage)\",defaultValue:\"#96c0a5\"},textColor:{type:ControlType.Color,title:\"Text\",defaultValue:\"#0e0e0e\"},subtleTextColor:{type:ControlType.Color,title:\"Text Subtle\",defaultValue:\"rgba(14, 14, 14, 0.62)\"},hairlineColor:{type:ControlType.Color,title:\"Hairline\",defaultValue:\"rgba(14, 14, 14, 0.1)\"},actionColor:{type:ControlType.Color,title:\"Action (Burnt Orange)\",defaultValue:\"#ff7f50\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SectionHeader\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"300\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SectionHeader.map"],"mappings":"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"}