{"product_id":"unlined-triangle-bralette","title":"Unlined Triangle Bralette – Wireless, Buy 1 Get 1 Free","description":"\u003cstyle\u003e\n  @import url('https:\/\/fonts.googleapis.com\/css2?family=Source+Serif+4:opsz,wght@8..60,400;8..60,600;8..60,700\u0026family=Inter:wght@400;500;600;700\u0026display=swap');\n\n  #ll-tb-root{--ink:#2b2016;--espresso:#3a2b23;--muted:#8b7a6c;--line:#e8ded2;\n    --nude:#e9d3ba;--nude-soft:#f7f0e6;--bronze:#8f6136;--bronze-deep:#77502b;\n    width:100%!important;max-width:100%!important;min-width:0;flex:1 1 100%;align-self:stretch;\n    background:#fdfaf5;color:var(--ink);font-family:'Inter',system-ui,sans-serif!important;\n    line-height:1.6;font-size:16px;text-align:left;-webkit-font-smoothing:antialiased;font-synthesis:none;}\n  #ll-tb-root *,#ll-tb-root *::before,#ll-tb-root *::after{box-sizing:border-box;margin:0;padding:0;}\n  #ll-tb-root ul{list-style:none;}\n  #ll-tb-root img{max-width:100%;height:auto;border:0;box-shadow:none;}\n  \/* theme-proof image boxes: source images are square — show them whole in 1:1 boxes *\/\n  #ll-tb-root .ll-feat .ph{aspect-ratio:1\/1;}\n  #ll-tb-root .ll-feat .ph img{width:100%!important;height:100%!important;object-fit:cover!important;\n    object-position:center top!important;display:block!important;}\n  #ll-tb-root .ll-var-card .ph{aspect-ratio:1\/1;overflow:hidden;background:var(--nude-soft);}\n  #ll-tb-root .ll-var-card .ph img{width:100%!important;height:100%!important;object-fit:cover!important;\n    object-position:center top!important;display:block!important;}\n  #ll-tb-root .wrap{max-width:1140px;margin:0 auto;padding-inline:22px;}\n  #ll-tb-root section{padding:64px 0;display:block;}\n  #ll-tb-root h2,#ll-tb-root h3{font-family:'Source Serif 4',Georgia,serif!important;font-weight:600;letter-spacing:normal;font-synthesis:none;}\n  #ll-tb-root h2 em,#ll-tb-root h3 em{font-style:normal;color:var(--bronze)!important;}\n\n  #ll-tb-root .eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.16em;\n    text-transform:uppercase;color:var(--bronze);margin-bottom:10px;}\n  #ll-tb-root .ll-head{text-align:center;max-width:640px;margin:0 auto 42px;}\n  #ll-tb-root .ll-head h2{font-size:clamp(28px,3.4vw,40px);line-height:1.15;}\n  #ll-tb-root .ll-head p{color:var(--muted);margin-top:12px;font-size:16px;}\n\n  #ll-tb-root .ll-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;\n    background:var(--bronze)!important;color:#fff!important;text-decoration:none!important;\n    font-weight:700;font-size:15.5px;padding:15px 34px;border-radius:999px;border:none;\n    cursor:pointer;transition:.2s;box-shadow:0 10px 26px rgba(143,97,54,.32);line-height:1.3;}\n  #ll-tb-root .ll-cta:hover{background:var(--bronze-deep)!important;transform:translateY(-2px);color:#fff;}\n\n  \/* ═════ TRUST ═════ *\/\n  #ll-tb-root .ll-trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;}\n  #ll-tb-root .ll-trust-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;padding-block:22px;}\n  #ll-tb-root .ll-trust-item{display:flex;align-items:center;gap:10px;justify-content:center;\n    font-size:14px;font-weight:600;color:var(--espresso);line-height:1.3;}\n\n  \/* ═════ FEATURES ═════ *\/\n  #ll-tb-root .ll-feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:26px;}\n  #ll-tb-root .ll-feat{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;\n    display:flex;flex-direction:column;}\n  #ll-tb-root .ll-feat .ph{overflow:hidden;background:var(--nude-soft);}\n  #ll-tb-root .ll-feat .tx{padding:24px 24px 28px;}\n  #ll-tb-root .ll-feat .num{font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;\n    color:var(--bronze);margin-bottom:8px;font-family:'Source Serif 4',Georgia,serif!important;}\n  #ll-tb-root .ll-feat h3{font-size:21px;line-height:1.25;margin-bottom:10px;}\n  #ll-tb-root .ll-feat p{color:var(--muted);font-size:14.5px;}\n\n  \/* ═════ COLOR WALL ═════ *\/\n  #ll-tb-root .ll-var-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;}\n  #ll-tb-root .ll-var-card{flex:1 1 150px;min-width:136px;max-width:215px;\n    border-radius:20px;overflow:hidden;border:1.5px solid var(--line);position:relative;background:#fff;}\n  #ll-tb-root .ll-var-card .ph{width:100%;}\n  #ll-tb-root .ll-var-card .lb{position:absolute;left:12px;bottom:12px;background:rgba(255,255,255,.95);\n    border-radius:999px;padding:7px 14px;font-size:12.5px;font-weight:700;display:flex;align-items:center;\n    gap:8px;color:var(--espresso);line-height:1.2;}\n  #ll-tb-root .ll-var-card{cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s;}\n  #ll-tb-root .ll-var-card:hover{transform:translateY(-3px);}\n  #ll-tb-root .ll-var-card.is-active{border-color:var(--espresso)!important;box-shadow:0 0 0 3px rgba(58,43,35,.12);}\n  #ll-tb-root .ll-sw{width:15px;height:15px;border-radius:50%;border:1px solid rgba(0,0,0,.14);flex:none;display:block;}\n  #ll-tb-root .ll-pick-hint{text-align:center;color:var(--muted);font-size:13.5px;margin-top:18px;}\n\n  \/* ═════ WEAR TRIO ═════ *\/\n  #ll-tb-root .ll-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:26px;}\n  #ll-tb-root .ll-step{background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px 28px;}\n  #ll-tb-root .ll-step .n{font-family:'Source Serif 4',Georgia,serif!important;font-size:15px;font-weight:600;\n    color:var(--bronze);display:block;margin-bottom:10px;}\n  #ll-tb-root .ll-step h3{font-size:19px;margin-bottom:8px;}\n  #ll-tb-root .ll-step p{color:var(--muted);font-size:14.5px;}\n\n  \/* ═════ BF PROMO STRIP ═════ *\/\n  #ll-tb-root .ll-promo{background:var(--espresso);color:#f3e9df;padding:44px 0;}\n  #ll-tb-root .ll-promo-tag{display:inline-block;background:#f0c98d;color:#3a2b23;font-size:12px;font-weight:700;\n    letter-spacing:.16em;text-transform:uppercase;padding:7px 16px;border-radius:999px;margin-bottom:16px;}\n  #ll-tb-root .ll-promo-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px;}\n  #ll-tb-root .ll-offer{background:rgba(255,255,255,.06);border:1px solid rgba(240,201,141,.35);border-radius:18px;\n    padding:26px 28px;text-align:center;}\n  #ll-tb-root .ll-offer .big{font-family:'Source Serif 4',Georgia,serif!important;font-size:clamp(22px,2.4vw,30px);\n    font-weight:600;color:#f0c98d;line-height:1.2;font-synthesis:none;}\n  #ll-tb-root .ll-offer .sm{font-size:14px;color:#e9d3ba;margin-top:8px;}\n  #ll-tb-root .ll-offer .pin{display:inline-block;margin-top:14px;font-size:12px;font-weight:700;letter-spacing:.1em;\n    text-transform:uppercase;color:#cbb7a4;border:1px solid rgba(203,183,164,.4);border-radius:999px;padding:5px 14px;}\n\n  \/* ═════ FIT GUIDE ═════ *\/\n  #ll-tb-root .ll-fsteps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:860px;margin:0 auto 30px;}\n  #ll-tb-root .ll-fstep{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 20px;text-align:center;}\n  #ll-tb-root .ll-fstep .n{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;\n    border-radius:50%;background:var(--bronze);color:#fff;font-weight:700;font-size:14px;margin-bottom:10px;}\n  #ll-tb-root .ll-fstep h3{font-size:16.5px;margin-bottom:6px;}\n  #ll-tb-root .ll-fstep p{color:var(--muted);font-size:13.5px;line-height:1.5;}\n\n  \/* ═════ TRUST WALL ═════ *\/\n  #ll-tb-root .ll-twall{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}\n  #ll-tb-root .ll-tcard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 22px;text-align:center;}\n  #ll-tb-root .ll-tcard .ic{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;\n    border-radius:50%;background:var(--nude-soft);margin-bottom:12px;}\n  #ll-tb-root .ll-tcard h3{font-size:16.5px;margin-bottom:6px;}\n  #ll-tb-root .ll-tcard p{color:var(--muted);font-size:13.5px;line-height:1.5;}\n\n  \/* ═════ SIZE ═════ *\/\n  #ll-tb-root .ll-size-box{max-width:720px;margin:0 auto;background:var(--nude-soft);\n    border:1px solid var(--nude);border-radius:20px;padding:34px 36px;text-align:center;}\n  #ll-tb-root .ll-size-box h3{font-size:24px;margin:0 0 10px;}\n  #ll-tb-root .ll-size-box p{color:var(--muted);font-size:15px;}\n  #ll-tb-root .ll-sizes{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px;padding:0;}\n  #ll-tb-root .ll-size-box .ll-sizes{justify-content:center;margin-bottom:0;}\n  #ll-tb-root .ll-size{min-width:56px;text-align:center;padding:10px 14px;border:1.5px solid var(--line);\n    border-radius:12px;background:#fff!important;font-size:14px;font-weight:700;cursor:pointer;transition:.18s;line-height:1.2;}\n  #ll-tb-root .ll-size:hover{border-color:var(--nude);}\n  #ll-tb-root .ll-size.is-active{border-color:var(--espresso)!important;background:var(--espresso)!important;color:#fff!important;}\n  #ll-tb-root .ll-size.is-sold{opacity:.4;text-decoration:line-through;cursor:not-allowed;}\n  #ll-tb-root .ll-size-note{margin-top:16px;font-size:13.5px;color:var(--muted)!important;}\n\n  \/* ═════ PROMISE ═════ *\/\n  #ll-tb-root .ll-promise{background:var(--espresso);color:#f3e9df;text-align:center;}\n  #ll-tb-root .ll-promise .mark{font-family:'Source Serif 4',Georgia,serif!important;\n    font-size:clamp(22px,2.6vw,30px);font-weight:600;line-height:1.35;max-width:720px;margin:0 auto 14px;font-synthesis:none;}\n  #ll-tb-root .ll-promise .mark span{color:#f0c98d;font-style:italic;}\n  #ll-tb-root .ll-promise p{color:#cbb7a4;font-size:14.5px;max-width:560px;margin:0 auto 22px;}\n  #ll-tb-root .ll-promise .row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;\n    font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#e9d3ba;}\n\n  \/* ═════ FAQ ═════ *\/\n  #ll-tb-root .ll-faq{max-width:760px;margin:0 auto;}\n  #ll-tb-root .ll-qa{background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:12px;overflow:hidden;}\n  #ll-tb-root .ll-qa button{width:100%;background:none!important;border:none;cursor:pointer;\n    display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;\n    padding:20px 24px;font-family:'Inter',system-ui,sans-serif!important;font-size:15.5px;font-weight:600;color:var(--ink);}\n  #ll-tb-root .ll-qa .plus{font-size:22px;color:var(--bronze);line-height:1;flex:none;transition:transform .2s;}\n  #ll-tb-root .ll-qa.open .plus{transform:rotate(45deg);}\n  #ll-tb-root .ll-qa .ans{max-height:0;overflow:hidden;transition:max-height .28s ease;}\n  #ll-tb-root .ll-qa .ans p{padding:0 24px 20px;color:var(--muted);font-size:14.5px;}\n\n  \/* ═════ FINAL CTA ═════ *\/\n  #ll-tb-root .ll-final{background:var(--nude-soft);text-align:center;}\n  #ll-tb-root .ll-final h2{font-size:clamp(28px,3.4vw,40px);line-height:1.15;margin-bottom:12px;}\n  #ll-tb-root .ll-final p{color:var(--muted);margin-bottom:26px;font-size:16px;}\n  #ll-tb-root .ll-final .ll-cta{display:flex;max-width:420px;margin:0 auto;}\n  #ll-tb-root .ll-cta-note{margin:12px 0 0;font-size:13px;color:var(--muted);text-align:center;}\n\n  \/* ═════ STICKY BAR ═════ *\/\n  #ll-tb-root .ll-sticky{position:fixed;left:0;right:0;bottom:0;z-index:9990;background:rgba(255,255,255,.97);\n    backdrop-filter:blur(10px);border-top:1px solid var(--line);box-shadow:0 -8px 30px rgba(43,32,22,.12);\n    transform:translateY(110%);transition:transform .3s ease;padding-bottom:env(safe-area-inset-bottom);}\n  #ll-tb-root .ll-sticky.is-show{transform:translateY(0);}\n  #ll-tb-root .ll-sticky-in{display:flex;align-items:center;justify-content:space-between;gap:18px;\n    max-width:1140px;margin:0 auto;padding:12px 22px;}\n  #ll-tb-root .ll-sticky .info{display:flex;align-items:center;gap:14px;min-width:0;}\n  #ll-tb-root .ll-sticky .info img{width:52px!important;height:52px!important;max-width:52px!important;object-fit:cover;border-radius:10px;flex:none;}\n  #ll-tb-root .ll-sticky .info b{font-size:14.5px;font-weight:700;display:block;white-space:nowrap;\n    overflow:hidden;text-overflow:ellipsis;color:var(--ink);}\n  #ll-tb-root .ll-sticky .info small{color:var(--muted);font-size:13px;line-height:1.3;}\n  #ll-tb-root .ll-sticky .sp{font-family:'Source Serif 4',Georgia,serif!important;font-size:22px;font-weight:600;line-height:1;color:var(--ink);font-synthesis:none;}\n  #ll-tb-root .ll-sticky .ll-cta{width:auto;padding:12px 30px;font-size:15px;}\n\n  \/* ═════ RESPONSIVE ═════ *\/\n  @media(max-width:960px){\n    #ll-tb-root .ll-feats,#ll-tb-root .ll-steps{grid-template-columns:1fr 1fr;}\n    #ll-tb-root .ll-twall{grid-template-columns:1fr 1fr;}\n    #ll-tb-root .ll-trust-in{grid-template-columns:1fr 1fr;gap:14px;}\n    #ll-tb-root section{padding:56px 0;}\n    #ll-tb-root .ll-sticky .sp{display:none;}\n  }\n  @media(max-width:620px){\n    #ll-tb-root .ll-feats,#ll-tb-root .ll-steps{grid-template-columns:1fr;}\n    #ll-tb-root .ll-var-card{max-width:calc(50% - 9px);}\n    #ll-tb-root .ll-trust-item{font-size:12.5px;justify-content:flex-start;}\n    #ll-tb-root .ll-sticky .info b{max-width:110px;}\n    #ll-tb-root .ll-sticky-in{padding:10px 14px;gap:10px;}\n    #ll-tb-root .ll-sticky .ll-cta{padding:11px 18px;font-size:13.5px;}\n    #ll-tb-root .ll-size-box{padding:28px 20px;}\n    #ll-tb-root .ll-promo-grid{grid-template-columns:1fr;}\n    #ll-tb-root .ll-fsteps{grid-template-columns:1fr;gap:14px;}\n    #ll-tb-root .ll-twall{grid-template-columns:1fr;}\n  }\n\u003c\/style\u003e\n\u003cdiv id=\"ll-tb-root\"\u003e\n\u003cdiv class=\"ll\"\u003e\n\u003c!-- ══════════════ TRUST ══════════════ --\u003e\n\u003cdiv class=\"ll-trust\"\u003e\n\u003cdiv class=\"wrap ll-trust-in\"\u003e\n\u003cdiv class=\"ll-trust-item\"\u003e\n\u003csvg width=\"19\" height=\"19\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"#8f6136\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M1 3h15v13H1z\"\u003e\u003c\/path\u003e\u003cpath d=\"M16 8h4l3 3v5h-7z\"\u003e\u003c\/path\u003e\u003ccircle cx=\"5.5\" cy=\"18.5\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"18.5\" cy=\"18.5\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e Fast US Shipping\u003c\/div\u003e\n\u003cdiv class=\"ll-trust-item\"\u003e\n\u003csvg width=\"19\" height=\"19\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"#8f6136\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpolyline points=\"23 4 23 10 17 10\"\u003e\u003c\/polyline\u003e\u003cpath d=\"M20.49 15a9 9 0 1 1-2.12-9.36L23 10\"\u003e\u003c\/path\u003e\u003c\/svg\u003e 30-Day Fit Guarantee\u003c\/div\u003e\n\u003cdiv class=\"ll-trust-item\"\u003e\n\u003csvg width=\"19\" height=\"19\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"#8f6136\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003crect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M7 11V7a5 5 0 0 1 10 0v4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e Secure Checkout\u003c\/div\u003e\n\u003cdiv class=\"ll-trust-item\"\u003e\n\u003csvg width=\"19\" height=\"19\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"#8f6136\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z\"\u003e\u003c\/path\u003e\u003cpolyline points=\"3.27 6.96 12 12.01 20.73 6.96\"\u003e\u003c\/polyline\u003e\u003cline x1=\"12\" y1=\"22.08\" x2=\"12\" y2=\"12\"\u003e\u003c\/line\u003e\u003c\/svg\u003e Discreet Packaging\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ══════════════ BLACK FRIDAY PROMO ══════════════ --\u003e\n\u003cdiv class=\"ll-promo\"\u003e\n\u003cdiv class=\"wrap\" style=\"text-align: center;\"\u003e\n\u003cspan class=\"ll-promo-tag\"\u003eBlack Friday Early Access\u003c\/span\u003e\n\u003cdiv class=\"ll-promo-grid\"\u003e\n\u003cdiv class=\"ll-offer\"\u003e\n\u003cdiv class=\"big\"\u003eBuy 1, Get 1 FREE\u003c\/div\u003e\n\u003cdiv class=\"sm\"\u003eThis bralette at \u003cb\u003e$29.99\u003c\/b\u003e — add a second one in any color, free. Two for $29.99 — that's $14.99 each.\u003c\/div\u003e\n\u003cspan class=\"pin\"\u003eThis Style Only\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ll-offer\"\u003e\n\u003cdiv class=\"big\"\u003eAny 3 for $79.99\u003c\/div\u003e\n\u003cdiv class=\"sm\"\u003eBlack Friday styles only — mix any 3 marked items for $79.99.\u003c\/div\u003e\n\u003cspan class=\"pin\"\u003eBlack Friday Items Only\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ══════════════ FEATURES ══════════════ --\u003e\n\u003csection id=\"ll-features\"\u003e\n\u003cdiv class=\"wrap\"\u003e\n\u003cdiv class=\"ll-head\"\u003e\n\u003cdiv class=\"eyebrow\"\u003eThe glossy triangle bralette\u003c\/div\u003e\n\u003ch2\u003eNo padding. No wires. \u003cem\u003eNo contest.\u003c\/em\u003e\n\u003c\/h2\u003e\n\u003cp\u003eA silky, softly glossy triangle bralette with a deep-V neckline and unlined cups — the bra you put on at 7 a.m. and only remember at bedtime. Five shades, sized S–XL.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ll-feats\"\u003e\n\u003cdiv class=\"ll-feat\"\u003e\n\u003cdiv class=\"ph\"\u003e\u003cimg loading=\"lazy\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0846\/4026\/8502\/files\/O1CN01NFT3hlCdDCB1chua__934995383-0-cib.jpg?v=1793614587\u0026amp;width=900\" alt=\"White glossy triangle bralette showing the deep-V neckline and unlined cups\" width=\"800\" height=\"800\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"tx\"\u003e\n\u003cdiv class=\"num\"\u003e01 — The Neckline\u003c\/div\u003e\n\u003ch3\u003eA Deep-V That Was Made to Peek\u003c\/h3\u003e\n\u003cp\u003eThe plunging triangle cut sits low and flat, so it disappears under V-neck tops and open buttons — or shows exactly the sliver you want. No seams across the cup, nothing to show through a tee.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ll-feat\"\u003e\n\u003cdiv class=\"ph\"\u003e\u003cimg loading=\"lazy\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0846\/4026\/8502\/files\/O1CN01j3nt5AcE7XH1chua__934995383-0-cib.jpg?v=1793614587\u0026amp;width=900\" alt=\"Close-up of the unlined triangle cup: no underwire, no padding, soft glossy fabric\" width=\"800\" height=\"800\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"tx\"\u003e\n\u003cdiv class=\"num\"\u003e02 — The Feel\u003c\/div\u003e\n\u003ch3\u003eUnlined, and Proud of It\u003c\/h3\u003e\n\u003cp\u003eNo padding, no underwire, no boning — just a soft nylon-spandex knit (80\/20) with a subtle sheen that skims instead of squeezing. Lightweight enough to sleep in, polished enough to answer the door in.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ll-feat\"\u003e\n\u003cdiv class=\"ph\"\u003e\u003cimg loading=\"lazy\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0846\/4026\/8502\/files\/O1CN01h9HcPx7HhJK1RFfO__934995383-0-cib.jpg?v=1793614588\u0026amp;width=900\" alt=\"Nude glossy triangle bralette worn by a model, showing the second-skin fit\" width=\"800\" height=\"800\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"tx\"\u003e\n\u003cdiv class=\"num\"\u003e03 — The Fit\u003c\/div\u003e\n\u003ch3\u003ePulls On. Fits Like Skin.\u003c\/h3\u003e\n\u003cp\u003eSlips on over your head like a swim top — no hooks, no clasps, nothing to fiddle with. The four-way-stretch knit hugs your ribcage and the smooth U-back band sits flush, so it stays put from morning to bedtime.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- ══════════════ COLOR WALL ══════════════ --\u003e\n\u003csection id=\"ll-colors\"\u003e\n\u003cdiv class=\"wrap\"\u003e\n\u003cdiv class=\"ll-head\"\u003e\n\u003cdiv class=\"eyebrow\"\u003ePick your color\u003c\/div\u003e\n\u003ch2\u003eTap a color to select it\u003c\/h2\u003e\n\u003cp\u003eFive everyday shades from black to blush. Tap any card — your pick syncs with the quick-buy bar at the bottom of your screen, so the link you land on is already the right color.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ll-var-grid\" data-ll-wall=\"\"\u003e\n\u003cdiv class=\"ll-var-card is-active\" data-option=\"Black\" data-name=\"Black\" data-img=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0846\/4026\/8502\/files\/O1CN011F7UjrWxn0I2jwic__934995383-0-cib.jpg?v=1793614588\u0026amp;width=520\" role=\"button\" aria-label=\"Select Black\" tabindex=\"0\"\u003e\n\u003cdiv class=\"ph\"\u003e\u003cimg loading=\"lazy\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0846\/4026\/8502\/files\/O1CN011F7UjrWxn0I2jwic__934995383-0-cib.jpg?v=1793614588\u0026amp;width=520\" alt=\"Black glossy triangle bralette\" width=\"520\" height=\"520\"\u003e\u003c\/div\u003e\n\u003cspan class=\"lb\"\u003e\u003cspan class=\"ll-sw\" style=\"background: #1a181a;\"\u003e\u003c\/span\u003eBlack\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ll-var-card\" data-option=\"White\" data-name=\"White\" data-img=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0846\/4026\/8502\/files\/O1CN01DHNeCVQWvpI2jwic__934995383-0-cib.jpg?v=1793614587\u0026amp;width=520\" role=\"button\" aria-label=\"Select White\" tabindex=\"0\"\u003e\n\u003cdiv class=\"ph\"\u003e\u003cimg loading=\"lazy\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0846\/4026\/8502\/files\/O1CN01DHNeCVQWvpI2jwic__934995383-0-cib.jpg?v=1793614587\u0026amp;width=520\" alt=\"White glossy triangle bralette\" width=\"520\" height=\"520\"\u003e\u003c\/div\u003e\n\u003cspan class=\"lb\"\u003e\u003cspan class=\"ll-sw\" style=\"background: #f6f4f1;\"\u003e\u003c\/span\u003eWhite\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ll-var-card\" data-option=\"Khaki\" data-name=\"Khaki\" data-img=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0846\/4026\/8502\/files\/O1CN01wK3PueVDmKD2jwic__934995383-0-cib.jpg?v=1793614588\u0026amp;width=520\" role=\"button\" aria-label=\"Select Khaki\" tabindex=\"0\"\u003e\n\u003cdiv class=\"ph\"\u003e\u003cimg loading=\"lazy\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0846\/4026\/8502\/files\/O1CN01wK3PueVDmKD2jwic__934995383-0-cib.jpg?v=1793614588\u0026amp;width=520\" alt=\"Khaki glossy triangle bralette\" width=\"520\" height=\"520\"\u003e\u003c\/div\u003e\n\u003cspan class=\"lb\"\u003e\u003cspan class=\"ll-sw\" style=\"background: #d9b98f;\"\u003e\u003c\/span\u003eKhaki\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ll-var-card\" data-option=\"Mocha\" data-name=\"Mocha\" data-img=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0846\/4026\/8502\/files\/O1CN01NRtuDtVDVgK2jwic__934995383-0-cib.jpg?v=1793614587\u0026amp;width=520\" role=\"button\" aria-label=\"Select Mocha\" tabindex=\"0\"\u003e\n\u003cdiv class=\"ph\"\u003e\u003cimg loading=\"lazy\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0846\/4026\/8502\/files\/O1CN01NRtuDtVDVgK2jwic__934995383-0-cib.jpg?v=1793614587\u0026amp;width=520\" alt=\"Mocha glossy triangle bralette\" width=\"520\" height=\"520\"\u003e\u003c\/div\u003e\n\u003cspan class=\"lb\"\u003e\u003cspan class=\"ll-sw\" style=\"background: #6d4530;\"\u003e\u003c\/span\u003eMocha\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ll-var-card\" data-option=\"Blush\" data-name=\"Blush Pink\" data-img=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0846\/4026\/8502\/files\/O1CN01GGHpp84EfjE2jwic__934995383-0-cib.jpg?v=1793614588\u0026amp;width=520\" role=\"button\" aria-label=\"Select Blush Pink\" tabindex=\"0\"\u003e\n\u003cdiv class=\"ph\"\u003e\u003cimg loading=\"lazy\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0846\/4026\/8502\/files\/O1CN01GGHpp84EfjE2jwic__934995383-0-cib.jpg?v=1793614588\u0026amp;width=520\" alt=\"Blush pink glossy triangle bralette\" width=\"520\" height=\"520\"\u003e\u003c\/div\u003e\n\u003cspan class=\"lb\"\u003e\u003cspan class=\"ll-sw\" style=\"background: #f0c3c9;\"\u003e\u003c\/span\u003eBlush Pink\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"ll-pick-hint\"\u003eSelected color: \u003cb data-ll-color-label=\"\"\u003eBlack\u003c\/b\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- ══════════════ WEAR TRIO ══════════════ --\u003e\n\u003csection id=\"ll-style\"\u003e\n\u003cdiv class=\"wrap\"\u003e\n\u003cdiv class=\"ll-head\"\u003e\n\u003cdiv class=\"eyebrow\"\u003eOne bralette, every part of your day\u003c\/div\u003e\n\u003ch2\u003eFrom first light to last light.\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ll-steps\"\u003e\n\u003cdiv class=\"ll-step\"\u003e\n\u003cspan class=\"n\"\u003e01 — The 7 a.m. start\u003c\/span\u003e\n\u003ch3\u003eOn in one motion\u003c\/h3\u003e\n\u003cp\u003eNo clasps to line up, nothing to adjust — pull it on like a top and go. The softest possible start to a morning.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ll-step\"\u003e\n\u003cspan class=\"n\"\u003e02 — Under everything\u003c\/span\u003e\n\u003ch3\u003eVanishes under knits\u003c\/h3\u003e\n\u003cp\u003eThe deep-V lies flat and the smooth band rides invisible under tees, sweaters and low necklines. Gloss where you want it, gone where you don't.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ll-step\"\u003e\n\u003cspan class=\"n\"\u003e03 — The wind-down\u003c\/span\u003e\n\u003ch3\u003eThe bra you sleep in\u003c\/h3\u003e\n\u003cp\u003eNo wires to unhook at 9 p.m., no padding to peel off — most women forget it's on until bedtime, and plenty just keep it on. That's the whole point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- ══════════════ SIZE ══════════════ --\u003e\n\u003csection id=\"ll-fit\"\u003e\n\u003cdiv class=\"wrap\"\u003e\n\u003cdiv class=\"ll-head\"\u003e\n\u003cdiv class=\"eyebrow\"\u003eGet the fit right\u003c\/div\u003e\n\u003ch2\u003eYour size, in ten seconds.\u003c\/h2\u003e\n\u003cp\u003eAvailable in S through XL, designed for A–C cups. The nylon-spandex knit stretches to fit, so it runs forgiving — when in doubt, size up.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ll-fsteps\"\u003e\n\u003cdiv class=\"ll-fstep\"\u003e\n\u003cspan class=\"n\"\u003e1\u003c\/span\u003e\n\u003ch3\u003eKnow your usual\u003c\/h3\u003e\n\u003cp\u003eThis bralette uses your standard bra size band, from S through XL, in a stretchy pull-on cut.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ll-fstep\"\u003e\n\u003cspan class=\"n\"\u003e2\u003c\/span\u003e\n\u003ch3\u003eStretch is built in\u003c\/h3\u003e\n\u003cp\u003eThe 80\/20 nylon-spandex knit flexes with you — the fit is forgiving by design, not by accident.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ll-fstep\"\u003e\n\u003cspan class=\"n\"\u003e3\u003c\/span\u003e\n\u003ch3\u003eBetween sizes? Size up\u003c\/h3\u003e\n\u003cp\u003eFor a relaxed lounge fit or a fuller bust, go one size up — the unlined cups don't lose shape.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ll-size-box\"\u003e\n\u003ch3\u003eSize guide\u003c\/h3\u003e\n\u003cp\u003eA pull-on bralette with no hooks — pick the size you normally wear in stretch bralettes.\u003c\/p\u003e\n\u003cul class=\"ll-sizes\" data-ll-sizes=\"\" style=\"margin-top: 22px;\"\u003e\n\u003cli class=\"ll-size is-active\" data-option=\"S\"\u003eS\u003c\/li\u003e\n\u003cli class=\"ll-size\" data-option=\"M\"\u003eM\u003c\/li\u003e\n\u003cli class=\"ll-size\" data-option=\"L\"\u003eL\u003c\/li\u003e\n\u003cli class=\"ll-size\" data-option=\"XL\"\u003eXL\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp class=\"ll-size-note\"\u003eTap your size to sync the quick-buy bar below. Not perfect? Exchange free within 30 days.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- ══════════════ PROMISE ══════════════ --\u003e\n\u003csection class=\"ll-promise\"\u003e\n\u003cdiv class=\"wrap\"\u003e\n\u003cdiv class=\"mark\"\u003e\"First light to last light — \u003cspan\u003esoftness with nothing in the way.\u003c\/span\u003e\"\u003c\/div\u003e\n\u003cp\u003eAt LarkLune, comfort and confidence come in the same package. If this bralette doesn't make you feel amazing, we'll make it right.\u003c\/p\u003e\n\u003cdiv class=\"row\"\u003e\n\u003cdiv\u003eComfort Meets Control\u003c\/div\u003e\n\u003cdiv\u003eSupport Meets Softness\u003c\/div\u003e\n\u003cdiv\u003e30-Day Fit Guarantee\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- ══════════════ FAQ ══════════════ --\u003e\n\u003csection id=\"ll-faq\"\u003e\n\u003cdiv class=\"wrap\"\u003e\n\u003cdiv class=\"ll-head\"\u003e\n\u003cdiv class=\"eyebrow\"\u003eGood to know\u003c\/div\u003e\n\u003ch2\u003eFrequently asked questions\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ll-faq\"\u003e\n\u003cdiv class=\"ll-qa\"\u003e\n\u003cbutton type=\"button\"\u003eThere's no padding — is it see-through? \u003cspan class=\"plus\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cdiv class=\"ans\"\u003e\n\u003cp\u003eThe glossy knit is fully opaque in all five colors — unlined means no foam cup, not see-through. If you prefer extra coverage under very thin tops, a pair of nipple covers pairs perfectly with the deep-V cut.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ll-qa\"\u003e\n\u003cbutton type=\"button\"\u003eHow does it go on if there are no hooks? \u003cspan class=\"plus\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cdiv class=\"ans\"\u003e\n\u003cp\u003eIt pulls on over your head like a swim top — the four-way stretch band opens enough to slip on and then hugs snugly at the ribcage. Once it's on, the elastic U-back keeps everything in place without a single clasp.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ll-qa\"\u003e\n\u003cbutton type=\"button\"\u003eWill a bralette with no wire actually look good? \u003cspan class=\"plus\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cdiv class=\"ans\"\u003e\n\u003cp\u003eYes — the deep-V triangle cut gathers from the sides and the underband anchors from below, so you get a naturally rounded, lifted line rather than the compressed look of a sports bra. It's designed for A–C cups, where this construction shines.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ll-qa\"\u003e\n\u003cbutton type=\"button\"\u003eWhat's the fabric like? \u003cspan class=\"plus\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cdiv class=\"ans\"\u003e\n\u003cp\u003e80% nylon, 20% spandex with a subtle satin sheen — smooth, cool to the touch, and quick-drying. It holds its stretch through repeated wear and washing.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ll-qa\"\u003e\n\u003cbutton type=\"button\"\u003eHow do I wash it? \u003cspan class=\"plus\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cdiv class=\"ans\"\u003e\n\u003cp\u003eMachine wash cold in a lingerie bag or hand wash, then air dry. Skip the dryer to keep the sheen and the snap of the elastic band.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ll-qa\"\u003e\n\u003cbutton type=\"button\"\u003eWhat if the size doesn't fit me? \u003cspan class=\"plus\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cdiv class=\"ans\"\u003e\n\u003cp\u003eYou're covered by our 30-day fit guarantee. If the fit isn't right, contact support@larklune.com and we'll arrange an exchange or refund.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- ══════════════ TRUST WALL ══════════════ --\u003e\n\u003csection id=\"ll-trustwall\"\u003e\n\u003cdiv class=\"wrap\"\u003e\n\u003cdiv class=\"ll-head\"\u003e\n\u003cdiv class=\"eyebrow\"\u003eShop with confidence\u003c\/div\u003e\n\u003ch2\u003eWhy women order from LarkLune twice.\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ll-twall\"\u003e\n\u003cdiv class=\"ll-tcard\"\u003e\n\u003cspan class=\"ic\"\u003e\u003csvg width=\"20\" height=\"20\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"#8f6136\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M1 3h15v13H1z\"\u003e\u003c\/path\u003e\u003cpath d=\"M16 8h4l3 3v5h-7z\"\u003e\u003c\/path\u003e\u003ccircle cx=\"5.5\" cy=\"18.5\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"18.5\" cy=\"18.5\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/span\u003e\n\u003ch3\u003eFast US Shipping\u003c\/h3\u003e\n\u003cp\u003eDispatched quickly from our US fulfillment partners — free on orders $79.99+.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ll-tcard\"\u003e\n\u003cspan class=\"ic\"\u003e\u003csvg width=\"20\" height=\"20\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"#8f6136\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpolyline points=\"23 4 23 10 17 10\"\u003e\u003c\/polyline\u003e\u003cpath d=\"M20.49 15a9 9 0 1 1-2.12-9.36L23 10\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n\u003ch3\u003e30-Day Fit Guarantee\u003c\/h3\u003e\n\u003cp\u003eWrong size or just not for you? Exchange or refund within 30 days, no drama.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ll-tcard\"\u003e\n\u003cspan class=\"ic\"\u003e\u003csvg width=\"20\" height=\"20\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"#8f6136\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M22 11.08V12a10 10 0 1 1-5.93-9.14\"\u003e\u003c\/path\u003e\u003cpolyline points=\"22 4 12 14.01 9 11.01\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e\u003c\/span\u003e\n\u003ch3\u003eEasy Exchanges\u003c\/h3\u003e\n\u003cp\u003eOne email to support@larklune.com and we handle the rest — humans, not bots.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ll-tcard\"\u003e\n\u003cspan class=\"ic\"\u003e\u003csvg width=\"20\" height=\"20\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"#8f6136\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003crect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M7 11V7a5 5 0 0 1 10 0v4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n\u003ch3\u003eSecure Checkout\u003c\/h3\u003e\n\u003cp\u003eShop Pay, PayPal and all major cards — encrypted end to end.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ll-tcard\"\u003e\n\u003cspan class=\"ic\"\u003e\u003csvg width=\"20\" height=\"20\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"#8f6136\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z\"\u003e\u003c\/path\u003e\u003cpolyline points=\"3.27 6.96 12 12.01 20.73 6.96\"\u003e\u003c\/polyline\u003e\u003cline x1=\"12\" y1=\"22.08\" x2=\"12\" y2=\"12\"\u003e\u003c\/line\u003e\u003c\/svg\u003e\u003c\/span\u003e\n\u003ch3\u003eDiscreet Packaging\u003c\/h3\u003e\n\u003cp\u003ePlain, unmarked packaging on every order. What's inside is your business.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ll-tcard\"\u003e\n\u003cspan class=\"ic\"\u003e\u003csvg width=\"20\" height=\"20\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"#8f6136\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n\u003ch3\u003eMade for Real Bodies\u003c\/h3\u003e\n\u003cp\u003eSized and tested on XS–5XL fits across our range — comfort first, always.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- ══════════════ FINAL CTA ══════════════ --\u003e\n\u003csection class=\"ll-final\"\u003e\n\u003cdiv class=\"wrap\"\u003e\n\u003ch2\u003eBuy one. Get one free.\u003c\/h2\u003e\n\u003cp\u003eThis bralette is \u003cstrong\u003e$29.99\u003c\/strong\u003e — and your second one is free during Black Friday. Or mix any 3 Black Friday styles for \u003cstrong\u003e$79.99\u003c\/strong\u003e.\u003c\/p\u003e\n\u003ca class=\"ll-cta\" data-ll-link=\"final\" href=\"\/products\/unlined-triangle-bralette\"\u003eShop Now — $29.99 · Buy 1 Get 1 FREE\u003c\/a\u003e\n\u003cp class=\"ll-cta-note\"\u003eBlack Friday offers apply at checkout · Free US shipping on orders $79.99+ · 30-day fit guarantee\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- ══════════════ STICKY BUY BAR ══════════════ --\u003e\n\u003cdiv class=\"ll-sticky\" data-ll-sticky=\"\"\u003e\n\u003cdiv class=\"ll-sticky-in\"\u003e\n\u003cdiv class=\"info\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0846\/4026\/8502\/files\/O1CN011F7UjrWxn0I2jwic__934995383-0-cib.jpg?v=1793614588\u0026amp;width=120\" alt=\"\" width=\"52\" height=\"52\"\u003e\n\u003cdiv\u003e\n\u003cb\u003eGlossy Triangle Bralette\u003c\/b\u003e\u003csmall\u003e\u003cspan data-ll-color-label=\"\"\u003eBlack\u003c\/span\u003e · \u003cspan data-ll-size-label=\"\"\u003eS\u003c\/span\u003e\u003c\/small\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cspan class=\"sp\" data-ll-price=\"\"\u003e$29.99\u003c\/span\u003e \u003ca class=\"ll-cta\" data-ll-link=\"sticky\" href=\"\/products\/unlined-triangle-bralette\"\u003eShop Now\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003cscript type=\"application\/ld+json\"\u003e\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[\n{\"@type\":\"Question\",\"name\":\"There's no padding — is it see-through?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"The glossy knit is fully opaque in all five colors — unlined means no foam cup, not see-through. If you prefer extra coverage under very thin tops, a pair of nipple covers pairs perfectly with the deep-V cut.\"}},\n{\"@type\":\"Question\",\"name\":\"How does it go on if there are no hooks?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"It pulls on over your head like a swim top — the four-way stretch band opens enough to slip on and then hugs snugly at the ribcage. Once it's on, the elastic U-back keeps everything in place without a single clasp.\"}},\n{\"@type\":\"Question\",\"name\":\"Will a bralette with no wire actually look good?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes — the deep-V triangle cut gathers from the sides and the underband anchors from below, so you get a naturally rounded, lifted line rather than the compressed look of a sports bra. It's designed for A–C cups, where this construction shines.\"}},\n{\"@type\":\"Question\",\"name\":\"What's the fabric like?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"80% nylon, 20% spandex with a subtle satin sheen — smooth, cool to the touch, and quick-drying. It holds its stretch through repeated wear and washing.\"}},\n{\"@type\":\"Question\",\"name\":\"How do I wash it?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Machine wash cold in a lingerie bag or hand wash, then air dry. Skip the dryer to keep the sheen and the snap of the elastic band.\"}},\n{\"@type\":\"Question\",\"name\":\"What if the size doesn't fit me?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"You're covered by our 30-day fit guarantee. If the fit isn't right, contact support@larklune.com and we'll arrange an exchange or refund.\"}}]}\n\u003c\/script\u003e \u003cscript\u003e\n(function(){\n  var root = document.getElementById('ll-tb-root');\n  if(!root) return;\n\n  var CURRENCY = \"USD\";\n  var FALLBACK_PRICE_CENTS = 2999;\n  \/* read the handle from the page URL so renaming the product never breaks the buy links *\/\n  var _hm = location.pathname.match(\/^\\\/products\\\/([^\\\/?#]+)\/);\n  var BASE_URL = _hm ? '\/products\/' + _hm[1] : \"\/products\/unlined-triangle-bralette\";\n  var fmt = new Intl.NumberFormat('en-US',{style:'currency',currency:CURRENCY});\n\n  \/* live Shopify variant IDs (product: unlined-triangle-bralette, synced Nov 2026).\n     option1 uses this module's display names; the live product uses\n     Coffee-brown (Mocha), Pink (Blush) and Xl (XL) — mapping is baked into the IDs below. *\/\n  var VARIANTS = [{\"id\":67851782193366,\"option1\":\"Black\",\"option2\":\"S\",\"available\":true,\"price\":2999},{\"id\":67851782488278,\"option1\":\"Black\",\"option2\":\"M\",\"available\":true,\"price\":2999},{\"id\":67851782095062,\"option1\":\"Black\",\"option2\":\"L\",\"available\":true,\"price\":2999},{\"id\":67851782127830,\"option1\":\"Black\",\"option2\":\"XL\",\"available\":true,\"price\":2999},{\"id\":67851781996758,\"option1\":\"White\",\"option2\":\"S\",\"available\":true,\"price\":2999},{\"id\":67851782324438,\"option1\":\"White\",\"option2\":\"M\",\"available\":true,\"price\":2999},{\"id\":67851782160598,\"option1\":\"White\",\"option2\":\"L\",\"available\":true,\"price\":2999},{\"id\":67851782521046,\"option1\":\"White\",\"option2\":\"XL\",\"available\":true,\"price\":2999},{\"id\":67851782619350,\"option1\":\"Khaki\",\"option2\":\"S\",\"available\":true,\"price\":2999},{\"id\":67851782422742,\"option1\":\"Khaki\",\"option2\":\"M\",\"available\":true,\"price\":2999},{\"id\":67851782029526,\"option1\":\"Khaki\",\"option2\":\"L\",\"available\":true,\"price\":2999},{\"id\":67851782455510,\"option1\":\"Khaki\",\"option2\":\"XL\",\"available\":true,\"price\":2999},{\"id\":67851782291670,\"option1\":\"Mocha\",\"option2\":\"S\",\"available\":true,\"price\":2999},{\"id\":67851782357206,\"option1\":\"Mocha\",\"option2\":\"M\",\"available\":true,\"price\":2999},{\"id\":67851782062294,\"option1\":\"Mocha\",\"option2\":\"L\",\"available\":true,\"price\":2999},{\"id\":67851782586582,\"option1\":\"Mocha\",\"option2\":\"XL\",\"available\":true,\"price\":2999},{\"id\":67851782258902,\"option1\":\"Blush\",\"option2\":\"S\",\"available\":true,\"price\":2999},{\"id\":67851782226134,\"option1\":\"Blush\",\"option2\":\"M\",\"available\":true,\"price\":2999},{\"id\":67851782553814,\"option1\":\"Blush\",\"option2\":\"L\",\"available\":true,\"price\":2999},{\"id\":67851782389974,\"option1\":\"Blush\",\"option2\":\"XL\",\"available\":true,\"price\":2999}];\n\n  var state = { color:'Black', size:'S' };\n  var links = root.querySelectorAll('[data-ll-link]');\n  var colorEls = root.querySelectorAll('.ll-color[data-option], .ll-var-card[data-option]');\n  var sizes = root.querySelectorAll('[data-ll-sizes] .ll-size');\n\n  function currentVariant(){\n    for(var i=0;i\u003cVARIANTS.length;i++){\n      var v = VARIANTS[i];\n      if(v.option1 === state.color \u0026\u0026 (v.option2 === state.size || !v.option2)) return v;\n    }\n    return null;\n  }\n\n  function displayName(opt){\n    var el = null;\n    for(var i=0;i\u003ccolorEls.length;i++){ if(colorEls[i].getAttribute('data-option') === opt){ el = colorEls[i]; break; } }\n    return (el \u0026\u0026 el.getAttribute('data-name')) || opt;\n  }\n\n  function paint(){\n    var v = currentVariant();\n    var soldOut = !v || v.available === false;\n    var price = v ? fmt.format(v.price\/100) : fmt.format(FALLBACK_PRICE_CENTS\/100);\n    var url = BASE_URL + (v \u0026\u0026 v.id ? '?variant=' + v.id : '');\n    var colorName = displayName(state.color);\n\n    root.querySelectorAll('[data-ll-price]').forEach(function(el){ el.textContent = price; });\n    root.querySelectorAll('[data-ll-color-label]').forEach(function(el){ el.textContent = colorName; });\n    root.querySelectorAll('[data-ll-size-label]').forEach(function(el){ el.textContent = state.size; });\n\n    links.forEach(function(a){\n      a.href = url;\n      var kind = a.getAttribute('data-ll-link');\n      if(kind === 'buy'){ a.textContent = (soldOut ? 'View Product' : 'Shop Now') + ' — ' + price; }\n      else if(kind === 'final'){ a.textContent = 'Shop Now — ' + price + ' · Buy 1 Get 1 FREE'; }\n      else { a.textContent = soldOut ? 'View Product' : 'Shop Now'; }\n    });\n\n    sizes.forEach(function(el){\n      var sv = null;\n      for(var i=0;i\u003cVARIANTS.length;i++){\n        if(VARIANTS[i].option1 === state.color \u0026\u0026 VARIANTS[i].option2 === el.getAttribute('data-option')){ sv = VARIANTS[i]; break; }\n      }\n      el.classList.toggle('is-sold', !!(sv \u0026\u0026 sv.available === false));\n    });\n  }\n\n  function setActiveColor(opt){\n    colorEls.forEach(function(el){ el.classList.toggle('is-active', el.getAttribute('data-option') === opt); });\n  }\n\n  \/* ── sticky-bar thumbnail follows the selected color ── *\/\n  var stickyThumb = root.querySelector('[data-ll-sticky] .info img');\n\n  function syncThumb(){\n    if(!stickyThumb) return;\n    var el = null;\n    for(var i=0;i\u003ccolorEls.length;i++){ if(colorEls[i].getAttribute('data-option') === state.color){ el = colorEls[i]; break; } }\n    if(!el) return;\n    var url = el.getAttribute('data-img');\n    var cname = el.getAttribute('data-name') || state.color;\n    if(!url) return;\n    stickyThumb.src = url;\n    stickyThumb.alt = 'LarkLune Glossy Triangle Bralette in ' + cname;\n  }\n\n  colorEls.forEach(function(el){\n    var pick = function(){\n      var opt = el.getAttribute('data-option');\n      setActiveColor(opt);\n      state.color = opt;\n      paint();\n      syncThumb();\n    };\n    el.addEventListener('click', pick);\n    el.addEventListener('keydown', function(e){\n      if(e.key === 'Enter' || e.key === ' '){ e.preventDefault(); pick(); }\n    });\n  });\n\n  sizes.forEach(function(el){\n    el.addEventListener('click', function(){\n      if(el.classList.contains('is-sold')) return;\n      sizes.forEach(function(s){ s.classList.toggle('is-active', s === el); });\n      state.size = el.getAttribute('data-option');\n      paint();\n    });\n  });\n\n  root.querySelectorAll('.ll-qa button').forEach(function(b){\n    b.addEventListener('click', function(){\n      var qa = b.parentElement, ans = qa.querySelector('.ans');\n      var isOpen = qa.classList.contains('open');\n      root.querySelectorAll('.ll-qa.open').forEach(function(o){\n        o.classList.remove('open'); o.querySelector('.ans').style.maxHeight = null;\n      });\n      if(!isOpen){ qa.classList.add('open'); ans.style.maxHeight = ans.scrollHeight + 'px'; }\n    });\n  });\n\n  var bar = root.querySelector('[data-ll-sticky]');\n  if(bar){\n    \/* theme-agnostic: some themes scroll .page-wrapper instead of window,\n       so listen in the capture phase and read scrollTop from the event target *\/\n    var onScroll = function(e){\n      var t = e \u0026\u0026 e.target;\n      var y = (t \u0026\u0026 t.scrollTop) || window.scrollY || document.documentElement.scrollTop || 0;\n      if(t === document || t === window || !t) y = window.scrollY || document.documentElement.scrollTop || 0;\n      bar.classList.toggle('is-show', y \u003e 600);\n    };\n    window.addEventListener('scroll', onScroll, true);\n    document.addEventListener('scroll', onScroll, true);\n    onScroll();\n  }\n\n  paint();\n})();\n\u003c\/script\u003e\u003c\/p\u003e","brand":"larklune","offers":[{"title":"White \/ S","offer_id":67851781996758,"sku":"White-S (european size)--6129124433907","price":19.99,"currency_code":"USD","in_stock":true},{"title":"White \/ M","offer_id":67851782324438,"sku":"White-M (european size)--6129124433908","price":19.99,"currency_code":"USD","in_stock":true},{"title":"White \/ L","offer_id":67851782160598,"sku":"White-L (european size)--6129124433909","price":19.99,"currency_code":"USD","in_stock":true},{"title":"White \/ Xl","offer_id":67851782521046,"sku":"White-Xl (european size)--6129124433910","price":19.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ S","offer_id":67851782619350,"sku":"Khaki-S (european size)--6129124433911","price":19.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ M","offer_id":67851782422742,"sku":"Khaki-M (european size)--6129124433912","price":19.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ L","offer_id":67851782029526,"sku":"Khaki-L (european size)--6129124433913","price":19.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ Xl","offer_id":67851782455510,"sku":"Khaki-Xl (european size)--6129124433914","price":19.99,"currency_code":"USD","in_stock":true},{"title":"Coffee-brown \/ S","offer_id":67851782291670,"sku":"Coffee-brown-S (european size)--6308227515518","price":19.99,"currency_code":"USD","in_stock":true},{"title":"Coffee-brown \/ M","offer_id":67851782357206,"sku":"Coffee-brown-M (european size)--6308227515520","price":19.99,"currency_code":"USD","in_stock":true},{"title":"Coffee-brown \/ L","offer_id":67851782062294,"sku":"Coffee-brown-L (european size)--6308227515522","price":19.99,"currency_code":"USD","in_stock":true},{"title":"Coffee-brown \/ Xl","offer_id":67851782586582,"sku":"Coffee-brown-Xl (european size)--6308227515524","price":19.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ S","offer_id":67851782193366,"sku":"Black-S (european size)--6129124433903","price":19.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":67851782488278,"sku":"Black-M (european size)--6129124433904","price":19.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":67851782095062,"sku":"Black-L (european size)--6129124433905","price":19.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ Xl","offer_id":67851782127830,"sku":"Black-Xl (european size)--6129124433906","price":19.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ S","offer_id":67851782258902,"sku":"Pink-S (european size)--6308227515517","price":19.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ M","offer_id":67851782226134,"sku":"Pink-M (european size)--6308227515519","price":19.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ L","offer_id":67851782553814,"sku":"Pink-L (european size)--6308227515521","price":19.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ Xl","offer_id":67851782389974,"sku":"Pink-Xl (european size)--6308227515523","price":19.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0846\/4026\/8502\/files\/O1CN01h9HcPx7HhJK1RFfO__934995383-0-cib.jpg?v=1793614588","url":"https:\/\/larklune.com\/products\/unlined-triangle-bralette","provider":"larklune","version":"1.0","type":"link"}