{"version":3,"file":"DescriptionBlock.BFKeEFTu.mjs","names":["useId","__esmMin","init_npm_react_18_3_1","p","c","init_jsx_runtime","ie","init_framer_DymZktPS","addPropertyControls","ControlType","DescriptionBlock","rawLineHeight","props","lineHeight","scopeClass","fs","getResponsiveConfig","fontSize","efs","eyebrowFontSize","ind","indent","mainFontStyle","getFontStyle","mainFont","eyebrowFontStyle","eyebrowFont","cleanEyebrow","eyebrow","hasEyebrow","containerVariables","fontWeight","letterSpacing","eyebrowLetterSpacing","textTransform","textColor","eyebrowColor","content","parseVal","init_DescriptionBlock","fontProp","fallbackFamily","val","def","num","prop","dtDef","tbDef","mbDef","clean"],"sources":["https:/framerusercontent.com/modules/gW6xtNMRbZwiosogBWTb/XMpbFjgMemdvDksVcJe5/DescriptionBlock.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useId}from\"react\";// Helper to safely extract font styles from ControlType.Font\nconst getFontStyle=(fontProp,fallbackFamily)=>{if(!fontProp)return{fontFamily:fallbackFamily};if(typeof fontProp===\"string\")return{fontFamily:fontProp};return{fontFamily:fontProp.fontFamily||fallbackFamily,fontWeight:fontProp.fontWeight,fontStyle:fontProp.fontStyle};};// Parse responsive values from ControlType.Object\nconst parseVal=(val,def)=>{if(val===undefined||val===null||val===\"\")return def;const num=parseFloat(val);return isNaN(num)?def:num;};const getResponsiveConfig=(prop,dtDef,tbDef,mbDef)=>{if(typeof prop===\"number\"){return{desktop:prop,tablet:prop,phone:prop};}if(typeof prop===\"object\"&&prop!==null){return{desktop:parseVal(prop.desktop,dtDef),tablet:parseVal(prop.tablet,tbDef),phone:parseVal(prop.phone??prop.mobile,mbDef)};}return{desktop:dtDef,tablet:tbDef,phone:mbDef};};export default function DescriptionBlock(props){const{eyebrow=\"(Approach)\",content=\"In a world blinded by hyper-saturated trends and temporary hype, frame zero defines its own visual climate. The challenge was to architecture a complete branding ecosystem that commands absolute authority without relying on loud logos or aggressive marketing.\\n\\nThe response was rooted in radical minimalism and precise optical guidelines.\",indent={desktop:125,tablet:100,phone:80},mainFont={fontFamily:\"Geist\"},eyebrowFont={fontFamily:\"Geist\"},fontSize={desktop:.875,tablet:.875,phone:.75},eyebrowFontSize={desktop:.875,tablet:.875,phone:.75},eyebrowLetterSpacing=-.03,fontWeight=\"400\",lineHeight:rawLineHeight,letterSpacing=-.04,textTransform=\"none\",textColor=\"#FFFFFF\",eyebrowColor=\"rgba(255, 255, 255, 0.30)\"}=props;// Guard against the 50% glitch and reset to 120% by default\nconst lineHeight=rawLineHeight===undefined||rawLineHeight===null||rawLineHeight===50?120:rawLineHeight;const uid=useId().replace(/[:]/g,\"\");const scopeClass=`journal-block-${uid}`;const fs=getResponsiveConfig(fontSize,.875,.875,.75);const efs=getResponsiveConfig(eyebrowFontSize,.875,.875,.75);const ind=getResponsiveConfig(indent,125,100,80);const mainFontStyle=getFontStyle(mainFont,'\"Geist\", sans-serif');const eyebrowFontStyle=getFontStyle(eyebrowFont,'\"Geist\", sans-serif');const cleanEyebrow=typeof eyebrow===\"string\"?eyebrow.trim():\"\";const hasEyebrow=cleanEyebrow!==\"\"&&cleanEyebrow!==\"()\"&&cleanEyebrow!==\" \";// Pass all styles into CSS variables (prevents hydration reset)\nconst containerVariables={\"--fs-desktop\":`${fs.desktop}rem`,\"--fs-tablet\":`${fs.tablet}rem`,\"--fs-mobile\":`${fs.phone}rem`,\"--efs-desktop\":`${efs.desktop}rem`,\"--efs-tablet\":`${efs.tablet}rem`,\"--efs-mobile\":`${efs.phone}rem`,\"--indent-desktop\":`${ind.desktop}px`,\"--indent-tablet\":`${ind.tablet}px`,\"--indent-mobile\":`${ind.phone}px`,\"--main-font\":mainFontStyle.fontFamily,\"--main-weight\":mainFontStyle.fontWeight||fontWeight,\"--main-style\":mainFontStyle.fontStyle||\"normal\",\"--eyebrow-font\":eyebrowFontStyle.fontFamily,\"--eyebrow-weight\":eyebrowFontStyle.fontWeight||fontWeight,\"--eyebrow-style\":eyebrowFontStyle.fontStyle||\"normal\",\"--line-height\":`${lineHeight}%`,\"--line-height-unitless\":`${lineHeight/100}`,\"--letter-spacing\":`${letterSpacing}em`,\"--eyebrow-letter-spacing\":`${eyebrowLetterSpacing}em`,\"--text-transform\":textTransform,\"--text-color\":textColor,\"--eyebrow-color\":eyebrowColor};return /*#__PURE__*/_jsxs(\"div\",{className:scopeClass,style:{width:\"100%\",position:\"relative\",...containerVariables},children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:`\n                        /* Desktop (Default) */\n                        .${scopeClass} {\n                            --current-font-size: var(--fs-desktop);\n                            --current-eyebrow-size: var(--efs-desktop);\n                            --current-indent: var(--indent-desktop);\n                        }\n\n                        /* Tablet */\n                        @media (max-width: 1199px) {\n                            .${scopeClass} {\n                                --current-font-size: var(--fs-tablet);\n                                --current-eyebrow-size: var(--efs-tablet);\n                                --current-indent: var(--indent-tablet);\n                            }\n                        }\n\n                        /* Mobile */\n                        @media (max-width: 810px) {\n                            .${scopeClass} {\n                                --current-font-size: var(--fs-mobile);\n                                --current-eyebrow-size: var(--efs-mobile);\n                                --current-indent: var(--indent-mobile);\n                            }\n                        }\n\n                        /* Strict overrides for Framer RichText and nested tags */\n                        .${scopeClass} .journal-content,\n                        .${scopeClass} .journal-content *,\n                        .${scopeClass} .journal-content p,\n                        .${scopeClass} .journal-content span,\n                        .${scopeClass} .journal-content div {\n                            font-size: var(--current-font-size) !important;\n                            font-family: var(--main-font) !important;\n                            font-weight: var(--main-weight) !important;\n                            font-style: var(--main-style) !important;\n                            color: var(--text-color) !important;\n                            line-height: var(--line-height) !important;\n                            letter-spacing: var(--letter-spacing) !important;\n                            text-transform: var(--text-transform) !important;\n                        }\n\n                        .${scopeClass} .journal-content > * {\n                            margin-top: 0 !important;\n                            margin-bottom: 1.2em !important;\n                        }\n\n                        /* First paragraph text indent */\n                        .${scopeClass} .journal-content > *:first-child,\n                        .${scopeClass} .journal-content > *:empty + * {\n                            text-indent: var(--current-indent) !important;\n                        }\n\n                        .${scopeClass} .journal-content > *:empty,\n                        .${scopeClass} .journal-content > *:has(br:only-child) {\n                            display: none !important;\n                            margin: 0 !important;\n                            padding: 0 !important;\n                            height: 0 !important;\n                            min-height: 0 !important;\n                            line-height: 0 !important;\n                        }\n\n                        .${scopeClass} .journal-content > *:last-child {\n                            margin-bottom: 0 !important;\n                        }\n\n                        /* Eyebrow Label */\n                        .${scopeClass} .journal-eyebrow,\n                        .${scopeClass} .journal-eyebrow * {\n                            font-size: var(--current-eyebrow-size) !important;\n                            font-family: var(--eyebrow-font) !important;\n                            font-weight: var(--eyebrow-weight) !important;\n                            font-style: var(--eyebrow-style) !important;\n                            color: var(--eyebrow-color) !important;\n                            letter-spacing: var(--eyebrow-letter-spacing) !important;\n                        }\n\n                        .${scopeClass} .journal-eyebrow {\n                            position: absolute;\n                            left: 0;\n                            top: 0;\n                            height: calc(var(--current-font-size) * var(--line-height-unitless));\n                            display: flex;\n                            align-items: flex-end;\n                            pointer-events: none;\n                            line-height: normal !important;\n                            margin: 0;\n                            padding: 0;\n                            z-index: 2;\n                        }\n                    `}}),hasEyebrow&&/*#__PURE__*/_jsx(\"div\",{className:\"journal-eyebrow\",children:cleanEyebrow}),/*#__PURE__*/_jsx(\"div\",{className:\"journal-content\",style:{width:\"100%\",wordWrap:\"break-word\",margin:0,padding:0},children:content})]});}DescriptionBlock.displayName=\"Description Block\";addPropertyControls(DescriptionBlock,{content:{type:ControlType.RichText,title:\"Main Text\",defaultValue:\"In a world blinded by hyper-saturated trends and temporary hype, frame zero defines its own visual climate. The challenge was to architecture a complete branding ecosystem that commands absolute authority without relying on loud logos or aggressive marketing.\\n\\nThe response was rooted in radical minimalism and precise optical guidelines.\"},eyebrow:{type:ControlType.String,title:\"Eyebrow\",defaultValue:\"(Approach)\"},// 1. Font Size (Responsive Group in rem)\nfontSize:{type:ControlType.Object,title:\"Title Size\",controls:{desktop:{type:ControlType.Number,title:\"Desktop\",defaultValue:.875,step:.05,min:.2,max:10,unit:\"rem\"},tablet:{type:ControlType.Number,title:\"Tablet\",defaultValue:.875,step:.05,min:.2,max:10,unit:\"rem\"},phone:{type:ControlType.Number,title:\"Mobile\",defaultValue:.75,step:.05,min:.2,max:10,unit:\"rem\"}}},// 2. Eyebrow Size (Responsive Group in rem)\neyebrowFontSize:{type:ControlType.Object,title:\"Eyebrow Size\",controls:{desktop:{type:ControlType.Number,title:\"Desktop\",defaultValue:.875,step:.05,min:.2,max:10,unit:\"rem\"},tablet:{type:ControlType.Number,title:\"Tablet\",defaultValue:.875,step:.05,min:.2,max:10,unit:\"rem\"},phone:{type:ControlType.Number,title:\"Mobile\",defaultValue:.75,step:.05,min:.2,max:10,unit:\"rem\"}}},// 3. Text Indent (Responsive Group in px)\nindent:{type:ControlType.Object,title:\"Indent\",controls:{desktop:{type:ControlType.Number,title:\"Desktop\",defaultValue:125,min:0,max:500,step:1,unit:\"px\"},tablet:{type:ControlType.Number,title:\"Tablet\",defaultValue:100,min:0,max:500,step:1,unit:\"px\"},phone:{type:ControlType.Number,title:\"Mobile\",defaultValue:80,min:0,max:500,step:1,unit:\"px\"}}},// --- Fonts ---\nmainFont:{type:ControlType.Font,title:\"Main Font\",defaultValue:{fontFamily:\"Geist\"}},eyebrowFont:{type:ControlType.Font,title:\"Eyebrow Font\",defaultValue:{fontFamily:\"Geist\"}},// --- Additional Styles ---\nfontWeight:{type:ControlType.Enum,title:\"Font Weight\",options:[\"100\",\"200\",\"300\",\"400\",\"500\",\"600\",\"700\",\"800\",\"900\"],defaultValue:\"400\"},lineHeight:{type:ControlType.Number,title:\"Line Height\",defaultValue:120,min:80,max:300,step:1,unit:\"%\",displayStepper:true},letterSpacing:{type:ControlType.Number,title:\"Letter Spacing\",defaultValue:-.04,min:-5,max:10,step:.01,unit:\"em\"},eyebrowLetterSpacing:{type:ControlType.Number,title:\"Eyebrow Tracking\",defaultValue:-.03,min:-.2,max:.5,step:.01,unit:\"em\",hidden(props){const clean=typeof props.eyebrow===\"string\"?props.eyebrow.trim():\"\";return clean===\"\"||clean===\"()\";}},textTransform:{type:ControlType.Enum,title:\"Transform\",options:[\"none\",\"uppercase\",\"lowercase\",\"capitalize\"],defaultValue:\"none\"},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#FFFFFF\"},eyebrowColor:{type:ControlType.Color,title:\"Eyebrow Color\",defaultValue:\"rgba(255, 255, 255, 0.30)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"DescriptionBlock\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./DescriptionBlock.map"],"mappings":"A,iLAE0d,SAAwBU,EAAiB,EAAM,CAAC,GAAK,CAAC,UAAQ,aAAa,UAAQ;;+EAAuV,SAAO,CAAC,QAAQ,IAAI,OAAO,IAAI,MAAM,EAAE,EAAE,WAAS,CAAC,WAAW,OAAO,EAAE,cAAY,CAAC,WAAW,OAAO,EAAE,WAAS,CAAC,QAAQ,KAAK,OAAO,KAAK,MAAM,GAAG,EAAE,kBAAgB,CAAC,QAAQ,KAAK,OAAO,KAAK,MAAM,GAAG,EAAE,uBAAqB,KAAK,aAAW,MAAM,WAAWC,EAAc,gBAAc,KAAK,gBAAc,OAAO,YAAU,UAAU,eAAa,6BAA6BC,EACnvCC,EAAWF,GAA2C,MAAMA,IAAgB,GAAG,IAAIA,EAAyDG,EAAW,iBAA5Cd,EAAM,CAAC,CAAC,QAAQ,OAAO,EAAwC,IAAUe,EAAGC,EAAoBC,EAAS,KAAK,KAAK,GAAG,EAAQC,EAAIF,EAAoBG,EAAgB,KAAK,KAAK,GAAG,EAAQC,EAAIJ,EAAoBK,EAAO,IAAI,IAAI,EAAE,EAAQC,EAAcC,EAAaC,EAAS,qBAAqB,EAAQC,EAAiBF,EAAaG,EAAY,qBAAqB,EAAQC,EAAa,OAAOC,GAAU,SAASA,EAAQ,KAAK,EAAE,GAASC,EAAWF,IAAe,IAAIA,IAAe,MAAMA,IAAe,IAChmBG,EAAmB,CAAC,eAAe,GAAGf,EAAG,QAAQ,KAAK,cAAc,GAAGA,EAAG,OAAO,KAAK,cAAc,GAAGA,EAAG,MAAM,KAAK,gBAAgB,GAAGG,EAAI,QAAQ,KAAK,eAAe,GAAGA,EAAI,OAAO,KAAK,eAAe,GAAGA,EAAI,MAAM,KAAK,mBAAmB,GAAGE,EAAI,QAAQ,IAAI,kBAAkB,GAAGA,EAAI,OAAO,IAAI,kBAAkB,GAAGA,EAAI,MAAM,IAAI,cAAcE,EAAc,WAAW,gBAAgBA,EAAc,YAAYS,EAAW,eAAeT,EAAc,WAAW,SAAS,iBAAiBG,EAAiB,WAAW,mBAAmBA,EAAiB,YAAYM,EAAW,kBAAkBN,EAAiB,WAAW,SAAS,gBAAgB,GAAGZ,EAAW,GAAG,yBAAyB,GAAGA,EAAW,MAAM,mBAAmB,GAAGmB,EAAc,IAAI,2BAA2B,GAAGC,EAAqB,IAAI,mBAAmBC,EAAc,eAAeC,EAAU,kBAAkBC,CAAY,EAAE,MAAoB,gBAAM,MAAM,CAAC,UAAUtB,EAAW,MAAM,CAAC,MAAM,OAAO,SAAS,WAAW,GAAGgB,CAAkB,EAAE,SAAS,CAAc,gBAAK,QAAQ,CAAC,wBAAwB,CAAC,OAAO;;2BAEjiChB,EAAW;;;;;;;;+BAQPA,EAAW;;;;;;;;;+BASXA,EAAW;;;;;;;;2BAQfA,EAAW;2BACXA,EAAW;2BACXA,EAAW;2BACXA,EAAW;2BACXA,EAAW;;;;;;;;;;;2BAWXA,EAAW;;;;;;2BAMXA,EAAW;2BACXA,EAAW;;;;2BAIXA,EAAW;2BACXA,EAAW;;;;;;;;;2BASXA,EAAW;;;;;2BAKXA,EAAW;2BACXA,EAAW;;;;;;;;;2BASXA,EAAW;;;;;;;;;;;;;qBAajB,CAAC,CAAC,EAAEe,GAAyB,gBAAK,MAAM,CAAC,UAAU,kBAAkB,SAASF,CAAY,CAAC,EAAe,gBAAK,MAAM,CAAC,UAAU,kBAAkB,MAAM,CAAC,MAAM,OAAO,SAAS,aAAa,OAAO,EAAE,QAAQ,CAAC,EAAE,SAASU,CAAO,CAAC,CAAC,CAAC,CAAC,CAAE,C,oDA9FrP,GAAc,EAAS,IAAsBG,EAA8C,OAAOA,GAAW,SAAe,CAAC,WAAWA,CAAQ,EAAQ,CAAC,WAAWA,EAAS,YAAYC,EAAe,WAAWD,EAAS,WAAW,UAAUA,EAAS,SAAS,EAAvM,CAAC,WAAWC,CAAc,EACtF,GAAU,EAAI,IAAM,CAAC,GAAGC,GAAuB,MAAMA,IAAM,GAAG,OAAOC,EAAI,IAAMC,EAAI,WAAWF,CAAG,EAAE,OAAO,MAAME,CAAG,EAAED,EAAIC,CAAI,EAAQ,GAAqB,EAAK,EAAM,EAAM,IAAY,OAAOC,GAAO,SAAgB,CAAC,QAAQA,EAAK,OAAOA,EAAK,MAAMA,CAAI,EAAM,OAAOA,GAAO,UAAUA,EAAmB,CAAC,QAAQP,EAASO,EAAK,QAAQC,CAAK,EAAE,OAAOR,EAASO,EAAK,OAAOE,CAAK,EAAE,MAAMT,EAASO,EAAK,OAAOA,EAAK,OAAOG,CAAK,CAAC,EAAS,CAAC,QAAQF,EAAM,OAAOC,EAAM,MAAMC,CAAK,EA6F1N,EAAiB,YAAY,oBAAoBxC,EAAoBE,EAAiB,CAAC,QAAQ,CAAC,KAAKD,EAAY,SAAS,MAAM,YAAY,aAAa;;8EAAsV,EAAE,QAAQ,CAAC,KAAKA,EAAY,OAAO,MAAM,UAAU,aAAa,YAAY,EACvzB,SAAS,CAAC,KAAKA,EAAY,OAAO,MAAM,aAAa,SAAS,CAAC,QAAQ,CAAC,KAAKA,EAAY,OAAO,MAAM,UAAU,aAAa,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK,KAAK,EAAE,OAAO,CAAC,KAAKA,EAAY,OAAO,MAAM,SAAS,aAAa,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK,KAAK,EAAE,MAAM,CAAC,KAAKA,EAAY,OAAO,MAAM,SAAS,aAAa,IAAI,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,EAC3W,gBAAgB,CAAC,KAAKA,EAAY,OAAO,MAAM,eAAe,SAAS,CAAC,QAAQ,CAAC,KAAKA,EAAY,OAAO,MAAM,UAAU,aAAa,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK,KAAK,EAAE,OAAO,CAAC,KAAKA,EAAY,OAAO,MAAM,SAAS,aAAa,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK,KAAK,EAAE,MAAM,CAAC,KAAKA,EAAY,OAAO,MAAM,SAAS,aAAa,IAAI,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,EACpX,OAAO,CAAC,KAAKA,EAAY,OAAO,MAAM,SAAS,SAAS,CAAC,QAAQ,CAAC,KAAKA,EAAY,OAAO,MAAM,UAAU,aAAa,IAAI,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,IAAI,EAAE,OAAO,CAAC,KAAKA,EAAY,OAAO,MAAM,SAAS,aAAa,IAAI,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,IAAI,EAAE,MAAM,CAAC,KAAKA,EAAY,OAAO,MAAM,SAAS,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,IAAI,CAAC,CAAC,EACzV,SAAS,CAAC,KAAKA,EAAY,KAAK,MAAM,YAAY,aAAa,CAAC,WAAW,OAAO,CAAC,EAAE,YAAY,CAAC,KAAKA,EAAY,KAAK,MAAM,eAAe,aAAa,CAAC,WAAW,OAAO,CAAC,EAC9K,WAAW,CAAC,KAAKA,EAAY,KAAK,MAAM,cAAc,QAAQ,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,EAAE,aAAa,KAAK,EAAE,WAAW,CAAC,KAAKA,EAAY,OAAO,MAAM,cAAc,aAAa,IAAI,IAAI,GAAG,IAAI,IAAI,KAAK,EAAE,KAAK,IAAI,eAAe,EAAI,EAAE,cAAc,CAAC,KAAKA,EAAY,OAAO,MAAM,iBAAiB,aAAa,KAAK,IAAI,GAAG,IAAI,GAAG,KAAK,IAAI,KAAK,IAAI,EAAE,qBAAqB,CAAC,KAAKA,EAAY,OAAO,MAAM,mBAAmB,aAAa,KAAK,IAAI,IAAI,IAAI,GAAG,KAAK,IAAI,KAAK,KAAK,OAAO,EAAM,CAAC,IAAMwC,EAAM,OAAOrC,EAAM,SAAU,SAASA,EAAM,QAAQ,KAAK,EAAE,GAAG,OAAOqC,IAAQ,IAAIA,IAAQ,IAAK,CAAC,EAAE,cAAc,CAAC,KAAKxC,EAAY,KAAK,MAAM,YAAY,QAAQ,CAAC,OAAO,YAAY,YAAY,YAAY,EAAE,aAAa,MAAM,EAAE,UAAU,CAAC,KAAKA,EAAY,MAAM,MAAM,aAAa,aAAa,SAAS,EAAE,aAAa,CAAC,KAAKA,EAAY,MAAM,MAAM,gBAAgB,aAAa,2BAA2B,CAAC,CAAC,C"}