{
  "schema_version": "2.0",
  "page_type": "crochet_pattern_article",
  "source_id": null,
  "slug": "salt-air-circle-granny-square-a-breezy-coastal-classic",
  "title": "Salt Air Circle Granny Square — A Breezy Coastal Classic",
  "meta_description": "An easy 4-round granny square in dusty teal, cream, driftwood grey, and soft chambray blue, finished with a tidy sc border - simple enough for beginners.",
  "published_at": "2026-08-08",
  "updated_at": "2026-08-08",
  "author": "Nora",
  "thumbnail_url": "data/images/salt-air-circle-granny-square-a-breezy-coastal-classic-hero-v2.webp",
  "meta": {
    "title": "Salt Air Circle Granny Square — A Breezy Coastal Classic",
    "pattern_name": "Salt Air Circle Granny Square — A Breezy Coastal Classic",
    "difficulty": "Easy",
    "time_needed": "45-60 Minutes",
    "rating": 4.8,
    "made_count": "1.9K",
    "taxonomy": {
      "category": "Granny Squares",
      "skill_level": "Easy",
      "yarn_weight": "Worsted",
      "tags": [
        "granny square",
        "crochet granny square",
        "easy granny square",
        "worsted weight crochet",
        "beginner crochet pattern",
        "coastal crochet colors",
        "ring granny square",
        "crochet square motif",
        "double crochet square",
        "crochet blanket square"
      ]
    }
  },
  "cards": [
    {
      "order": 1,
      "card_type": "hero",
      "code": "hero",
      "title": "Salt Air Circle Granny Square — A Breezy Coastal Classic",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "hero-info-1",
          "label": "Beginner Friendly",
          "value": "Just double crochet and chain spaces throughout, so if you know the basics you're ready to start.",
          "raw_text": "Just double crochet and chain spaces throughout, so if you know the basics you're ready to start.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "info",
          "code": "hero-info-2",
          "label": "Four Soft Colors",
          "value": "Dusty teal, cream, driftwood grey, and soft chambray blue build up in gentle, sea-glass layers.",
          "raw_text": "Dusty teal, cream, driftwood grey, and soft chambray blue build up in gentle, sea-glass layers.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "info",
          "code": "hero-info-3",
          "label": "Verified Stitch Counts",
          "value": "Every round ends with an exact number so you always know you're on track before moving on.",
          "raw_text": "Every round ends with an exact number so you always know you're on track before moving on.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 2,
      "card_type": "about",
      "code": "about",
      "title": "About",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "about-info-1",
          "label": "",
          "value": "The Salt Air Circle is a classic ring-style granny square that begins in a magic ring and opens into soft, sea-washed color bands. It's the kind of square I reach for when I want something calm and dependable on my hook — no fussy shaping, no surprises, just a steady rhythm of double crochet building outward. What makes it special is the palette: dusty teal, cream, driftwood grey, and soft chambray blue read like weathered beach glass, giving even a small square a lived-in, coastal feel.",
          "raw_text": "The Salt Air Circle is a classic ring-style granny square that begins in a magic ring and opens into soft, sea-washed color bands. It's the kind of square I reach for when I want something calm and dependable on my hook — no fussy shaping, no surprises, just a steady rhythm of double crochet building outward. What makes it special is the palette: dusty teal, cream, driftwood grey, and soft chambray blue read like weathered beach glass, giving even a small square a lived-in, coastal feel.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "info",
          "code": "about-info-2",
          "label": "",
          "value": "Technique-wise, this is about as friendly as squares get. You'll work a magic ring, turn corners with chain-2 spaces, and fill in sides with straightforward double crochet groups before finishing with a tidy single crochet border. There's no popcorn stitch, no color-stranding mid-round, and no shaping tricks to puzzle over — you fasten off and rejoin cleanly between rounds instead. That makes the Salt Air Circle a great choice for newer crocheters who've mastered the basics, and an easy, relaxing make for experienced stitchers who want something portable.",
          "raw_text": "Technique-wise, this is about as friendly as squares get. You'll work a magic ring, turn corners with chain-2 spaces, and fill in sides with straightforward double crochet groups before finishing with a tidy single crochet border. There's no popcorn stitch, no color-stranding mid-round, and no shaping tricks to puzzle over — you fasten off and rejoin cleanly between rounds instead. That makes the Salt Air Circle a great choice for newer crocheters who've mastered the basics, and an easy, relaxing make for experienced stitchers who want something portable.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "info",
          "code": "about-info-3",
          "label": "",
          "value": "Finished, the square measures about 6 by 6 inches with a raised, dimensional center and crisp corners that block beautifully. The muted, tonal color story means it plays well with almost anything, whether you're joining a whole stack of them into a blanket, turning a handful into pillow covers, or keeping single squares on hand as coasters and mug rugs. It's a small square with a lot of range.",
          "raw_text": "Finished, the square measures about 6 by 6 inches with a raised, dimensional center and crisp corners that block beautifully. The muted, tonal color story means it plays well with almost anything, whether you're joining a whole stack of them into a blanket, turning a handful into pillow covers, or keeping single squares on hand as coasters and mug rugs. It's a small square with a lot of range.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 3,
      "card_type": "why_love",
      "code": "why-love",
      "title": "Why You'll Love This Pattern",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "why-love-1",
          "label": "",
          "value": "I love this square because it feels like a deep breath. There's something so satisfying about watching four quiet colors stack into rings without a single fussy stitch getting in the way — just steady double crochet, clean corners, and a border that ties everything together. I also love that the counts are checked at the end of every round, so I never get halfway through and wonder where I went wrong. The dusty teal and chambray blue together remind me of early morning walks near water, and honestly, that's reason enough to keep making these. It's the square I hand to a friend who says they're intimidated by grannies — it never fails to win them over.",
          "raw_text": "I love this square because it feels like a deep breath. There's something so satisfying about watching four quiet colors stack into rings without a single fussy stitch getting in the way — just steady double crochet, clean corners, and a border that ties everything together. I also love that the counts are checked at the end of every round, so I never get halfway through and wonder where I went wrong. The dusty teal and chambray blue together remind me of early morning walks near water, and honestly, that's reason enough to keep making these. It's the square I hand to a friend who says they're intimidated by grannies — it never fails to win them over.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 4,
      "card_type": "switch_things_up",
      "code": "switch-things-up",
      "title": "Switch Things Up",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "switch-1",
          "label": "",
          "value": "Once you've made one Salt Air Circle, it's easy to make it your own. Swap the palette for warm neutrals — oatmeal, rust, and charcoal — for a completely different mood, or go monochrome in four shades of the same blue for a subtle ombre effect. If you'd like a bigger finished piece, add another round or two in coordinating colors before the border, keeping an eye on your stitch counts as you go. A lighter weight yarn and a smaller hook will shrink the square down for coasters or embellishments, while a bulky yarn and larger hook turn it into a bold, fast-growing statement block. However you adjust it, the same easy rhythm carries through.",
          "raw_text": "Once you've made one Salt Air Circle, it's easy to make it your own. Swap the palette for warm neutrals — oatmeal, rust, and charcoal — for a completely different mood, or go monochrome in four shades of the same blue for a subtle ombre effect. If you'd like a bigger finished piece, add another round or two in coordinating colors before the border, keeping an eye on your stitch counts as you go. A lighter weight yarn and a smaller hook will shrink the square down for coasters or embellishments, while a bulky yarn and larger hook turn it into a bold, fast-growing statement block. However you adjust it, the same easy rhythm carries through.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 5,
      "card_type": "common_mistakes",
      "code": "common-mistakes",
      "title": "Common Mistakes & How to Fix Them",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "mistake",
          "code": "mistake-1",
          "label": "Skipping the stitch count check",
          "value": "It's tempting to power through, but pausing at the end of each round to count catches a missed stitch before it multiplies. A quick recount now saves you from unraveling three rounds later.",
          "raw_text": "It's tempting to power through, but pausing at the end of each round to count catches a missed stitch before it multiplies. A quick recount now saves you from unraveling three rounds later.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "mistake",
          "code": "mistake-2",
          "label": "Working corners too loosely",
          "value": "Chain-2 corner spaces can stretch out if your tension relaxes there. Keep your stitches snug in the corners so the square blocks into a true, crisp shape.",
          "raw_text": "Chain-2 corner spaces can stretch out if your tension relaxes there. Keep your stitches snug in the corners so the square blocks into a true, crisp shape.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "mistake",
          "code": "mistake-3",
          "label": "Losing track of chain-1 spaces",
          "value": "The chain-1 spaces between groups are easy to skip or double up on without noticing. Slow down at each one and confirm you're landing in the right space before continuing.",
          "raw_text": "The chain-1 spaces between groups are easy to skip or double up on without noticing. Slow down at each one and confirm you're landing in the right space before continuing.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "mistake",
          "code": "mistake-4",
          "label": "Joining the new color messily",
          "value": "A rushed join can leave a visible bump or gap at the color change. Take a moment to secure that first tail before you continue, so the transition stays clean.",
          "raw_text": "A rushed join can leave a visible bump or gap at the color change. Take a moment to secure that first tail before you continue, so the transition stays clean.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 6,
      "card_type": "materials",
      "code": "materials",
      "title": "Materials",
      "raw_heading": "",
      "quantity": 1,
      "groups": [
        {
          "order": 1,
          "group_code": "group-1",
          "group_name": "",
          "rows": [
            {
              "order": 1,
              "row_type": "item",
              "code": "mat-1-1",
              "label": "",
              "value": "Worsted-weight yarn in 4 colors (dusty teal, cream, driftwood grey, soft chambray blue) — about 25–40 g total per square",
              "raw_text": "Worsted-weight yarn in 4 colors (dusty teal, cream, driftwood grey, soft chambray blue) — about 25–40 g total per square"
            },
            {
              "order": 2,
              "row_type": "item",
              "code": "mat-1-2",
              "label": "",
              "value": "5.0 mm crochet hook",
              "raw_text": "5.0 mm crochet hook"
            },
            {
              "order": 3,
              "row_type": "item",
              "code": "mat-1-3",
              "label": "",
              "value": "Yarn needle for weaving in ends",
              "raw_text": "Yarn needle for weaving in ends"
            },
            {
              "order": 4,
              "row_type": "item",
              "code": "mat-1-4",
              "label": "",
              "value": "Scissors",
              "raw_text": "Scissors"
            }
          ]
        }
      ],
      "rows": []
    },
    {
      "order": 7,
      "card_type": "abbreviations",
      "code": "abbreviations",
      "title": "Abbreviations",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "abbrev",
          "code": "abbrev-ch",
          "label": "ch",
          "value": "chain",
          "raw_text": "ch = chain",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "ch",
          "meaning": "chain"
        },
        {
          "order": 2,
          "row_type": "abbrev",
          "code": "abbrev-dc",
          "label": "dc",
          "value": "double crochet",
          "raw_text": "dc = double crochet",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "dc",
          "meaning": "double crochet"
        },
        {
          "order": 3,
          "row_type": "abbrev",
          "code": "abbrev-sc",
          "label": "sc",
          "value": "single crochet",
          "raw_text": "sc = single crochet",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "sc",
          "meaning": "single crochet"
        },
        {
          "order": 4,
          "row_type": "abbrev",
          "code": "abbrev-sl-st",
          "label": "sl st",
          "value": "slip stitch",
          "raw_text": "sl st = slip stitch",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "sl st",
          "meaning": "slip stitch"
        },
        {
          "order": 5,
          "row_type": "abbrev",
          "code": "abbrev-sp",
          "label": "sp",
          "value": "space",
          "raw_text": "sp = space",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "sp",
          "meaning": "space"
        },
        {
          "order": 6,
          "row_type": "abbrev",
          "code": "abbrev-st-s",
          "label": "st(s)",
          "value": "stitch(es)",
          "raw_text": "st(s) = stitch(es)",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "st(s)",
          "meaning": "stitch(es)"
        },
        {
          "order": 7,
          "row_type": "abbrev",
          "code": "abbrev-rnd",
          "label": "rnd",
          "value": "round",
          "raw_text": "rnd = round",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "rnd",
          "meaning": "round"
        },
        {
          "order": 8,
          "row_type": "abbrev",
          "code": "abbrev-mr",
          "label": "MR",
          "value": "magic ring",
          "raw_text": "MR = magic ring",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "MR",
          "meaning": "magic ring"
        }
      ]
    },
    {
      "order": 8,
      "card_type": "part",
      "code": "how-to-crochet-the-salt-air-circle",
      "title": "How to Crochet the Salt Air Circle",
      "raw_heading": "How to Crochet the Salt Air Circle",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "part-info-1",
          "label": "Info",
          "value": "An original classic design — every round below carries its exact math-verified stitch count.",
          "raw_text": "An original classic design — every round below carries its exact math-verified stitch count.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "round",
          "code": "part-round-1",
          "label": "Round 1",
          "value": "With dusty teal, in a magic ring: ch 3, 11 dc; sl st to top of ch-3 to join (12)",
          "raw_text": "With dusty teal, in a magic ring: ch 3, 11 dc; sl st to top of ch-3 to join (12)",
          "round_start": 1,
          "round_end": 1,
          "is_range": false,
          "stitch_count": 12,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "info",
          "code": "part-step-1",
          "label": "Step by step",
          "value": "Step by step: Using dusty teal yarn, in a magic ring: make 3 chain stitches, 11 double crochet; slip stitch to top of ch-3 to join.",
          "raw_text": "Step by step: Using dusty teal yarn, in a magic ring: make 3 chain stitches, 11 double crochet; slip stitch to top of ch-3 to join.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "round",
          "code": "part-round-2",
          "label": "Round 2",
          "value": "With cream, ch 3, (2 dc, ch 2, 3 dc) in the same st, ch 1, skip 2 sts, [(3 dc, ch 2, 3 dc) in next st, ch 1, skip 2 sts] 3 times; sl st to top of ch-3 to join (24)",
          "raw_text": "With cream, ch 3, (2 dc, ch 2, 3 dc) in the same st, ch 1, skip 2 sts, [(3 dc, ch 2, 3 dc) in next st, ch 1, skip 2 sts] 3 times; sl st to top of ch-3 to join (24)",
          "round_start": 2,
          "round_end": 2,
          "is_range": false,
          "stitch_count": 24,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 5,
          "row_type": "info",
          "code": "part-step-2",
          "label": "Step by step",
          "value": "Step by step: Using cream yarn, make 3 chain stitches, (2 double crochet, make 2 chain stitches, 3 double crochet) in the same stitch, make 1 chain stitch, skip 2 stitches, [(3 double crochet, make 2 chain stitches, 3 double crochet) in next stitch, make 1 chain stitch, skip 2 stitches] 3 times; slip stitch to top of ch-3 to join.",
          "raw_text": "Step by step: Using cream yarn, make 3 chain stitches, (2 double crochet, make 2 chain stitches, 3 double crochet) in the same stitch, make 1 chain stitch, skip 2 stitches, [(3 double crochet, make 2 chain stitches, 3 double crochet) in next stitch, make 1 chain stitch, skip 2 stitches] 3 times; slip stitch to top of ch-3 to join.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 6,
          "row_type": "round",
          "code": "part-round-3",
          "label": "Round 3",
          "value": "With driftwood grey, sl st to corner sp, ch 3, 2 dc, ch 2, 3 dc in same corner, ch 1, 3 dc, ch 1, [(3 dc, ch 2, 3 dc) in corner sp, ch 1, 3 dc, ch 1, ] 3 times; sl st to join (36)",
          "raw_text": "With driftwood grey, sl st to corner sp, ch 3, 2 dc, ch 2, 3 dc in same corner, ch 1, 3 dc, ch 1, [(3 dc, ch 2, 3 dc) in corner sp, ch 1, 3 dc, ch 1, ] 3 times; sl st to join (36)",
          "round_start": 3,
          "round_end": 3,
          "is_range": false,
          "stitch_count": 36,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 7,
          "row_type": "info",
          "code": "part-step-3",
          "label": "Step by step",
          "value": "Step by step: Using driftwood grey yarn, slip stitch to corner space, make 3 chain stitches, 2 double crochet, make 2 chain stitches, 3 double crochet in same corner, make 1 chain stitch, 3 double crochet, make 1 chain stitch, [(3 double crochet, make 2 chain stitches, 3 double crochet) in corner space, make 1 chain stitch, 3 double crochet, make 1 chain stitch, ] 3 times; slip stitch to join.",
          "raw_text": "Step by step: Using driftwood grey yarn, slip stitch to corner space, make 3 chain stitches, 2 double crochet, make 2 chain stitches, 3 double crochet in same corner, make 1 chain stitch, 3 double crochet, make 1 chain stitch, [(3 double crochet, make 2 chain stitches, 3 double crochet) in corner space, make 1 chain stitch, 3 double crochet, make 1 chain stitch, ] 3 times; slip stitch to join.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 8,
          "row_type": "round",
          "code": "part-round-4",
          "label": "Round 4",
          "value": "With soft chambray blue, sl st to corner sp, ch 3, 2 dc, ch 2, 3 dc in same corner, ch 1, 3 dc, ch 1, 3 dc, ch 1, [(3 dc, ch 2, 3 dc) in corner sp, ch 1, 3 dc, ch 1, 3 dc, ch 1, ] 3 times; sl st to join (48)",
          "raw_text": "With soft chambray blue, sl st to corner sp, ch 3, 2 dc, ch 2, 3 dc in same corner, ch 1, 3 dc, ch 1, 3 dc, ch 1, [(3 dc, ch 2, 3 dc) in corner sp, ch 1, 3 dc, ch 1, 3 dc, ch 1, ] 3 times; sl st to join (48)",
          "round_start": 4,
          "round_end": 4,
          "is_range": false,
          "stitch_count": 48,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 9,
          "row_type": "info",
          "code": "part-step-4",
          "label": "Step by step",
          "value": "Step by step: Using soft chambray blue yarn, slip stitch to corner space, make 3 chain stitches, 2 double crochet, make 2 chain stitches, 3 double crochet in same corner, make 1 chain stitch, 3 double crochet, make 1 chain stitch, 3 double crochet, make 1 chain stitch, [(3 double crochet, make 2 chain stitches, 3 double crochet) in corner space, make 1 chain stitch, 3 double crochet, make 1 chain stitch, 3 double crochet, make 1 chain stitch, ] 3 times; slip stitch to join.",
          "raw_text": "Step by step: Using soft chambray blue yarn, slip stitch to corner space, make 3 chain stitches, 2 double crochet, make 2 chain stitches, 3 double crochet in same corner, make 1 chain stitch, 3 double crochet, make 1 chain stitch, 3 double crochet, make 1 chain stitch, [(3 double crochet, make 2 chain stitches, 3 double crochet) in corner space, make 1 chain stitch, 3 double crochet, make 1 chain stitch, 3 double crochet, make 1 chain stitch, ] 3 times; slip stitch to join.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 10,
          "row_type": "round",
          "code": "part-round-5",
          "label": "Border",
          "value": "With dusty teal, sl st into the corner ch-2 sp, ch 1, [3 sc in the corner sp, (sc in next 3 sts, sc in next sp) 3 times, sc in next 3 sts] 4 times; sl st to the first sc (72)",
          "raw_text": "With dusty teal, sl st into the corner ch-2 sp, ch 1, [3 sc in the corner sp, (sc in next 3 sts, sc in next sp) 3 times, sc in next 3 sts] 4 times; sl st to the first sc (72)",
          "round_start": 5,
          "round_end": 5,
          "is_range": false,
          "stitch_count": 72,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 11,
          "row_type": "info",
          "code": "part-step-5",
          "label": "Step by step",
          "value": "Step by step: Using dusty teal yarn, slip stitch into the corner ch-2 space, make 1 chain stitch, [3 single crochet in the corner space, (single crochet in next 3 stitches, single crochet in next space) 3 times, single crochet in next 3 stitches] 4 times; slip stitch to the first single crochet.",
          "raw_text": "Step by step: Using dusty teal yarn, slip stitch into the corner ch-2 space, make 1 chain stitch, [3 single crochet in the corner space, (single crochet in next 3 stitches, single crochet in next space) 3 times, single crochet in next 3 stitches] 4 times; slip stitch to the first single crochet.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 9,
      "card_type": "important_notes",
      "code": "important-notes",
      "title": "Important Notes",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "note-1",
          "label": "Note",
          "value": "💡 Gauge: the finished square is about 6 x 6 inches in Worsted weight yarn with a 5.0 mm hook. Tight crocheters can go up half a hook size; loose ones down half.",
          "raw_text": "💡 Gauge: the finished square is about 6 x 6 inches in Worsted weight yarn with a 5.0 mm hook. Tight crocheters can go up half a hook size; loose ones down half.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "info",
          "code": "note-2",
          "label": "Note",
          "value": "💡 Color plan: the sample uses dusty teal, cream, driftwood grey, soft chambray blue in round order — change colors with a slip-stitch join in the first stitch of the new round.",
          "raw_text": "💡 Color plan: the sample uses dusty teal, cream, driftwood grey, soft chambray blue in round order — change colors with a slip-stitch join in the first stitch of the new round.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "info",
          "code": "note-3",
          "label": "Note",
          "value": "💡 Block each square before joining — even a light steam and pin session squares up the corners and makes seaming so much easier.",
          "raw_text": "💡 Block each square before joining — even a light steam and pin session squares up the corners and makes seaming so much easier.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "info",
          "code": "note-4",
          "label": "Note",
          "value": "💡 Keep a small tapestry needle nearby for weaving in ends as you finish each color, rather than saving a pile of tails for the end.",
          "raw_text": "💡 Keep a small tapestry needle nearby for weaving in ends as you finish each color, rather than saving a pile of tails for the end.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 10,
      "card_type": "faq",
      "code": "faq",
      "title": "FAQ",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "faq",
          "code": "faq-1",
          "label": "Can I make this square with a different hook size?",
          "value": "Yes — going up a hook size will give you a slightly larger, more open square, while sizing down makes it denser and smaller. Just check your gauge against the finished size if it needs to match other squares.",
          "raw_text": "Yes — going up a hook size will give you a slightly larger, more open square, while sizing down makes it denser and smaller. Just check your gauge against the finished size if it needs to match other squares.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Can I make this square with a different hook size?",
          "answer": "Yes — going up a hook size will give you a slightly larger, more open square, while sizing down makes it denser and smaller. Just check your gauge against the finished size if it needs to match other squares.",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "faq",
          "code": "faq-2",
          "label": "Do I need to fasten off between every color?",
          "value": "Fastening off gives the cleanest color changes and is what I recommend for beginners. If you'd rather not weave in as many ends, you can carry the yarn up the back of the work instead, though the color transitions will look slightly different.",
          "raw_text": "Fastening off gives the cleanest color changes and is what I recommend for beginners. If you'd rather not weave in as many ends, you can carry the yarn up the back of the work instead, though the color transitions will look slightly different.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Do I need to fasten off between every color?",
          "answer": "Fastening off gives the cleanest color changes and is what I recommend for beginners. If you'd rather not weave in as many ends, you can carry the yarn up the back of the work instead, though the color transitions will look slightly different.",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "faq",
          "code": "faq-3",
          "label": "What can I make with the Salt Air Circle square?",
          "value": "Because the colors are so easy to mix and match, it's lovely joined into blankets or throws, turned into pillow covers, or kept as single squares for coasters. It also works well combined with other classic ring-style squares in a coordinating collection.",
          "raw_text": "Because the colors are so easy to mix and match, it's lovely joined into blankets or throws, turned into pillow covers, or kept as single squares for coasters. It also works well combined with other classic ring-style squares in a coordinating collection.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "What can I make with the Salt Air Circle square?",
          "answer": "Because the colors are so easy to mix and match, it's lovely joined into blankets or throws, turned into pillow covers, or kept as single squares for coasters. It also works well combined with other classic ring-style squares in a coordinating collection.",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "faq",
          "code": "faq-4",
          "label": "Is this square good for a first granny square project?",
          "value": "Absolutely — the stitches are all basic double and single crochet, the corners are clearly marked, and every round tells you exactly how many stitches you should have. It's a gentle, confidence-building project.",
          "raw_text": "Absolutely — the stitches are all basic double and single crochet, the corners are clearly marked, and every round tells you exactly how many stitches you should have. It's a gentle, confidence-building project.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Is this square good for a first granny square project?",
          "answer": "Absolutely — the stitches are all basic double and single crochet, the corners are clearly marked, and every round tells you exactly how many stitches you should have. It's a gentle, confidence-building project.",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 5,
          "row_type": "faq",
          "code": "faq-5",
          "label": "How much yarn do I need for one square?",
          "value": "A worsted weight square this size typically uses well under a full skein per color, especially since later rounds use more yarn than the first. It's a great way to use up leftover worsted weight yarn from your stash.",
          "raw_text": "A worsted weight square this size typically uses well under a full skein per color, especially since later rounds use more yarn than the first. It's a great way to use up leftover worsted weight yarn from your stash.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "How much yarn do I need for one square?",
          "answer": "A worsted weight square this size typically uses well under a full skein per color, especially since later rounds use more yarn than the first. It's a great way to use up leftover worsted weight yarn from your stash.",
          "abbr": null,
          "meaning": null
        }
      ]
    }
  ],
  "conflicts": [],
  "validation_warnings": [],
  "images": [
    "data/images/salt-air-circle-granny-square-a-breezy-coastal-classic-hero-v2.webp",
    "data/images/salt-air-circle-granny-square-a-breezy-coastal-classic-chart.webp"
  ],
  "source_url": null,
  "thumbnail_images": [
    {
      "url": "data/images/salt-air-circle-granny-square-a-breezy-coastal-classic-hero-v2.webp",
      "alt": "Salt Air Circle Granny Square — A Breezy Coastal Classic — finished granny square",
      "is_featured": true
    },
    {
      "url": "data/images/salt-air-circle-granny-square-a-breezy-coastal-classic-chart.webp",
      "alt": "Salt Air Circle Granny Square — A Breezy Coastal Classic — crochet stitch chart (symbol diagram)",
      "is_featured": false
    }
  ],
  "gallery_images": [
    {
      "url": "data/images/salt-air-circle-granny-square-a-breezy-coastal-classic-hero-v2.webp",
      "alt": "Salt Air Circle Granny Square — A Breezy Coastal Classic — finished granny square",
      "is_featured": true
    },
    {
      "url": "data/images/salt-air-circle-granny-square-a-breezy-coastal-classic-chart.webp",
      "alt": "Salt Air Circle Granny Square — A Breezy Coastal Classic — crochet stitch chart (symbol diagram)",
      "is_featured": false
    }
  ],
  "_squarelab": {
    "original_design": true,
    "square_id": "salt-air-circle--dcc98977",
    "family": "classic",
    "path": "ring",
    "recipe": [
      "dc_ring12",
      "ring_to_granny",
      "granny_grow",
      "granny_grow",
      "sc_border"
    ],
    "verdict": "ship",
    "all_counts_verified": true
  },
  "_sanitized_holiday_count": 0
}