{"version":3,"file":"shared.DDixmt2O.mjs","names":[],"sources":["https:/framerusercontent.com/modules/hs5jSA63SEKEbKCmgLWb/vqNnWGEddHHxqF2iL4Qk/ClosingCTA.js","https:/framer.com/m/ClosingCTA-II1zc9.js"],"sourcesContent":["// Shared closing CTA band for BCW, used at the foot of EVERY page. Grey background with the\n// line-art leaf texture (yellow), the guarantee chip, \"Tell me about your garden.\", a single\n// \"Get a Quote\" button, and the email address.\n//\n// EVERY PAGE USES THIS. The home page and the care plan page used to hand-roll their own closing\n// band instead. Three problems: the copy drifted (the home page said \"Free and no-obligation\" where\n// this says \"No pressure either way\", and the care plan page had no supporting line and no email at\n// all), the guarantee never appeared on them, and any change to the close had to be made in three\n// files. Don't reintroduce a local copy. If a page needs a different closing headline, add a prop\n// here rather than forking the band. This file is now the ONLY place the leaf artwork lives.\n//\n// THE GUARANTEE COMES BEFORE THE ASK, AS A CHIP, NOT A HEADING. It used to sit at the top of\n// SiteFooter, which put it BELOW this band on every page: the last thing a visitor read before the\n// nav links was a restatement rather than the ask. Moving it up here was right; the first attempt at\n// styling it was not. It was set at clamp(19px,2.4vw,26px) in the heading face and separated from\n// the ask by a full-width hairline, which produced three failures at once. First, TWO COMPETING\n// HEADLINES: a 26px bold line directly above a 64px bold line reads as two titles fighting, not as\n// a reassurance and then an ask. Second, THE RULE CUT THROUGH THE ARTWORK: the leaf sprigs run the\n// full height of the band on both sides, so a 1200px-wide hairline sliced straight through both\n// stems. Third, THE RULE MADE A BAR: everything above it read as a separate grey strip stapled on\n// top of the CTA rather than part of it. It is now a compact chip: yellow-tinted pill, yellow\n// hairline, small dark tick in a yellow disc, 15px heading face. One headline in the band, and\n// nothing crossing the sprigs. If you ever want the promise to carry more weight, make the chip\n// bigger; do NOT promote it back to a heading, and do NOT put a full-width rule in this band.\n//\n// THE CHIP REPLACES THE \"LET'S BEGIN\" EYEBROW rather than stacking above it. Both are small\n// markers doing the same job in the same slot, and running the two together put three elements\n// above the headline. The chip says more, so the eyebrow went.\n//\n// LEAF SPRIG viewBox HAS HEADROOM AT THE TOP, DELIBERATELY. The sprig is drawn with the stem base\n// translated to y=320 and growing UPWARD, so the artwork occupies negative-ish space near the top of\n// the box. The topmost leaf sits at translate(2,-298) scale(1.25); its tip reaches roughly y=-17,\n// which is ABOVE y=0. With the original viewBox of \"0 0 180 320\" the SVG viewport clipped that leaf\n// clean off, on both the left and the mirrored right sprig, and it looked like a rendering fault.\n// The viewBox now starts at y=-34 with a height of 354 to clear the tip plus its 1.6 stroke.\n// If you add a leaf higher than the current top one, or scale the group up, re-check that its tip\n// clears y=-34 or it will be cut off the same way. Horizontal extents are fine: the widest leaf\n// reaches about x=98 on the left sprig and x=151 on the mirrored one, both inside 0..180.\n//\n// BACKGROUND SIZE COMPENSATES FOR THAT TALLER BOX. Growing the viewBox from 320 to 354 units makes\n// the same artwork render smaller for a given background height, so the size went from 82% to 86%\n// to keep the sprigs the size they were on the page. Change the two together or the texture jumps.\n//\n// NOTE ON DUPLICATION: pages that still carry a full Guarantee section (garden care, the care plan\n// page, the suburb pages) have it several sections earlier, with a carousel, FAQ or testimonials in\n// between, so this chip reads as a reminder rather than a repeat. The home page's Guarantee section\n// was DELETED when it moved here, because there it sat directly above the close and would have said\n// the same thing twice in a row. A full Guarantee section directly above this band is one too many.\n//\n// VERTICAL PADDING IS RESPONSIVE, NOT FIXED. It used to be a flat 120px top and bottom, which is\n// reasonable on a 1200px canvas and far too much on a 375px phone, where it pushed the ask most of\n// a screen below the section above it. The clamps keep the desktop feel and pull the band in on\n// small screens. Top is slightly tighter than bottom on purpose: the band is the last thing before\n// the footer, so the bottom carries the page's final breathing room.\n//\n// YELLOW ON DARK: #fff100 is a FILL on paper/white, but on this dark grey ground it may also be a\n// tint, a hairline or a stroke. That is why the chip can take a 7% yellow wash and a 32% yellow\n// border, the same treatment as the testimonial cards on the home page's dark band, and why the\n// sprigs can be yellow line-art at 18% opacity. Do not copy any of that onto a light section: a\n// yellow tint on paper goes muddy and the hairline disappears.\n//\n// VOICE: BCW is Bruce, working on his own. Copy is FIRST PERSON SINGULAR (\"I\", \"my\"), never \"we\" or\n// \"the team\". This band appears on every page, so a plural slip here shows up site-wide.\n//\n// ONE CTA, ONE LABEL. This band used to carry two buttons (\"Book a visit\" and \"Get a quote\") which\n// split attention and competed with each other. Site-wide the call to action is now a single\n// \"Get a Quote\". If you add another button here it reappears on every page, so don't.\n//\n// SMART DESTINATION. The href is /contact so it works with JavaScript disabled and is crawlable,\n// but if the current page already has an inline quote form (any page rendering an element with\n// id=\"quote\") the click is intercepted and scrolls to that form instead. No sense walking a visitor\n// away from a form they are already looking at.\n//\n// NO PHONE NUMBER: contact is by email only, at the owner's request. EMAIL is a hardcoded constant\n// so a stale value on any instance can't reintroduce the old address.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls}from\"framer\";const YELLOW=\"#fff100\";const GREY=\"#333333\";const DARKTEXT=\"#333333\";const WHITE=\"#ffffff\";const HEAD=\"'General Sans', sans-serif\";const BODY=\"'Hanken Grotesk', sans-serif\";const PX=\"clamp(20px, 5vw, 40px)\";const PY_TOP=\"clamp(56px, 8vw, 96px)\";const PY_BOTTOM=\"clamp(64px, 9vw, 108px)\";const EMAIL=\"bcwlandscapedesign@gmail.com\";const CTA=\"Get a Quote\";const CTA_LINK=\"/contact\";const GUARANTEE=\"I'm not done until you're happy.\";// Dark-ground-only yellow treatment. See the yellow note at the top of the file.\nconst YELLOW_WASH=\"rgba(255,241,0,0.07)\";const YELLOW_HAIRLINE=\"1px solid rgba(255,241,0,0.32)\";// Keep the visitor on the page when there is already a quote form on it.\nfunction ctaClick(e){if(typeof document===\"undefined\")return;const el=document.getElementById(\"quote\");if(!el)return;e.preventDefault();el.scrollIntoView({behavior:\"smooth\",block:\"start\"});}// viewBox top is -34, not 0: the topmost leaf's tip reaches about y=-17 and was being clipped.\n// See the LEAF SPRIG note at the top of the file before changing these numbers.\nconst _leaf=\"<path d='M0 0 C7 -7 8 -20 0 -30 C-8 -20 -7 -7 0 0Z'/><path d='M0 -4 L0 -25'/>\";const _sprig=m=>`<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -34 180 354' fill='none' stroke='#fff100' stroke-opacity='0.18' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><g transform='translate(${m?120:60} 320)${m?\" scale(-1 1)\":\"\"}'><path d='M0 0 C16 -90 -12 -190 6 -300'/><g transform='translate(4 -70) rotate(48)'>${_leaf}</g><g transform='translate(-6 -135) rotate(-46) scale(1.15)'>${_leaf}</g><g transform='translate(6 -205) rotate(44) scale(1.2)'>${_leaf}</g><g transform='translate(2 -298) rotate(6) scale(1.25)'>${_leaf}</g></g></svg>`;const LEAF_BG=`url(\"data:image/svg+xml,${encodeURIComponent(_sprig(false))}\"), url(\"data:image/svg+xml,${encodeURIComponent(_sprig(true))}\")`;/**\n * Closing CTA\n *\n * @framerIntrinsicWidth 1200\n * @framerIntrinsicHeight 560\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function ClosingCTA(props){const{style}=props;return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",display:\"flex\",justifyContent:\"center\",boxSizing:\"border-box\",backgroundColor:GREY,backgroundImage:LEAF_BG,backgroundRepeat:\"no-repeat\",backgroundPosition:\"left bottom, right bottom\",backgroundSize:\"auto 86%\",...style},children:/*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",maxWidth:1200,boxSizing:\"border-box\",display:\"flex\",flexDirection:\"column\",gap:26,alignItems:\"center\",textAlign:\"center\",padding:`${PY_TOP} ${PX} ${PY_BOTTOM}`},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"inline-flex\",alignItems:\"center\",gap:11,padding:\"8px 20px 8px 9px\",borderRadius:999,background:YELLOW_WASH,border:YELLOW_HAIRLINE,marginBottom:4,maxWidth:\"100%\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{flex:\"0 0 auto\",width:26,height:26,borderRadius:\"50%\",background:YELLOW,display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:/*#__PURE__*/_jsx(\"svg\",{width:15,height:15,viewBox:\"0 0 24 24\",fill:\"none\",stroke:DARKTEXT,strokeWidth:2.8,strokeLinecap:\"round\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M20 6L9 17l-5-5\"})})}),/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:HEAD,fontWeight:700,fontSize:15,lineHeight:\"1.3em\",letterSpacing:\"-0.005em\",color:WHITE,textAlign:\"left\"},children:GUARANTEE})]}),/*#__PURE__*/_jsx(\"h2\",{style:{fontFamily:HEAD,fontWeight:700,fontSize:\"clamp(34px,5vw,64px)\",lineHeight:\"1.0em\",letterSpacing:\"-0.04em\",color:WHITE,margin:0,maxWidth:820},children:\"Tell me about your garden.\"}),/*#__PURE__*/_jsx(\"p\",{style:{fontFamily:BODY,fontWeight:400,fontSize:17,lineHeight:\"1.58em\",color:\"rgba(242,242,240,0.82)\",margin:0,maxWidth:560},children:\"I'll take a look, give you honest advice, and a fair quote. No pressure either way.\"}),/*#__PURE__*/_jsx(\"a\",{href:CTA_LINK,onClick:ctaClick,style:{display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",padding:\"14px 28px\",borderRadius:8,fontFamily:HEAD,fontWeight:700,fontSize:15,textDecoration:\"none\",background:YELLOW,color:DARKTEXT,border:\"none\"},children:CTA}),/*#__PURE__*/_jsx(\"p\",{style:{fontFamily:BODY,fontSize:14,color:\"rgba(242,242,240,0.7)\",margin:\"6px 0 0 0\"},children:/*#__PURE__*/_jsx(\"a\",{href:`mailto:${EMAIL}`,style:{color:\"rgba(242,242,240,0.85)\",textDecoration:\"none\"},children:EMAIL})})]})});}addPropertyControls(ClosingCTA,{});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ClosingCTA\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerIntrinsicHeight\":\"560\",\"framerIntrinsicWidth\":\"1200\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ClosingCTA.map","/*\n * ClosingCTA\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/hs5jSA63SEKEbKCmgLWb/vqNnWGEddHHxqF2iL4Qk/ClosingCTA.js\"\nexport { default } from \"https://framerusercontent.com/modules/hs5jSA63SEKEbKCmgLWb/vqNnWGEddHHxqF2iL4Qk/ClosingCTA.js\"\n"],"mappings":"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"}