{"product_id":"willow-blouse","title":"Willow | Blouse with Collar and Button","description":"\u003cstyle\u003e\n  :root {\n    --white:   #ffffff;\n    --offwhite: #fafafa;\n    --light:   #f7f7f7;\n    --border:  #e8e4df;\n    --tan:     #c8a882;\n    --deep-tan:#a07850;\n    --ink:     #1a1714;\n    --smoke:   #5a5248;\n    --red:     #c94a3b;\n    --gold:    #d4aa6a;\n  }\n  *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }\n  html { scroll-behavior: smooth; }\n  body {\n    font-family: 'DM Sans', sans-serif;\n    background: var(--white);\n    color: var(--ink);\n    overflow-x: hidden;\n  }\n  img { display: block; max-width: 100%; }\n  a { text-decoration: none; color: inherit; }\n\n  \/* ── ANN BAR ── *\/\n  .ann-bar {\n    background: var(--ink);\n    color: var(--gold);\n    text-align: center;\n    padding: 10px 20px;\n    font-size: 12px;\n    letter-spacing: 2px;\n    text-transform: uppercase;\n    font-weight: 500;\n  }\n\n  \/* ── COUNTDOWN ── *\/\n  .countdown-bar {\n    background: linear-gradient(90deg, var(--red), #a03020);\n    color: white;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 20px;\n    padding: 12px 20px;\n  }\n  .cd-text { font-size: 12px; letter-spacing: 1px; font-weight: 500; }\n  .cd-timer { display: flex; gap: 10px; align-items: center; }\n  .cd-block {\n    background: rgba(0,0,0,0.3);\n    padding: 5px 11px;\n    font-family: 'Cormorant Garamond', serif;\n    font-size: 22px;\n    font-weight: 600;\n    min-width: 44px;\n    text-align: center;\n    line-height: 1;\n  }\n  .cd-lbl { font-size: 8px; letter-spacing: 1px; opacity: 0.7; display: block; text-align: center; }\n  .cd-sep { font-size: 18px; opacity: 0.5; }\n\n  \/* ── NAV ── *\/\n  nav {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding: 18px 60px;\n    background: var(--white);\n    border-bottom: 1px solid var(--border);\n    position: sticky;\n    top: 0;\n    z-index: 100;\n  }\n  .logo {\n    font-family: 'Cormorant Garamond', serif;\n    font-size: 22px;\n    font-weight: 600;\n    letter-spacing: 3px;\n    color: var(--ink);\n    text-transform: uppercase;\n  }\n  .logo span { color: var(--tan); }\n  .nav-sub { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--smoke); }\n  .nav-cta {\n    background: var(--ink); color: white;\n    padding: 10px 22px; font-size: 12px;\n    letter-spacing: 1.5px; text-transform: uppercase;\n    font-weight: 500; border: none; cursor: pointer;\n    transition: background 0.3s; font-family: 'DM Sans', sans-serif;\n    display: inline-block;\n  }\n  .nav-cta:hover { background: var(--deep-tan); }\n\n  \/* ── HERO ── *\/\n  .hero {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    min-height: 92vh;\n    background: var(--white);\n  }\n  .hero-media {\n    position: relative;\n    background: var(--white);\n    overflow: hidden;\n    border-right: 1px solid var(--border);\n  }\n  .hero-img {\n    width: 100%; height: 100%;\n    object-fit: cover; object-position: top;\n    display: block;\n    transition: opacity 0.35s ease;\n    animation: subtleZoom 8s ease forwards;\n  }\n  @keyframes subtleZoom {\n    from { transform: scale(1.04); }\n    to   { transform: scale(1); }\n  }\n  .hero-badge {\n    position: absolute; top: 28px; left: 28px; z-index: 10;\n    background: var(--red); color: white;\n    width: 76px; height: 76px; border-radius: 50%;\n    display: flex; flex-direction: column;\n    align-items: center; justify-content: center;\n    font-size: 10px; font-weight: 700;\n    letter-spacing: 0.5px; text-transform: uppercase;\n    text-align: center; line-height: 1.25;\n    animation: pulse 2s infinite;\n  }\n  @keyframes pulse { 0%,100%{transform:scale(1);} 50%{transform:scale(1.06);} }\n  .hero-badge strong { font-size: 20px; display: block; }\n\n  .hero-content {\n    padding: 72px 64px 72px 60px;\n    background: var(--white);\n    display: flex; flex-direction: column; justify-content: center;\n    animation: fadeSlide 0.8s ease forwards;\n  }\n  @keyframes fadeSlide {\n    from { opacity: 0; transform: translateX(24px); }\n    to   { opacity: 1; transform: translateX(0); }\n  }\n  .eyebrow {\n    font-size: 10px; letter-spacing: 3px; text-transform: uppercase;\n    color: var(--tan); font-weight: 500; margin-bottom: 14px;\n    display: flex; align-items: center; gap: 10px;\n  }\n  .eyebrow::before { content: ''; width: 28px; height: 1px; background: var(--tan); display: inline-block; }\n  h1 {\n    font-family: 'Cormorant Garamond', serif;\n    font-size: clamp(32px, 3.5vw, 52px);\n    font-weight: 400; line-height: 1.1;\n    color: var(--ink); margin-bottom: 18px; letter-spacing: -0.3px;\n  }\n  h1 em { font-style: italic; color: var(--deep-tan); }\n  .hero-desc {\n    font-size: 14px; color: var(--smoke);\n    line-height: 1.75; max-width: 400px; margin-bottom: 28px;\n    font-weight: 300;\n  }\n\n  \/* price *\/\n  .price-row { display: flex; align-items: center; gap: 14px; margin-bottom: 28px; }\n  .price-sale {\n    font-family: 'Cormorant Garamond', serif;\n    font-size: 46px; font-weight: 600;\n    color: var(--ink); line-height: 1;\n  }\n  .price-orig { font-size: 18px; color: #bbb; text-decoration: line-through; font-weight: 300; }\n  .price-save { background: var(--red); color: white; font-size: 11px; font-weight: 700; padding: 4px 10px; letter-spacing: 0.5px; text-transform: uppercase; }\n\n  \/* selectors *\/\n  .select-group { margin-bottom: 18px; }\n  .select-label { font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--smoke); margin-bottom: 10px; font-weight: 500; }\n  .select-label strong { color: var(--ink); font-weight: 600; }\n\n  .color-opts { display: flex; gap: 8px; }\n  .color-btn {\n    width: 32px; height: 32px; border-radius: 50%;\n    border: 2px solid transparent; cursor: pointer; transition: all 0.2s;\n  }\n  .color-btn.active { border-color: var(--ink); transform: scale(1.1); }\n  .cb-khaki     { background: #b5a48a; }\n  .cb-blue      { background: #7a9cbf; }\n  .cb-green     { background: #8aab88; }\n  .cb-pink      { background: #d4a0a0; }\n  .cb-lightblue { background: #a8c4d8; }\n\n  .size-opts { display: flex; gap: 7px; flex-wrap: wrap; }\n  .size-btn {\n    padding: 0 14px; height: 40px; min-width: 48px;\n    border: 1px solid var(--border); background: var(--white);\n    cursor: pointer; font-size: 12px; font-weight: 500;\n    transition: all 0.2s; font-family: 'DM Sans', sans-serif;\n    color: var(--ink);\n  }\n  .size-btn:hover, .size-btn.active { background: var(--ink); color: white; border-color: var(--ink); }\n\n  \/* CTAs *\/\n  .cta-main {\n    width: 100%; padding: 17px; background: var(--ink); color: white;\n    font-size: 13px; font-weight: 500; letter-spacing: 2px;\n    text-transform: uppercase; border: none; cursor: pointer;\n    transition: all 0.3s; margin-bottom: 10px;\n    position: relative; overflow: hidden; font-family: 'DM Sans', sans-serif;\n  }\n  .cta-main::after { content: ''; position: absolute; inset: 0; background: var(--deep-tan); transform: translateX(-100%); transition: transform 0.4s ease; }\n  .cta-main:hover::after { transform: translateX(0); }\n  .cta-main span { position: relative; z-index: 1; }\n  .cta-sec {\n    width: 100%; padding: 15px; background: transparent; color: var(--ink);\n    font-size: 12px; font-weight: 500; letter-spacing: 1.5px;\n    text-transform: uppercase; border: 1px solid var(--ink);\n    cursor: pointer; transition: all 0.3s; margin-bottom: 20px;\n    font-family: 'DM Sans', sans-serif;\n  }\n  .cta-sec:hover { background: var(--light); }\n\n  \/* trust *\/\n  .trust-row { display: flex; gap: 18px; padding-top: 18px; border-top: 1px solid var(--border); flex-wrap: wrap; }\n  .trust-item { display: flex; align-items: center; gap: 7px; font-size: 11px; color: var(--smoke); }\n  .trust-icon { width: 16px; height: 16px; color: var(--tan); flex-shrink: 0; }\n\n  \/* volume *\/\n  .vol-strip {\n    background: var(--white); border: 1px solid var(--border);\n    padding: 10px 14px; display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 0;\n  }\n  .vol-item { font-size: 11px; color: var(--smoke); display: flex; align-items: center; gap: 6px; }\n  .vol-pill { background: var(--ink); color: white; font-size: 8px; font-weight: 700; padding: 2px 8px; letter-spacing: 1px; text-transform: uppercase; }\n\n  \/* ── THUMBNAIL SCROLL ── *\/\n  .thumb-scroll {\n    display: flex; gap: 10px; overflow-x: auto;\n    padding: 14px 60px; background: var(--white);\n    border-bottom: 1px solid var(--border);\n    scrollbar-width: none;\n  }\n  .thumb-scroll::-webkit-scrollbar { display: none; }\n  .thumb {\n    flex-shrink: 0; width: 100px; height: 133px;\n    object-fit: cover; object-position: top;\n    cursor: pointer; opacity: 0.6;\n    transition: opacity 0.2s; border: 2px solid transparent;\n  }\n  .thumb:hover, .thumb.active { opacity: 1; border-color: var(--ink); }\n\n  \/* ── FEATURES STRIP ── *\/\n  .feat-strip {\n    background: var(--ink); color: white;\n    display: grid; grid-template-columns: repeat(4, 1fr);\n    text-align: center;\n  }\n  .feat-item { padding: 32px 20px; border-right: 1px solid rgba(255,255,255,0.08); transition: background 0.3s; }\n  .feat-item:last-child { border-right: none; }\n  .feat-item:hover { background: rgba(255,255,255,0.04); }\n  .feat-num { font-family: 'Cormorant Garamond', serif; font-size: 32px; font-weight: 300; color: var(--gold); display: block; margin-bottom: 4px; }\n  .feat-lbl { font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; color: rgba(255,255,255,0.6); }\n\n  \/* ── STORY \/ CRAFT ── *\/\n  .story {\n    display: grid; grid-template-columns: 1fr 1fr;\n    background: var(--white);\n  }\n  .story-images {\n    display: grid; grid-template-columns: 1fr 1fr;\n    gap: 2px; background: var(--white);\n  }\n  .story-img { width: 100%; object-fit: cover; object-position: top; display: block; }\n  .story-img.tall { grid-row: span 2; height: 100%; }\n  .story-img.sq   { aspect-ratio: 3\/4; }\n  .story-text {\n    padding: 72px 64px 72px 60px;\n    background: var(--white);\n    display: flex; flex-direction: column; justify-content: center;\n    border-left: 1px solid var(--border);\n  }\n  .sec-eyebrow { font-size: 10px; letter-spacing: 3px; text-transform: uppercase; color: var(--tan); font-weight: 500; margin-bottom: 18px; }\n  .sec-title {\n    font-family: 'Cormorant Garamond', serif;\n    font-size: clamp(26px, 2.8vw, 40px);\n    font-weight: 400; line-height: 1.15;\n    margin-bottom: 20px; color: var(--ink);\n  }\n  .sec-title em { font-style: italic; color: var(--deep-tan); }\n  .sec-body { font-size: 14px; color: var(--smoke); line-height: 1.8; margin-bottom: 28px; font-weight: 300; }\n  .check-list { display: flex; flex-direction: column; gap: 12px; margin-bottom: 32px; }\n  .check-item { display: flex; gap: 12px; align-items: flex-start; font-size: 13px; color: var(--smoke); line-height: 1.6; }\n  .check-item strong { color: var(--ink); font-weight: 600; }\n  .check-dot { width: 18px; height: 18px; background: var(--tan); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 9px; color: white; flex-shrink: 0; margin-top: 2px; }\n\n  \/* ── COLOURS SECTION ── *\/\n  .colours-section {\n    padding: 80px 60px;\n    background: var(--white);\n    border-top: 1px solid var(--border);\n  }\n  .colours-header { text-align: center; max-width: 560px; margin: 0 auto 48px; }\n  .colours-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; max-width: 1100px; margin: 0 auto; }\n  .colour-card { overflow: hidden; cursor: pointer; border: 2px solid transparent; transition: border-color 0.25s; }\n  .colour-card:hover { border-color: var(--ink); }\n  .colour-card img { width: 100%; aspect-ratio: 3\/4; object-fit: cover; object-position: top; display: block; transition: transform 0.5s; }\n  .colour-card:hover img { transform: scale(1.03); }\n  .colour-name { padding: 8px 0 0; font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--smoke); text-align: center; font-weight: 500; }\n\n  \/* ── GALLERY ── *\/\n  .gallery { padding: 80px 60px; background: var(--white); border-top: 1px solid var(--border); }\n  .gallery-header { text-align: center; margin-bottom: 44px; }\n  .gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; max-width: 1200px; margin: 0 auto; }\n  .gal-img { aspect-ratio: 3\/4; object-fit: cover; object-position: top; width: 100%; display: block; transition: transform 0.5s; }\n  .gal-img:hover { transform: scale(1.03); }\n  .gal-item { overflow: hidden; }\n  .gal-item.wide { grid-column: span 2; }\n  .gal-item.wide .gal-img { aspect-ratio: 3\/2; }\n\n  \/* ── REVIEWS ── *\/\n  .reviews { background: var(--ink); padding: 90px 60px; color: white; }\n  .rev-header { text-align: center; margin-bottom: 52px; }\n  .rev-header .sec-title { color: white; }\n  .stars-big { color: var(--gold); font-size: 20px; letter-spacing: 4px; margin-bottom: 20px; }\n  .rev-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; max-width: 1100px; margin: 0 auto; }\n  .rev-card { border: 1px solid rgba(255,255,255,0.1); padding: 32px; transition: border-color 0.3s; }\n  .rev-card:hover { border-color: var(--gold); }\n  .rev-stars { color: var(--gold); font-size: 13px; letter-spacing: 2px; margin-bottom: 14px; }\n  .rev-text { font-size: 14px; color: rgba(255,255,255,0.75); line-height: 1.75; margin-bottom: 18px; font-style: italic; }\n  .rev-author { font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--tan); font-weight: 500; }\n  .rev-title { font-size: 12px; color: rgba(255,255,255,0.45); margin-bottom: 8px; font-weight: 500; }\n\n  \/* ── SIZE GUIDE ── *\/\n  .size-guide { padding: 80px 60px; background: var(--white); border-top: 1px solid var(--border); }\n  .size-guide-inner { max-width: 700px; margin: 0 auto; text-align: center; }\n  .size-table { width: 100%; border-collapse: collapse; font-size: 13px; margin-top: 36px; }\n  .size-table th { background: var(--ink); color: white; padding: 13px 18px; text-align: left; font-size: 10px; letter-spacing: 2px; text-transform: uppercase; font-weight: 500; }\n  .size-table td { padding: 11px 18px; border-bottom: 1px solid var(--border); color: var(--smoke); text-align: left; }\n  .size-table tr:nth-child(even) td { background: var(--offwhite); }\n\n  \/* ── FAQ ── *\/\n  .faq { padding: 80px 60px; background: var(--white); border-top: 1px solid var(--border); }\n  .faq-inner { max-width: 760px; margin: 0 auto; }\n  .faq-header { text-align: center; margin-bottom: 40px; }\n  .faq-item { border-bottom: 1px solid var(--border); }\n  .faq-q {\n    width: 100%; background: none; border: none; padding: 18px 0;\n    text-align: left; font-size: 14px; font-weight: 500; color: var(--ink);\n    cursor: pointer; display: flex; align-items: center; justify-content: space-between;\n    font-family: 'DM Sans', sans-serif; letter-spacing: 0.2px;\n  }\n  .faq-q .icon { font-size: 20px; color: var(--tan); transition: transform 0.3s; flex-shrink: 0; }\n  .faq-q.open .icon { transform: rotate(45deg); }\n  .faq-a { font-size: 13px; color: var(--smoke); line-height: 1.75; padding: 0 0 18px; display: none; font-weight: 300; }\n  .faq-a.open { display: block; }\n\n  \/* ── FINAL CTA ── *\/\n  .final-cta {\n    position: relative; min-height: 480px;\n    display: flex; align-items: center; justify-content: center;\n    text-align: center; overflow: hidden; background: var(--ink);\n  }\n  .final-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top; opacity: 0.2; }\n  .final-content { position: relative; z-index: 2; max-width: 640px; padding: 60px 32px; }\n  .final-content .sec-title { color: white; font-size: clamp(28px, 3.5vw, 46px); }\n  .final-content p { font-size: 15px; color: rgba(255,255,255,0.6); line-height: 1.7; margin: 20px 0 36px; }\n  .final-btn {\n    display: inline-block; background: var(--gold); color: var(--ink);\n    padding: 17px 48px; font-size: 12px; font-weight: 700;\n    letter-spacing: 2px; text-transform: uppercase;\n    border: none; cursor: pointer; transition: all 0.3s; text-decoration: none;\n  }\n  .final-btn:hover { background: white; transform: translateY(-2px); }\n\n  \/* ── FOOTER ── *\/\n  footer { background: #111; color: rgba(255,255,255,0.45); text-align: center; padding: 28px; font-size: 11px; letter-spacing: 1px; }\n  footer a { color: var(--tan); }\n\n  \/* ── RESPONSIVE ── *\/\n  @media (max-width: 900px) {\n    nav { padding: 14px 24px; }\n    .hero { grid-template-columns: 1fr; min-height: auto; }\n    .hero-media { min-height: 80vw; border-right: none; border-bottom: 1px solid var(--border); }\n    .hero-content { padding: 40px 24px; }\n    .thumb-scroll { padding: 12px 24px; }\n    .feat-strip { grid-template-columns: 1fr 1fr; }\n    .story { grid-template-columns: 1fr; }\n    .story-text { padding: 44px 24px; border-left: none; border-top: 1px solid var(--border); }\n    .colours-section { padding: 56px 24px; }\n    .colours-grid { grid-template-columns: repeat(3, 1fr); }\n    .gallery { padding: 56px 24px; }\n    .gallery-grid { grid-template-columns: 1fr 1fr; }\n    .gal-item.wide { grid-column: span 2; }\n    .reviews { padding: 56px 24px; }\n    .rev-grid { grid-template-columns: 1fr; }\n    .size-guide { padding: 56px 24px; }\n    .faq { padding: 56px 24px; }\n  }\n\u003c\/style\u003e\n\u003c!-- Ann bar --\u003e\n\u003cdiv class=\"countdown-bar\"\u003e\n\u003cdiv class=\"cd-timer\"\u003e\u003cmeta charset=\"UTF-8\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Nav --\u003e\u003cnav\u003e\n\u003cdiv class=\"logo\"\u003eCaroline \u003cspan\u003e\u0026amp;\u003c\/span\u003e Sophia\u003c\/div\u003e\n\u003cdiv class=\"nav-sub\"\u003eThe Élise Blouse\u003c\/div\u003e\n\u003cbr\u003e\u003c\/nav\u003e\u003c!-- ══════════════ HERO ══════════════ --\u003e\n\u003csection id=\"order\" class=\"hero\"\u003e\n\u003cdiv class=\"hero-media\"\u003e\n\u003cdiv class=\"hero-badge\"\u003e\n\u003cstrong\u003e70%\u003c\/strong\u003eOFF\u003cspan style=\"font-size: 8px; opacity: .9;\"\u003eTODAY\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cimg alt=\"Willow Blouse — Khaki\" src=\"https:\/\/carolinesophia.com\/cdn\/shop\/files\/5XL_5456_26_1400x.png?v=1774377798\" id=\"heroMain\" class=\"hero-img\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"hero-content\"\u003e\n\u003cp class=\"eyebrow\"\u003eNew Season · Collar \u0026amp; Button Detail\u003c\/p\u003e\n\u003ch1\u003eThe Blouse That Makes\u003cbr\u003eEvery Outfit Look\u003cbr\u003e\u003cem\u003eIntentional\u003c\/em\u003e\n\u003c\/h1\u003e\n\u003cp class=\"hero-desc\"\u003eEffortlessly elegant, relaxed in all the right places. A refined collar, delicate button placket, and a drape that flatters every shape — from S to 3XL\u003c\/p\u003e\n\u003cbutton class=\"cta-sec\"\u003e\u003cbr\u003e\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- Thumbnail scroll --\u003e\n\u003cdiv class=\"thumb-scroll\"\u003e\n\u003cimg alt=\"Khaki front\" src=\"https:\/\/carolinesophia.com\/cdn\/shop\/files\/5XL_5456_26_400x.png?v=1774377798\" class=\"thumb active\"\u003e \u003cimg alt=\"Blue\" src=\"https:\/\/carolinesophia.com\/cdn\/shop\/files\/5XL_5456_25_400x.png?v=1774377797\" class=\"thumb\"\u003e \u003cimg alt=\"Green\" src=\"https:\/\/carolinesophia.com\/cdn\/shop\/files\/5XL_5456_22_400x.png?v=1774377798\" class=\"thumb\"\u003e \u003cimg alt=\"Pink\" src=\"https:\/\/carolinesophia.com\/cdn\/shop\/files\/5XL_5456_24_400x.png?v=1774377798\" class=\"thumb\"\u003e \u003cimg alt=\"Light Blue\" src=\"https:\/\/carolinesophia.com\/cdn\/shop\/files\/5XL_5456_23_400x.png?v=1774377798\" class=\"thumb\"\u003e\n\u003c\/div\u003e\n\u003c!-- Features strip --\u003e\n\u003cdiv class=\"feat-strip\"\u003e\n\u003cdiv class=\"feat-item\"\u003e\n\u003cspan class=\"feat-num\"\u003e5\u003c\/span\u003e\u003cspan class=\"feat-lbl\"\u003eColourways\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feat-item\"\u003e\n\u003cspan class=\"feat-num\"\u003eS–3XL\u003c\/span\u003e\u003cspan class=\"feat-lbl\"\u003eInclusive Sizing\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feat-item\"\u003e\n\u003cspan class=\"feat-num\"\u003e★ 4.7\u003c\/span\u003e\u003cspan class=\"feat-lbl\"\u003eCustomer Rating\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feat-item\"\u003e\n\u003cspan class=\"feat-num\"\u003e35K+\u003c\/span\u003e\u003cspan class=\"feat-lbl\"\u003eHappy Customers\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ══════════════ CRAFT \/ STORY ══════════════ --\u003e\n\u003csection class=\"story\"\u003e\n\u003cdiv class=\"story-images\"\u003e\n\u003cimg alt=\"Blue blouse\" src=\"https:\/\/carolinesophia.com\/cdn\/shop\/files\/5XL_5456_25_1400x.png?v=1774377797\" class=\"story-img tall\"\u003e \u003cimg alt=\"Green blouse\" src=\"https:\/\/carolinesophia.com\/cdn\/shop\/files\/5XL_5456_22_1400x.png?v=1774377798\" class=\"story-img sq\"\u003e \u003cimg alt=\"Pink blouse\" src=\"https:\/\/carolinesophia.com\/cdn\/shop\/files\/5XL_5456_24_1400x.png?v=1774377798\" class=\"story-img sq\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"story-text\"\u003e\n\u003cp class=\"sec-eyebrow\"\u003eThe Craft\u003c\/p\u003e\n\u003ch2 class=\"sec-title\"\u003eWhere \u003cem\u003eQuiet Luxury\u003c\/em\u003e\u003cbr\u003eMeets Everyday Ease\u003c\/h2\u003e\n\u003cp class=\"sec-body\"\u003eThe Élise is built around the details that matter — a sculpted pointed collar that frames the face beautifully, a clean button placket that elevates any look from effortless to polished, and a relaxed silhouette cut to move with you, not against you.\u003c\/p\u003e\n\u003cdiv class=\"check-list\"\u003e\n\u003cdiv class=\"check-item\"\u003e\n\u003cdiv class=\"check-dot\"\u003e✓\u003c\/div\u003e\n\u003cp\u003e\u003cstrong\u003ePointed collar with clean seam finish\u003c\/strong\u003e — structured enough to wear open or buttoned to the top\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"check-item\"\u003e\n\u003cdiv class=\"check-dot\"\u003e✓\u003c\/div\u003e\n\u003cp\u003e\u003cstrong\u003eRelaxed, flattering silhouette\u003c\/strong\u003e — skims the body without clinging, flatters every shape from S to 3XL\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"check-item\"\u003e\n\u003cdiv class=\"check-dot\"\u003e✓\u003c\/div\u003e\n\u003cp\u003e\u003cstrong\u003eBreathable lightweight fabric\u003c\/strong\u003e — soft to the touch, wrinkle-resistant, comfortable from 9am to 9pm\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"check-item\"\u003e\n\u003cdiv class=\"check-dot\"\u003e✓\u003c\/div\u003e\n\u003cp\u003e\u003cstrong\u003eFive curated colourways\u003c\/strong\u003e — Khaki, Blue, Green, Pink and Light Blue, each endlessly versatile\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"check-item\"\u003e\n\u003cdiv class=\"check-dot\"\u003e✓\u003c\/div\u003e\n\u003cp\u003e\u003cstrong\u003eInclusive sizing S to 3XL\u003c\/strong\u003e — proportional collar and sleeve scaling at every size\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- ══════════════ ALL COLOURS ══════════════ --\u003e\u003c!-- ══════════════ SIZE GUIDE ══════════════ --\u003e\n\u003cp\u003e \u003c\/p\u003e","brand":"CAROLINE \u0026 SOPHIA","offers":[{"title":"Khaki \/ S","offer_id":45001382166710,"sku":null,"price":49.95,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ M","offer_id":45001382199478,"sku":null,"price":49.95,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ L","offer_id":45001382232246,"sku":null,"price":49.95,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ XL","offer_id":45001382265014,"sku":null,"price":49.95,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ 2XL","offer_id":45001382297782,"sku":null,"price":49.95,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ 3XL","offer_id":45001382330550,"sku":null,"price":49.95,"currency_code":"USD","in_stock":true},{"title":"Blue \/ S","offer_id":45001382363318,"sku":null,"price":49.95,"currency_code":"USD","in_stock":true},{"title":"Blue \/ M","offer_id":45001382396086,"sku":null,"price":49.95,"currency_code":"USD","in_stock":true},{"title":"Blue \/ L","offer_id":45001382428854,"sku":null,"price":49.95,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XL","offer_id":45001382461622,"sku":null,"price":49.95,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 2XL","offer_id":45001382494390,"sku":null,"price":49.95,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 3XL","offer_id":45001382527158,"sku":null,"price":49.95,"currency_code":"USD","in_stock":true},{"title":"Green \/ S","offer_id":45001382559926,"sku":null,"price":49.95,"currency_code":"USD","in_stock":true},{"title":"Green \/ M","offer_id":45001382592694,"sku":null,"price":49.95,"currency_code":"USD","in_stock":true},{"title":"Green \/ L","offer_id":45001382625462,"sku":null,"price":49.95,"currency_code":"USD","in_stock":true},{"title":"Green \/ XL","offer_id":45001382658230,"sku":null,"price":49.95,"currency_code":"USD","in_stock":true},{"title":"Green \/ 2XL","offer_id":45001382690998,"sku":null,"price":49.95,"currency_code":"USD","in_stock":true},{"title":"Green \/ 3XL","offer_id":45001382723766,"sku":null,"price":49.95,"currency_code":"USD","in_stock":true},{"title":"Pink \/ S","offer_id":45001382756534,"sku":null,"price":49.95,"currency_code":"USD","in_stock":true},{"title":"Pink \/ M","offer_id":45001382789302,"sku":null,"price":49.95,"currency_code":"USD","in_stock":true},{"title":"Pink \/ L","offer_id":45001382822070,"sku":null,"price":49.95,"currency_code":"USD","in_stock":true},{"title":"Pink \/ XL","offer_id":45001382854838,"sku":null,"price":49.95,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 2XL","offer_id":45001382887606,"sku":null,"price":49.95,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 3XL","offer_id":45001382920374,"sku":null,"price":49.95,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ S","offer_id":45001382953142,"sku":null,"price":49.95,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ M","offer_id":45001382985910,"sku":null,"price":49.95,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ L","offer_id":45001383018678,"sku":null,"price":49.95,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ XL","offer_id":45001383051446,"sku":null,"price":49.95,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ 2XL","offer_id":45001383084214,"sku":null,"price":49.95,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ 3XL","offer_id":45001383116982,"sku":null,"price":49.95,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0715\/4270\/2262\/files\/5XL_5456_26.png?v=1774377798","url":"https:\/\/carolinesophia.com\/products\/willow-blouse","provider":"CAROLINE \u0026 SOPHIA","version":"1.0","type":"link"}