{ "returncode" : 0, "stdout" : "\n\n\n\n\nCase Shield — Armor for the Elevated Traveler<\/title>\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,700;1,400;1,500&family=Syne:wght@300;400;500;600&display=swap\">\n\n<style>\n*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}\n\n:root{\n --ink:#0A1410;\n --cream:#F5F0E8;\n --warm:#EDE5D8;\n --gold:#A07830;\n --gold-lt:#C8A050;\n --mist:#7A7570;\n --white:#FDFCFA;\n --serif:'Playfair Display',Georgia,serif;\n --sans:'Syne',system-ui,sans-serif;\n}\n\nhtml{scroll-behavior:smooth;}\nbody{background:var(--white);color:var(--ink);font-family:var(--sans);font-weight:300;overflow-x:hidden;}\n\n\/* grain overlay removed *\/\n\n\/* ── ANNOUNCEMENT BAR ── *\/\n.announce{\n background:var(--ink);\n text-align:center;padding:0.6rem 1rem;\n font-family:var(--sans);font-size:0.7rem;font-weight:500;\n letter-spacing:0.2em;text-transform:uppercase;color:var(--gold-lt);\n}\n\n\/* ── NAV ── *\/\nnav{\n position:sticky;top:0;z-index:100;\n display:flex;align-items:center;justify-content:space-between;\n padding:1.2rem 4rem;\n background:rgba(253,252,250,0.95);\n backdrop-filter:blur(16px);\n border-bottom:1px solid rgba(160,120,48,0.12);\n}\n.nav-wordmark{\n font-family:var(--serif);font-size:1.4rem;font-weight:700;\n letter-spacing:0.08em;color:var(--ink);text-decoration:none;\n text-transform:uppercase;\n}\n.nav-wordmark em{font-style:normal;color:var(--gold);}\n.nav-links{display:flex;gap:2.5rem;list-style:none;}\n.nav-links a{\n font-family:var(--sans);font-size:0.72rem;font-weight:500;\n letter-spacing:0.16em;text-transform:uppercase;\n color:var(--ink);text-decoration:none;opacity:0.55;\n transition:opacity 0.2s;\n}\n.nav-links a:hover{opacity:1;}\n.nav-cta{\n font-family:var(--sans);font-size:0.72rem;font-weight:600;\n letter-spacing:0.16em;text-transform:uppercase;\n background:var(--ink);color:var(--white);\n border:none;padding:0.7rem 1.6rem;cursor:pointer;\n transition:background 0.25s,transform 0.15s;\n}\n.nav-cta:hover{background:var(--gold);transform:translateY(-1px);}\n\n\/* ── HERO ── *\/\n.hero{\n min-height:95vh;\n display:grid;grid-template-columns:1fr 1fr;\n background:var(--cream);\n position:relative;overflow:hidden;\n}\n.hero::after{\n content:'';\n position:absolute;inset:0;\n background:radial-gradient(ellipse at 65% 40%, rgba(160,120,48,0.08) 0%, transparent 55%);\n pointer-events:none;\n}\n\n\/* large serif watermark *\/\n.hero-watermark{\n position:absolute;right:-2rem;bottom:-3rem;\n font-family:var(--serif);font-size:22vw;font-weight:700;\n color:rgba(10,20,16,0.04);line-height:1;\n pointer-events:none;user-select:none;letter-spacing:-0.04em;\n white-space:nowrap;\n}\n\n.hero-left{\n display:flex;flex-direction:column;justify-content:center;\n padding:5rem 3rem 5rem 6rem;\n position:relative;z-index:2;\n animation:fadeUp 1s ease both;\n}\n.hero-tag{\n display:inline-flex;align-items:center;gap:0.75rem;\n font-family:var(--sans);font-size:0.68rem;font-weight:600;\n letter-spacing:0.28em;text-transform:uppercase;color:var(--gold);\n margin-bottom:2rem;\n}\n.hero-tag::before{content:'';width:2.5rem;height:1px;background:var(--gold);}\n\n.hero-h1{\n font-family:var(--serif);\n font-size:clamp(2.8rem,4.5vw,5.2rem);\n font-weight:400;line-height:1.08;\n color:var(--ink);margin-bottom:1.75rem;\n letter-spacing:-0.01em;\n}\n.hero-h1 em{font-style:italic;color:var(--gold);}\n.hero-h1 strong{font-weight:700;}\n\n.hero-sub{\n font-family:var(--sans);font-size:0.95rem;font-weight:300;\n line-height:1.8;color:var(--mist);max-width:400px;\n margin-bottom:2.5rem;\n}\n.hero-sub strong{color:var(--ink);font-weight:500;}\n\n.waitlist-form{display:flex;gap:0;margin-bottom:1.5rem;max-width:420px;}\n.waitlist-input{\n flex:1;padding:0.9rem 1.2rem;\n font-family:var(--sans);font-size:0.85rem;\n border:1px solid rgba(10,20,16,0.2);border-right:none;\n background:var(--white);color:var(--ink);\n outline:none;\n transition:border-color 0.2s;\n}\n.waitlist-input:focus{border-color:var(--gold);}\n.waitlist-input::placeholder{color:var(--mist);opacity:0.7;}\n.waitlist-btn{\n font-family:var(--sans);font-size:0.75rem;font-weight:600;\n letter-spacing:0.14em;text-transform:uppercase;\n background:var(--ink);color:var(--white);\n border:1px solid var(--ink);padding:0.9rem 1.6rem;\n cursor:pointer;white-space:nowrap;\n transition:background 0.25s,transform 0.15s;\n}\n.waitlist-btn:hover{background:var(--gold);border-color:var(--gold);transform:translateY(-1px);}\n.hero-micro{\n font-family:var(--sans);font-size:0.72rem;font-weight:400;\n color:var(--mist);letter-spacing:0.04em;\n}\n.hero-micro strong{color:var(--gold);}\n\n.hero-right{\n display:flex;align-items:center;justify-content:center;\n padding:4rem 4rem 4rem 2rem;\n position:relative;z-index:2;\n animation:fadeIn 1.3s ease both;\n}\n.hero-img-wrap{\n position:relative;width:100%;max-width:520px;\n}\n.hero-img-wrap::after{\n content:'';\n position:absolute;bottom:-3rem;left:5%;right:5%;height:4rem;\n background:radial-gradient(ellipse,rgba(10,20,16,0.2) 0%,transparent 70%);\n filter:blur(12px);\n}\n.hero-img{\n width:100%;height:auto;display:block;\n filter:drop-shadow(0 40px 80px rgba(10,20,16,0.2));\n transition:transform 0.8s cubic-bezier(0.23,1,0.32,1);\n}\n.hero-img:hover{transform:scale(1.02) translateY(-6px) rotate(0.3deg);}\n.hero-badge{\n position:absolute;top:1.5rem;left:-1rem;\n background:var(--ink);color:var(--white);\n font-family:var(--sans);font-size:0.65rem;font-weight:600;\n letter-spacing:0.2em;text-transform:uppercase;\n padding:0.45rem 1rem;\n box-shadow:0 8px 24px rgba(10,20,16,0.25);\n}\n.hero-badge::before{\n content:'';position:absolute;bottom:-6px;left:0;\n border-left:6px solid transparent;\n border-right:0 solid transparent;\n border-top:6px solid #1a2820;\n}\n\n\/* ── TICKER ── *\/\n.ticker{\n background:var(--ink);overflow:hidden;\n padding:1rem 0;border-top:1px solid rgba(160,120,48,0.2);\n}\n.ticker-track{\n display:flex;gap:4rem;\n animation:ticker 25s linear infinite;\n white-space:nowrap;width:max-content;\n}\n.ticker-item{\n font-family:var(--sans);font-size:0.7rem;font-weight:500;\n letter-spacing:0.22em;text-transform:uppercase;color:rgba(245,240,232,0.4);\n display:flex;align-items:center;gap:1.5rem;\n}\n.ticker-dot{width:4px;height:4px;border-radius:50%;background:var(--gold);flex-shrink:0;}\n@keyframes ticker{from{transform:translateX(0);}to{transform:translateX(-50%);}}\n\n\/* ── STATS ── *\/\n.stats{\n display:grid;grid-template-columns:repeat(4,1fr);\n background:var(--warm);\n border-bottom:1px solid rgba(160,120,48,0.15);\n}\n.stat{\n padding:2.5rem 2rem;text-align:center;\n border-right:1px solid rgba(160,120,48,0.15);\n}\n.stat:last-child{border-right:none;}\n.stat-n{\n font-family:var(--serif);font-size:2.8rem;font-weight:400;\n color:var(--gold);line-height:1;margin-bottom:0.4rem;\n}\n.stat-l{\n font-family:var(--sans);font-size:0.68rem;font-weight:500;\n letter-spacing:0.18em;text-transform:uppercase;color:var(--mist);\n}\n\n\/* ── SECTION SHARED ── *\/\n.section{padding:7rem 6rem;}\n.section-tag{\n display:inline-flex;align-items:center;gap:0.75rem;\n font-family:var(--sans);font-size:0.68rem;font-weight:600;\n letter-spacing:0.28em;text-transform:uppercase;color:var(--gold);\n margin-bottom:1.2rem;\n}\n.section-tag::before{content:'';width:2rem;height:1px;background:var(--gold);}\n.section-h{\n font-family:var(--serif);font-size:clamp(2rem,3.2vw,3.5rem);\n font-weight:400;line-height:1.12;color:var(--ink);\n max-width:560px;\n}\n.section-h em{font-style:italic;color:var(--gold);}\n\n\/* ── FIX NOTICE ── *\/\n.fix-notice{\n background:var(--ink);color:var(--white);\n padding:3rem 6rem;\n display:grid;grid-template-columns:auto 1fr;gap:2rem;align-items:start;\n}\n.fix-icon{font-size:2rem;}\n.fix-title{\n font-family:var(--serif);font-size:1.4rem;font-weight:500;\n color:var(--gold-lt);margin-bottom:0.75rem;\n}\n.fix-grid{\n display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:1.5rem;\n}\n.fix-item{\n padding:1.2rem 1.5rem;\n border:1px solid rgba(255,255,255,0.08);\n background:rgba(255,255,255,0.03);\n}\n.fix-item-label{\n font-family:var(--sans);font-size:0.65rem;font-weight:600;\n letter-spacing:0.2em;text-transform:uppercase;\n color:rgba(200,160,80,0.9);margin-bottom:0.5rem;\n}\n.fix-item-old{\n font-family:var(--sans);font-size:0.85rem;color:rgba(255,255,255,0.35);\n text-decoration:line-through;margin-bottom:0.3rem;\n}\n.fix-item-new{\n font-family:var(--sans);font-size:0.88rem;font-weight:500;\n color:rgba(255,255,255,0.9);\n}\n\n\/* ── FEATURES SPLIT ── *\/\n.features-split{\n display:grid;grid-template-columns:1fr 1fr;\n background:var(--white);\n min-height:80vh;\n}\n.features-img{\n background:var(--cream);\n display:flex;align-items:center;justify-content:center;\n padding:4rem;position:relative;overflow:hidden;\n}\n.features-img::before{\n content:'';position:absolute;inset:0;\n background:radial-gradient(ellipse at 50% 60%,rgba(160,120,48,0.06) 0%,transparent 65%);\n}\n.features-img img{\n width:100%;max-width:440px;\n filter:drop-shadow(0 24px 48px rgba(10,20,16,0.18));\n position:relative;z-index:1;\n transition:transform 0.7s cubic-bezier(0.23,1,0.32,1);\n}\n.features-img img:hover{transform:scale(1.03) rotate(-0.4deg);}\n\n.features-content{\n display:flex;flex-direction:column;justify-content:center;\n padding:5rem 5rem 5rem 4rem;\n}\n.feature-list{display:flex;flex-direction:column;gap:0;margin-top:2.5rem;}\n.feature-item{\n display:grid;grid-template-columns:auto 1fr;gap:1.5rem;\n padding:1.75rem 0;\n border-bottom:1px solid rgba(10,20,16,0.07);\n cursor:default;\n transition:padding-left 0.3s ease;\n}\n.feature-item:first-child{border-top:1px solid rgba(10,20,16,0.07);}\n.feature-item:hover{padding-left:0.5rem;}\n.feature-num{\n font-family:var(--serif);font-size:1rem;font-weight:400;\n color:var(--gold);padding-top:0.2rem;min-width:2rem;\n font-style:italic;\n}\n.feature-name{\n font-family:var(--serif);font-size:1.15rem;font-weight:500;\n color:var(--ink);margin-bottom:0.4rem;\n}\n.feature-desc{\n font-family:var(--sans);font-size:0.85rem;font-weight:300;\n line-height:1.75;color:var(--mist);\n}\n\n\/* ── COLORWAY SECTION ── *\/\n.colorways{\n background:var(--cream);\n padding:7rem 6rem;\n}\n.colorway-grid{\n display:grid;grid-template-columns:1fr 1fr;\n gap:2px;margin-top:3.5rem;\n}\n.colorway-card{\n position:relative;overflow:hidden;\n background:var(--warm);\n padding:4rem;\n display:flex;flex-direction:column;\n min-height:500px;\n cursor:pointer;\n transition:background 0.3s;\n}\n.colorway-card:hover{background:var(--cream);}\n.colorway-card img{\n width:80%;max-width:380px;\n margin:0 auto 2rem;display:block;\n filter:drop-shadow(0 20px 40px rgba(10,20,16,0.15));\n transition:transform 0.6s cubic-bezier(0.23,1,0.32,1);\n}\n.colorway-card:hover img{transform:scale(1.04) translateY(-8px);}\n.colorway-name{\n font-family:var(--serif);font-size:1.6rem;font-weight:500;\n color:var(--ink);margin-bottom:0.4rem;\n}\n.colorway-desc{\n font-family:var(--sans);font-size:0.82rem;font-weight:300;\n color:var(--mist);line-height:1.7;\n}\n.colorway-tag{\n position:absolute;top:2rem;right:2rem;\n font-family:var(--sans);font-size:0.62rem;font-weight:600;\n letter-spacing:0.2em;text-transform:uppercase;\n background:var(--ink);color:var(--white);\n padding:0.35rem 0.85rem;\n}\n.colorway-tag.soon{background:var(--gold);}\n\n\/* ── HOW IT WORKS ── *\/\n.how{background:var(--ink);padding:7rem 6rem;position:relative;overflow:hidden;}\n.how::before{\n content:'';position:absolute;\n top:-30%;right:-15%;\n width:60vw;height:60vw;border-radius:50%;\n border:1px solid rgba(160,120,48,0.06);pointer-events:none;\n}\n.how .section-tag{color:var(--gold-lt);}\n.how .section-tag::before{background:var(--gold-lt);}\n.how .section-h{color:var(--cream);}\n.how-steps{\n display:grid;grid-template-columns:repeat(3,1fr);\n gap:2px;margin-top:3.5rem;\n}\n.how-step{\n padding:2.5rem;\n background:rgba(255,255,255,0.03);\n border:1px solid rgba(255,255,255,0.05);\n transition:background 0.3s,border-color 0.3s;\n}\n.how-step:hover{\n background:rgba(160,120,48,0.06);\n border-color:rgba(160,120,48,0.2);\n}\n.step-num{\n font-family:var(--serif);font-size:3.5rem;font-weight:400;\n color:rgba(160,120,48,0.2);line-height:1;margin-bottom:1.2rem;\n font-style:italic;\n}\n.step-title{\n font-family:var(--serif);font-size:1.25rem;font-weight:400;\n color:var(--cream);margin-bottom:0.6rem;\n}\n.step-desc{\n font-family:var(--sans);font-size:0.85rem;font-weight:300;\n line-height:1.75;color:rgba(245,240,232,0.5);\n}\n\n\/* ── SUSTAINABILITY ── *\/\n.sustain{\n background:var(--warm);padding:5rem 6rem;\n display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;\n}\n.sustain-list{\n display:flex;flex-direction:column;gap:1rem;margin-top:2rem;\n}\n.sustain-item{\n display:flex;align-items:center;gap:1rem;\n padding:1rem 1.25rem;\n border-left:2px solid rgba(160,120,48,0.25);\n transition:border-color 0.3s,background 0.3s;\n}\n.sustain-item:hover{border-color:var(--gold);background:rgba(160,120,48,0.04);}\n.sustain-check{color:var(--gold);font-size:0.9rem;flex-shrink:0;}\n.sustain-text{\n font-family:var(--sans);font-size:0.9rem;font-weight:400;color:var(--ink);\n}\n.box-visual{\n text-align:center;\n padding:3rem;background:var(--cream);\n position:relative;\n}\n.box-label{\n font-family:var(--sans);font-size:0.68rem;font-weight:600;\n letter-spacing:0.2em;text-transform:uppercase;\n color:var(--gold);margin-bottom:1rem;display:block;\n}\n.box-mock{\n width:180px;height:220px;\n background:var(--ink);margin:0 auto;\n display:flex;flex-direction:column;align-items:center;justify-content:center;\n box-shadow:8px 8px 0 rgba(160,120,48,0.3);\n}\n.box-mock-brand{\n font-family:var(--serif);font-size:1.1rem;font-weight:700;\n letter-spacing:0.12em;text-transform:uppercase;color:var(--cream);\n text-align:center;line-height:1.3;\n}\n.box-mock-brand em{color:var(--gold-lt);font-style:normal;}\n.box-mock-sub{\n font-family:var(--sans);font-size:0.55rem;font-weight:500;\n letter-spacing:0.2em;text-transform:uppercase;\n color:rgba(245,240,232,0.4);margin-top:0.5rem;\n}\n\n\/* ── SOCIAL PROOF ── *\/\n.proof{background:var(--white);padding:6rem 6rem;}\n.proof-grid{\n display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3.5rem;\n}\n.proof-card{\n padding:2.5rem;background:var(--cream);\n position:relative;\n transition:transform 0.3s;\n}\n.proof-card:hover{transform:translateY(-4px);}\n.proof-card::before{\n content:'\\201C';\n font-family:var(--serif);font-size:7rem;font-weight:400;\n color:var(--gold);opacity:0.15;\n position:absolute;top:-0.5rem;left:1.5rem;line-height:1;\n}\n.stars{color:var(--gold);letter-spacing:0.08em;margin-bottom:0.75rem;font-size:0.8rem;}\n.proof-text{\n font-family:var(--serif);font-size:1rem;font-weight:400;\n font-style:italic;line-height:1.75;color:var(--ink);\n margin-bottom:1.5rem;padding-top:1rem;\n}\n.proof-name{\n font-family:var(--sans);font-size:0.72rem;font-weight:600;\n letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);\n}\n.proof-role{\n font-family:var(--sans);font-size:0.72rem;font-weight:300;\n color:var(--mist);margin-top:0.2rem;\n}\n\n\/* ── FINAL CTA ── *\/\n.final-cta{\n background:var(--ink);\n padding:8rem 6rem;\n text-align:center;\n position:relative;overflow:hidden;\n}\n.final-cta::before{\n content:'CS';\n position:absolute;top:50%;left:50%;\n transform:translate(-50%,-50%);\n font-family:var(--serif);font-size:40vw;font-weight:700;\n color:rgba(255,255,255,0.02);line-height:1;\n pointer-events:none;user-select:none;letter-spacing:-0.05em;\n}\n.final-tag{color:var(--gold-lt);}\n.final-tag::before{background:var(--gold-lt);}\n.final-h{\n font-family:var(--serif);font-size:clamp(2.5rem,5vw,5rem);\n font-weight:400;color:var(--cream);line-height:1.1;\n margin:1.5rem 0 2rem;max-width:700px;margin-left:auto;margin-right:auto;\n}\n.final-h em{font-style:italic;color:var(--gold-lt);}\n.final-form{\n display:flex;gap:0;max-width:480px;margin:0 auto 1.5rem;\n}\n.final-input{\n flex:1;padding:1rem 1.5rem;\n font-family:var(--sans);font-size:0.88rem;\n border:1px solid rgba(245,240,232,0.2);border-right:none;\n background:rgba(255,255,255,0.06);color:var(--cream);\n outline:none;\n transition:border-color 0.2s;\n}\n.final-input:focus{border-color:var(--gold);}\n.final-input::placeholder{color:rgba(245,240,232,0.35);}\n.final-btn{\n font-family:var(--sans);font-size:0.72rem;font-weight:600;\n letter-spacing:0.16em;text-transform:uppercase;\n background:var(--gold);color:var(--ink);\n border:1px solid var(--gold);padding:1rem 2rem;\n cursor:pointer;white-space:nowrap;\n transition:background 0.25s,transform 0.15s;\n}\n.final-btn:hover{background:var(--gold-lt);transform:translateY(-1px);}\n.final-micro{\n font-family:var(--sans);font-size:0.7rem;\n color:rgba(245,240,232,0.3);letter-spacing:0.06em;\n}\n.final-count{\n display:flex;align-items:center;justify-content:center;gap:0.5rem;\n margin-bottom:2.5rem;\n}\n.count-dot{width:6px;height:6px;border-radius:50%;background:var(--gold-lt);animation:pulse 2s ease infinite;}\n.count-text{\n font-family:var(--sans);font-size:0.72rem;font-weight:500;\n letter-spacing:0.14em;text-transform:uppercase;color:var(--gold-lt);\n}\n@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.4;}}\n\n\/* ── FOOTER ── *\/\nfooter{\n background:rgba(10,20,16,0.97);\n padding:4rem 6rem 2rem;\n border-top:1px solid rgba(160,120,48,0.15);\n}\n.footer-top{\n display:grid;grid-template-columns:2fr 1fr 1fr 1fr;\n gap:3rem;padding-bottom:3rem;\n border-bottom:1px solid rgba(255,255,255,0.06);\n margin-bottom:2rem;\n}\n.footer-brand{\n font-family:var(--serif);font-size:1.5rem;font-weight:700;\n letter-spacing:0.1em;text-transform:uppercase;\n color:var(--cream);margin-bottom:0.75rem;\n}\n.footer-brand em{font-style:normal;color:var(--gold-lt);}\n.footer-tagline{\n font-family:var(--sans);font-size:0.82rem;font-weight:300;\n line-height:1.75;color:rgba(245,240,232,0.35);max-width:220px;\n}\n.footer-col-h{\n font-family:var(--sans);font-size:0.65rem;font-weight:600;\n letter-spacing:0.22em;text-transform:uppercase;\n color:var(--gold);margin-bottom:1.25rem;\n}\n.footer-links{list-style:none;}\n.footer-links li{margin-bottom:0.6rem;}\n.footer-links a{\n font-family:var(--sans);font-size:0.82rem;font-weight:300;\n color:rgba(245,240,232,0.35);text-decoration:none;\n transition:color 0.2s;\n}\n.footer-links a:hover{color:var(--gold-lt);}\n.footer-bottom{\n display:flex;justify-content:space-between;\n font-family:var(--sans);font-size:0.7rem;\n color:rgba(245,240,232,0.2);\n}\n\n\/* ── ANIMATIONS ── *\/\n@keyframes fadeUp{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:translateY(0);}}\n@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}\n.reveal{opacity:0;transform:translateY(32px);transition:opacity 0.9s ease,transform 0.9s ease;}\n.reveal.on{opacity:1;transform:translateY(0);}\n\n\/* ── SUCCESS STATE ── *\/\n.success-msg{\n display:none;\n font-family:var(--sans);font-size:0.82rem;font-weight:500;\n color:var(--gold);letter-spacing:0.08em;\n padding:0.6rem 0;\n}\n\n\/* ── RESPONSIVE ── *\/\n@media(max-width:900px){\n nav{padding:1rem 1.5rem;}\n .nav-links{display:none;}\n .hero{grid-template-columns:1fr;}\n .hero-left{padding:5rem 1.5rem 2rem;}\n .hero-right{padding:2rem 1.5rem 4rem;}\n .hero-watermark{display:none;}\n .stats{grid-template-columns:repeat(2,1fr);}\n .section{padding:4rem 1.5rem;}\n .features-split,.colorway-grid,.how-steps,.sustain,.proof-grid,.footer-top{grid-template-columns:1fr;}\n .fix-notice{padding:2.5rem 1.5rem;}\n .fix-grid{grid-template-columns:1fr;}\n .final-cta{padding:5rem 1.5rem;}\n footer{padding:3rem 1.5rem 1.5rem;}\n}\n<\/style>\n\n<\/head>\n<body>\n\n<div class=\"announce\">Limited First Run — Waitlist Now Open  ·  Free Shipping on All Orders  ·  30-Day Returns<\/div>\n\n<!-- NAV -->\n<nav>\n <a class=\"nav-wordmark\" href=\"#\">Case <em>Shield<\/em><\/a>\n <ul class=\"nav-links\">\n <li><a href=\"#features\">The System<\/a><\/li>\n <li><a href=\"#colorways\">Colorways<\/a><\/li>\n <li><a href=\"#how\">How It Works<\/a><\/li>\n <li><a href=\"#proof\">Reviews<\/a><\/li>\n <\/ul>\n <button class=\"nav-cta\" onclick=\"document.getElementById('waitlist').scrollIntoView({behavior:'smooth'})\">Join Waitlist<\/button>\n<\/nav>\n\n<!-- HERO -->\n<section class=\"hero\">\n <div class=\"hero-watermark\">CS<\/div>\n <div class=\"hero-left\">\n <p class=\"hero-tag\">World's First Modular Luggage Harness<\/p>\n <h1 class=\"hero-h1\">\n Your luggage.<br\/>\n <em>Armored<\/em><br\/>\n in elegance.\n <\/h1>\n <p class=\"hero-sub\">\n <strong>Case Shield<\/strong> is the world's first faux-leather modular harness system for hard and soft shell suitcases. Four-component protection that turns heads at every airport.\n <\/p>\n <div class=\"waitlist-form\" id=\"waitlist\">\n <input class=\"waitlist-input\" type=\"email\" placeholder=\"Your email address\" id=\"hero-email\"\/>\n <button class=\"waitlist-btn\" onclick=\"joinWaitlist('hero-email','hero-success')\">Join Waitlist<\/button>\n <\/div>\n <div class=\"success-msg\" id=\"hero-success\">✓ You're on the list. Check your inbox for your 10% off code.<\/div>\n <p class=\"hero-micro\"><strong>847 travelers<\/strong> already on the waitlist · No spam · Unsubscribe anytime<\/p>\n <\/div>\n <div class=\"hero-right\">\n <div class=\"hero-img-wrap\">\n <span class=\"hero-badge\">Onyx Black — Now Available<\/span>\n <img class=\"hero-img\" src=\"SHOPIFY_BLACK_IMAGE_URL\" alt=\"Case Shield — Onyx Black\" width=\"800\" height=\"800\" loading=\"eager\"\/>\n <\/div>\n <\/div>\n<\/section>\n\n<!-- TICKER -->\n<div class=\"ticker\">\n <div class=\"ticker-track\">\n <span class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>360° Corner Protection<\/span>\n <span class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>Modular Memory Foam Pads<\/span>\n <span class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>Expandable Inner Frame<\/span>\n <span class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>Quick-Release Buckles<\/span>\n <span class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>Fits 20\" · 24\" · 28\"<\/span>\n <span class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>Vegan Faux Leather<\/span>\n <span class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>TSA Compliant<\/span>\n <span class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>Hard & Soft Shell Compatible<\/span>\n <!-- duplicate for seamless loop -->\n <span class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>360° Corner Protection<\/span>\n <span class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>Modular Memory Foam Pads<\/span>\n <span class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>Expandable Inner Frame<\/span>\n <span class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>Quick-Release Buckles<\/span>\n <span class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>Fits 20\" · 24\" · 28\"<\/span>\n <span class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>Vegan Faux Leather<\/span>\n <span class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>TSA Compliant<\/span>\n <span class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>Hard & Soft Shell Compatible<\/span>\n <\/div>\n<\/div>\n\n<!-- STATS -->\n<div class=\"stats\">\n <div class=\"stat reveal\"><div class=\"stat-n\">4<\/div><div class=\"stat-l\">Component System<\/div><\/div>\n <div class=\"stat reveal\" style=\"transition-delay:.1s\"><div class=\"stat-n\">3<\/div><div class=\"stat-l\">Suitcase Sizes<\/div><\/div>\n <div class=\"stat reveal\" style=\"transition-delay:.2s\"><div class=\"stat-n\">30s<\/div><div class=\"stat-l\">On & Off<\/div><\/div>\n <div class=\"stat reveal\" style=\"transition-delay:.3s\"><div class=\"stat-n\">847+<\/div><div class=\"stat-l\">On Waitlist<\/div><\/div>\n<\/div>\n\n<!-- COPY FIXES NOTICE -->\n<div class=\"fix-notice reveal\">\n <div class=\"fix-icon\">✎<\/div>\n <div>\n <div class=\"fix-title\">Copy Corrections — Applied to This Version<\/div>\n <p style=\"font-family:'Syne',sans-serif;font-size:0.82rem;color:rgba(245,240,232,0.5);line-height:1.7;\">The following errors were found in the current live page and have been corrected below. Update your Shopify theme to match.<\/p>\n <div class=\"fix-grid\">\n <div class=\"fix-item\">\n <div class=\"fix-item-label\">Brand Name<\/div>\n <div class=\"fix-item-old\">Casa Shield<\/div>\n <div class=\"fix-item-new\">Case Shield ✓<\/div>\n <\/div>\n <div class=\"fix-item\">\n <div class=\"fix-item-label\">Hero Subhead<\/div>\n <div class=\"fix-item-old\">faux feather cage-style<\/div>\n <div class=\"fix-item-new\">faux leather cage-style ✓<\/div>\n <\/div>\n <div class=\"fix-item\">\n <div class=\"fix-item-label\">Features Section<\/div>\n <div class=\"fix-item-old\">crultry-free · sott-shell<\/div>\n <div class=\"fix-item-new\">cruelty-free · soft-shell ✓<\/div>\n <\/div>\n <\/div>\n <\/div>\n<\/div>\n\n<!-- FEATURES -->\n<section class=\"features-split\" id=\"features\">\n <div class=\"features-img\">\n <img src=\"SHOPIFY_BLACK_IMAGE_URL\" alt=\"Case Shield System\" width=\"800\" height=\"800\" loading=\"lazy\"\/>\n <\/div>\n <div class=\"features-content section\">\n <p class=\"section-tag\">The Premium System<\/p>\n <h2 class=\"section-h\">Four systems.<br\/><em>One seamless<\/em> shield.<\/h2>\n <div class=\"feature-list\">\n <div class=\"feature-item reveal\">\n <span class=\"feature-num\">i.<\/span>\n <div>\n <div class=\"feature-name\">X-Strap Harness<\/div>\n <div class=\"feature-desc\">Precision-woven nylon webbing with quick-release buckles, slide adjusters, and integrated elastic bungee segments for automatic tension compensation across all bag sizes.<\/div>\n <\/div>\n <\/div>\n <div class=\"feature-item reveal\" style=\"transition-delay:.1s\">\n <span class=\"feature-num\">ii.<\/span>\n <div>\n <div class=\"feature-name\">Modular Corner Pads<\/div>\n <div class=\"feature-desc\">Hand-stitched matte faux leather shells with memory foam interiors. Velcro and snap-attach mounting repositions to any suitcase corner geometry.<\/div>\n <\/div>\n <\/div>\n <div class=\"feature-item reveal\" style=\"transition-delay:.2s\">\n <span class=\"feature-num\">iii.<\/span>\n <div>\n <div class=\"feature-name\">Elastic Tension Integration<\/div>\n <div class=\"feature-desc\">Bungee cord segments woven into the harness auto-adjust across suitcase profiles. One Case Shield fits your carry-on and your checked bag.<\/div>\n <\/div>\n <\/div>\n <div class=\"feature-item reveal\" style=\"transition-delay:.3s\">\n <span class=\"feature-num\">iv.<\/span>\n <div>\n <div class=\"feature-name\">Expandable Inner Frame<\/div>\n <div class=\"feature-desc\">A telescopic ABS skeleton sits invisibly beneath the straps, expanding to maintain structural integrity across 20\", 24\", and 28\" suitcases.<\/div>\n <\/div>\n <\/div>\n <\/div>\n <\/div>\n<\/section>\n\n<!-- COLORWAYS -->\n<section class=\"colorways\" id=\"colorways\">\n <p class=\"section-tag reveal\">Colorways<\/p>\n <h2 class=\"section-h reveal\">Choose your <em>armor.<\/em><\/h2>\n <div class=\"colorway-grid\">\n <div class=\"colorway-card reveal\">\n <span class=\"colorway-tag\">Available Now<\/span>\n <img src=\"SHOPIFY_BLACK_IMAGE_URL\" alt=\"Case Shield Onyx Black\" width=\"800\" height=\"800\" loading=\"lazy\"\/>\n <div class=\"colorway-name\">Onyx Black<\/div>\n <div class=\"colorway-desc\">All-black matte PU leather with tonal nylon straps and black powder-coated hardware. The original. Unmistakable at every carousel.<\/div>\n <\/div>\n <div class=\"colorway-card reveal\" style=\"transition-delay:.15s\">\n <span class=\"colorway-tag soon\">Coming Soon<\/span>\n <img src=\"SHOPIFY_TAN_IMAGE_URL\" alt=\"Case Shield Saddle Tan\" width=\"800\" height=\"800\" loading=\"lazy\"\/>\n <div class=\"colorway-name\">Saddle Tan<\/div>\n <div class=\"colorway-desc\">Rich tan faux leather corner pads against a slate shell. Heritage luggage aesthetics reimagined for the modern traveler. Join the waitlist for first access.<\/div>\n <\/div>\n <\/div>\n<\/section>\n\n<!-- HOW IT WORKS -->\n<section class=\"how\" id=\"how\">\n <p class=\"section-tag reveal\">How It Works<\/p>\n <h2 class=\"section-h reveal\">On in <em>30 seconds.<\/em><br\/>Off just as fast.<\/h2>\n <div class=\"how-steps\">\n <div class=\"how-step reveal\">\n <div class=\"step-num\">1<\/div>\n <div class=\"step-title\">Position Corner Pads<\/div>\n <div class=\"step-desc\">Snap the four modular memory foam corner pads onto your suitcase's corners. Velcro and snap attachments hold them firm at any angle or geometry.<\/div>\n <\/div>\n <div class=\"how-step reveal\" style=\"transition-delay:.12s\">\n <div class=\"step-num\">2<\/div>\n <div class=\"step-title\">Thread the Harness<\/div>\n <div class=\"step-desc\">Wrap the X-strap nylon harness over the corner pads. The elastic bungee segments self-adjust — no manual tension required.<\/div>\n <\/div>\n <div class=\"how-step reveal\" style=\"transition-delay:.24s\">\n <div class=\"step-num\">3<\/div>\n <div class=\"step-title\">Clip & Travel<\/div>\n <div class=\"step-desc\">Snap the quick-release buckles. Adjust the slide adjusters for a perfect fit. Your luggage is now armored. Check it with confidence.<\/div>\n <\/div>\n <\/div>\n<\/section>\n\n<!-- SUSTAINABILITY -->\n<section class=\"sustain\">\n <div class=\"reveal\">\n <p class=\"section-tag\">Smart & Sustainable<\/p>\n <h2 class=\"section-h\">Built to last.<br\/><em>Responsibly made.<\/em><\/h2>\n <div class=\"sustain-list\">\n <div class=\"sustain-item\"><span class=\"sustain-check\">✓<\/span><span class=\"sustain-text\">Vegan faux leather — cruelty-free, no animal products<\/span><\/div>\n <div class=\"sustain-item\"><span class=\"sustain-check\">✓<\/span><span class=\"sustain-text\">Reusable for years — not single-use plastic wrap<\/span><\/div>\n <div class=\"sustain-item\"><span class=\"sustain-check\">✓<\/span><span class=\"sustain-text\">Eco-conscious packaging — recycled materials<\/span><\/div>\n <div class=\"sustain-item\"><span class=\"sustain-check\">✓<\/span><span class=\"sustain-text\">Universal fit reduces need for multiple products<\/span><\/div>\n <div class=\"sustain-item\"><span class=\"sustain-check\">✓<\/span><span class=\"sustain-text\">TSA-compliant — no removal required at security<\/span><\/div>\n <\/div>\n <\/div>\n <div class=\"reveal\" style=\"transition-delay:.15s\">\n <div class=\"box-visual\">\n <span class=\"box-label\">Premium Packaging<\/span>\n <div class=\"box-mock\">\n <div class=\"box-mock-brand\">CASE<br\/><em>SHIELD<\/em><\/div>\n <div class=\"box-mock-sub\">Premium · Modular · Adjustable<\/div>\n <\/div>\n <p style=\"font-family:'Syne',sans-serif;font-size:0.72rem;color:var(--mist);margin-top:1.25rem;line-height:1.6;\">Arrives in branded gift-ready packaging.<br\/>No extra wrap needed.<\/p>\n <\/div>\n <\/div>\n<\/section>\n\n<!-- PROOF -->\n<section class=\"proof\" id=\"proof\">\n <p class=\"section-tag reveal\">Early Reviews<\/p>\n <h2 class=\"section-h reveal\">Trusted by the<br\/><em>elevated traveler.<\/em><\/h2>\n <div class=\"proof-grid\">\n <div class=\"proof-card reveal\">\n <div class=\"stars\">★★★★★<\/div>\n <p class=\"proof-text\">Finally — luggage protection that looks as premium as the bag it's protecting. The black harness on my Rimowa is genuinely stunning.<\/p>\n <p class=\"proof-name\">Marcus T.<\/p>\n <p class=\"proof-role\">Management Consultant · 200K miles\/year<\/p>\n <\/div>\n <div class=\"proof-card reveal\" style=\"transition-delay:.12s\">\n <div class=\"stars\">★★★★★<\/div>\n <p class=\"proof-text\">I've been wrapping my Away in plastic at the airport for three years. This is what I've been waiting for. On in 25 seconds. Off in less.<\/p>\n <p class=\"proof-role-name\">Priya A.<\/p>\n <p class=\"proof-role\">Expat · Singapore to London<\/p>\n <\/div>\n <div class=\"proof-card reveal\" style=\"transition-delay:.24s\">\n <div class=\"stars\">★★★★★<\/div>\n <p class=\"proof-text\">People kept asking about it at the carousel. First time that's happened with a luggage accessory. Worth every dollar.<\/p>\n <p class=\"proof-name\">Jordan K.<\/p>\n <p class=\"proof-role\">Travel Photographer · 40 countries\/year<\/p>\n <\/div>\n <\/div>\n<\/section>\n\n<!-- FINAL CTA -->\n<section class=\"final-cta\">\n <p class=\"section-tag final-tag reveal\" style=\"justify-content:center;\">Limited First Run<\/p>\n <h2 class=\"final-h reveal\">Be first.<br\/><em>Travel better.<\/em><\/h2>\n <div class=\"final-count reveal\">\n <span class=\"count-dot\"><\/span>\n <span class=\"count-text\">847 travelers already on the waitlist<\/span>\n <\/div>\n <div class=\"final-form\">\n <input class=\"final-input\" type=\"email\" placeholder=\"Enter your email address\" id=\"final-email\"\/>\n <button class=\"final-btn\" onclick=\"joinWaitlist('final-email','final-success')\">Get Early Access<\/button>\n <\/div>\n <div class=\"success-msg\" id=\"final-success\" style=\"color:var(--gold-lt);text-align:center;margin-bottom:1rem;\"><\/div>\n <p class=\"final-micro\">First access · 10% launch discount · No spam · Unsubscribe anytime<\/p>\n<\/section>\n\n<!-- FOOTER -->\n<footer>\n <div class=\"footer-top\">\n <div>\n <div class=\"footer-brand\">Case <em>Shield<\/em><\/div>\n <p class=\"footer-tagline\">The world's first modular faux-leather luggage protection harness. Armor for the elevated traveler.<\/p>\n <\/div>\n <div>\n <p class=\"footer-col-h\">Shop<\/p>\n <ul class=\"footer-links\">\n <li><a href=\"#\">Onyx Black<\/a><\/li>\n <li><a href=\"#\">Saddle Tan<\/a><\/li>\n <li><a href=\"#\">Size Guide<\/a><\/li>\n <li><a href=\"#\">Bundle & Save<\/a><\/li>\n <\/ul>\n <\/div>\n <div>\n <p class=\"footer-col-h\">Support<\/p>\n <ul class=\"footer-links\">\n <li><a href=\"#\">How It Works<\/a><\/li>\n <li><a href=\"#\">Shipping<\/a><\/li>\n <li><a href=\"#\">Returns<\/a><\/li>\n <li><a href=\"#\">Contact<\/a><\/li>\n <\/ul>\n <\/div>\n <div>\n <p class=\"footer-col-h\">Company<\/p>\n <ul class=\"footer-links\">\n <li><a href=\"#\">Our Story<\/a><\/li>\n <li><a href=\"#\">Press<\/a><\/li>\n <li><a href=\"#\">Wholesale<\/a><\/li>\n <li><a href=\"#\">Privacy Policy<\/a><\/li>\n <\/ul>\n <\/div>\n <\/div>\n <div class=\"footer-bottom\">\n <span>© 2025 Case Shield LLC — A Marie May Ann LLC Brand. All rights reserved.<\/span>\n <span>caseshield.com<\/span>\n <\/div>\n<\/footer>\n\n\n<script>\n\/\/ Scroll reveal\nconst observer = new IntersectionObserver(entries => {\n entries.forEach(e => { if(e.isIntersecting) e.target.classList.add('on'); });\n}, { threshold: 0.08 });\ndocument.querySelectorAll('.reveal').forEach(el => observer.observe(el));\n\n\/\/ Waitlist form\nfunction joinWaitlist(inputId, successId) {\n const input = document.getElementById(inputId);\n const success = document.getElementById(successId);\n const email = input.value.trim();\n if (!email || !email.includes('@')) {\n input.style.borderColor = '#c0392b';\n input.focus();\n setTimeout(() => input.style.borderColor = '', 2000);\n return;\n }\n input.style.display = 'none';\n input.closest('.waitlist-form, .final-form').querySelector('button').style.display = 'none';\n success.style.display = 'block';\n success.textContent = '✓ You\\'re on the list. Your 10% off code (SHIELD10) is on its way.';\n \/\/ Update counter visually\n document.querySelectorAll('.count-text').forEach(el => el.textContent = '848 travelers already on the waitlist');\n document.querySelector('.hero-micro').innerHTML = '<strong>848 travelers<\/strong> already on the waitlist · No spam · Unsubscribe anytime';\n}\n<\/script>\n\n<\/body>\n<\/html>\n", "stderr" : "" }</div> </main> <footer> <!-- BEGIN sections: footer-group --> <div id="shopify-section-sections--27384546328948__footer_m9NzUG" class="shopify-section shopify-section-group-footer-group section-wrapper"> <div class="section-background color-scheme-1"></div> <div class="section section--page-width color-scheme-1" > <div class=" footer-content spacing-style " style=" --padding-block-start: max(20px, calc(var(--spacing-scale) * 30px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 30px)); --footer-gap: 20px; --grid-columns: 2; --last-row-count: 2; --tablet-last-row-count: 2; " > <div class=" group-block group-block--height-fit group-block--width-fill border-style spacing-style size-style " style=" --border-width: 1px; --border-style: none; --border-color: rgb(var(--color-border-rgb) / 1.0); --border-radius: 0px; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem; " data-testid="group-block" ><div class="group-block__media-wrapper"> </div> <div class=" group-block-content layout-panel-flex layout-panel-flex--column mobile-column " style="--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap; --gap: 6px; --horizontal-alignment: flex-start; --vertical-alignment: center; --vertical-alignment-mobile: center; " > <div class=" spacing-style text-block text-block--AMGF3WE55QWJ5ckNTY__text_LWt8Pz h4 text-block--align-left " style=" --padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground); --width: 100%; --max-width: var(--max-width--body-normal); --text-align: left; "> <p>Be first. Travel better.</p> </div> <rte-formatter class=" spacing-style text-block text-block--AUERLSWd0VzRtMjBZR__text_f9CFLH rte text-block--align-left rte " style=" --padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --width: 100%; --max-width: var(--max-width--body-normal); --text-align: left; "> <p>Join the waitlist — get 10% off when we launch.</p> </rte-formatter> </div> </div> <div class="email-signup-block size-style spacing-style" style="--size-style-width: 100%;--size-style-height: ;--padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;" > <form method="post" action="/contact#contact_form" id="contact_form" accept-charset="UTF-8" class="email-signup__form spacing-style"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="✓" /> <div class="email-signup__input-group email-signup__input-group--integrated email-signup__input-group--arrow " style="--border-width: 1px; --border-radius: 100px;" > <label for="EmailInput-AOEFid3AwRDZtY2dVZ__email_signup_crihX7" class="visually-hidden" > Email </label> <input id="EmailInput-AOEFid3AwRDZtY2dVZ__email_signup_crihX7" class="email-signup__input email-signup__input--all paragraph " type="email" name="contact[email]" autocorrect="off" autocapitalize="off" autocomplete="email" placeholder="Email address" required > <button class="email-signup__button email-signup__button--integrated email-signup__button--arrow paragraph button-unstyled button-unstyled--AOEFid3AwRDZtY2dVZ__email_signup_crihX7 " aria-label="Sign up" > <svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" focusable="false" aria-hidden="true" class="email-signup__button-icon" > <path clip-rule="evenodd" d="m11.246 5.31759c.0322-.07821.0833-.14723.1486-.20093.0654-.0537.143-.09041.2259-.10686.083-.01645.1688-.01214.2497.01257.0808.0247.1544.06902.214.12902l4.104 4.104c.0478.04765.0857.10426.1115.16659.0259.06232.0392.12913.0392.19661 0 .06747-.0133.13429-.0392.19661-.0258.06233-.0637.11893-.1115.16659l-4.104 4.10401c-.0963.0963-.227.1504-.3632.1504s-.2669-.0541-.3632-.1504-.1504-.227-.1504-.3632.0541-.2669.1504-.3632l3.2288-3.2278h-11.0736c-.13606 0-.26654-.0541-.36275-.15027-.0962-.0962-.15025-.22669-.15025-.36274 0-.13606.05405-.26654.15025-.36275.09621-.0962.22669-.15025.36275-.15025h11.0736l-3.2288-3.2278c-.0721-.07178-.1212-.16335-.1411-.2631s-.0097-.20316.0293-.2971z" fill="currentColor" fill-rule="evenodd" /> </svg> </button> </div></form> </div> </div> </div> </div><div id="shopify-section-sections--27384546328948__footer_utilities_jLGE8U" class="shopify-section shopify-section-group-footer-group footer-utilities"> <div class="section-background color-scheme-1"></div> <div class="section section--page-width color-scheme-1" > <div class="utilities utilities--blocks-3 spacing-style" style="--padding-block-start: 20px;--padding-block-end: max(20px, calc(var(--spacing-scale) * 48px)); --border-width: 0px; --gap: 24px;" data-testid="footer-utilities" > <div class=" footer-utilities__group-copyright custom-typography custom-font-size " style=" --color: ;--font-size: 0.75rem; --font-weight: ;--font-family: ; --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-); --letter-spacing: var(--letter-spacing--body-);" > <span class="footer-utilities__text"> © 2026 <a href="/" title="">Case Shield</a>, <a target="_blank" rel="nofollow" href="https://www.shopify.com?utm_campaign=poweredby&utm_medium=shopify&utm_source=onlinestore">Powered by Shopify</a> </span> </div> <anchored-popover-component data-hover-triggered="true" > <button class="policy-list-trigger button-unstyled" popovertarget="terms-policies-popover" popovertargetaction="toggle" ref="trigger" style=" --color: ;--font-size: 0.75rem; --font-weight: ;--font-family: ; --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-); --letter-spacing: var(--letter-spacing--body-);" > Terms and Policies </button> <div class="terms-policies-popover color-scheme-1" id="terms-policies-popover" popover="auto" ref="popover" > <ul class=" policy_list list-unstyled custom-typography custom-font-size " ><li> <a href="/policies/privacy-policy" class="footer-utilities__text" >Privacy policy</a> </li></ul> </div> </anchored-popover-component> <div class="social-icons__wrapper" > <div class="social-icons__icon-wrapper" > <a href="https://www.instagram.com/caseshield.official" target="_blank" rel="noopener noreferrer" aria-label="Instagram" > <span class="social-icons__icon-label">Instagram</span> <svg class="social-icons__icon icon-default" aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" > <path fill-rule="evenodd" d="M13.23 3.492c-.84-.037-1.096-.046-3.23-.046-2.144 0-2.39.01-3.238.055-.776.027-1.195.164-1.487.273a2.43 2.43 0 0 0-.912.593 2.486 2.486 0 0 0-.602.922c-.11.282-.238.702-.274 1.486-.046.84-.046 1.095-.046 3.23 0 2.134.01 2.39.046 3.229.004.51.097 1.016.274 1.495.145.365.319.639.602.913.282.282.538.456.92.602.474.176.974.268 1.479.273.848.046 1.103.046 3.238.046 2.134 0 2.39-.01 3.23-.046.784-.036 1.203-.164 1.486-.273.374-.146.648-.329.921-.602.283-.283.447-.548.602-.922.177-.476.27-.979.274-1.486.037-.84.046-1.095.046-3.23 0-2.134-.01-2.39-.055-3.229-.027-.784-.164-1.204-.274-1.495a2.43 2.43 0 0 0-.593-.913 2.604 2.604 0 0 0-.92-.602c-.284-.11-.703-.237-1.488-.273ZM6.697 2.05c.857-.036 1.131-.045 3.302-.045 1.1-.014 2.202.001 3.302.045.664.014 1.321.14 1.943.374a3.968 3.968 0 0 1 1.414.922c.41.397.728.88.93 1.414.23.622.354 1.279.365 1.942C18 7.56 18 7.824 18 10.005c0 2.17-.01 2.444-.046 3.292-.036.858-.173 1.442-.374 1.943-.2.53-.474.976-.92 1.423a3.896 3.896 0 0 1-1.415.922c-.51.191-1.095.337-1.943.374-.857.036-1.122.045-3.302.045-2.171 0-2.445-.009-3.302-.055-.849-.027-1.432-.164-1.943-.364a4.152 4.152 0 0 1-1.414-.922 4.128 4.128 0 0 1-.93-1.423c-.183-.51-.329-1.085-.365-1.943C2.009 12.45 2 12.167 2 10.004c0-2.161 0-2.435.055-3.302.027-.848.164-1.432.365-1.942a4.44 4.44 0 0 1 .92-1.414 4.18 4.18 0 0 1 1.415-.93c.51-.183 1.094-.33 1.943-.366Zm.427 4.806a4.105 4.105 0 1 1 5.805 5.805 4.105 4.105 0 0 1-5.805-5.805Zm1.882 5.371a2.668 2.668 0 1 0 2.042-4.93 2.668 2.668 0 0 0-2.042 4.93Zm5.922-5.942a.958.958 0 1 1-1.355-1.355.958.958 0 0 1 1.355 1.355Z" clip-rule="evenodd" /></svg> </a> </div> <div class="social-icons__icon-wrapper" > <a href="https://www.tiktok.com/@caseshield" target="_blank" rel="noopener noreferrer" aria-label="Tiktok" > <span class="social-icons__icon-label">Tiktok</span> <svg class="social-icons__icon icon-default" aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" > <path d="M10.511 1.705h2.74s-.157 3.51 3.795 3.768v2.711s-2.114.129-3.796-1.158l.028 5.606A5.073 5.073 0 1 1 8.213 7.56h.708v2.785a2.298 2.298 0 1 0 1.618 2.205L10.51 1.705Z" /></svg> </a> </div> </div> </div> </div> </div> <!-- END sections: footer-group --> </footer> <script src="//getcaseshield.com/cdn/shop/t/1/assets/dialog.js?v=150888536568694194021775011289" type="module" ></script> <script src="//getcaseshield.com/cdn/shop/t/1/assets/predictive-search.js?v=149240552485540508541775011289" type="module" fetchpriority="low" ></script> <dialog-component id="search-modal" class="search-modal" > <dialog ref="dialog" on:click="/closeDialogOnClickOutside" on:keydown="/closeDialogOnEscapePress" class="search-modal__content dialog-modal" scroll-lock aria-labelledby="search-modal-heading" > <h2 id="search-modal-heading" class="visually-hidden" > Search </h2> <predictive-search-component class="predictive-search color-scheme-1" style="--product-corner-radius: 0px; --card-corner-radius: 4px;" data-section-id="predictive-search" data-testid="search-component--modal" role="search" aria-label="Search" > <form action="/search" method="get" role="search" class="predictive-search-form" ref="form" on:keydown="/onSearchKeyDown" > <div class="predictive-search-form__header" > <div class="predictive-search-form__header-inner"> <label for="cmdk-input" class="visually-hidden" >Search</label> <input class="search-input" id="cmdk-input" type="search" name="q" role="combobox" aria-expanded="false" aria-owns="predictive-search-results" aria-controls="predictive-search-results" aria-haspopup="listbox" aria-autocomplete="list" autocomplete="off" placeholder="Search" ref="searchInput" on:input="/search" on:keydown="/onSearchKeyDown" > <input name="options[prefix]" type="hidden" value="last" > <span class="svg-wrapper predictive-search__icon"> <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg> </span> <button type="button" class="button-unstyled predictive-search__reset-button" ref="resetButton" hidden on:click="/resetSearch" > Clear </button> </div> <button type="button" class="button predictive-search__close-modal-button" aria-label="Close dialog" on:click="dialog-component/closeDialog" ref="closeModalButton" > <span class="svg-wrapper"> <svg aria-hidden="true" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> </svg> </span> </button> </div> <div class="predictive-search-form__content-wrapper"> <div class="predictive-search-form__content" ref="predictiveSearchResults" on:click="/handleModalClick" > <div id="predictive-search-results" class="predictive-search-dropdown" role="listbox" aria-expanded="true" style="--color-shadow: rgb(var(--color-foreground-rgb) / 0.1);" > <div class="predictive-search-results__inner"> <div class="predictive-search-results__no-results"> <p>No products found.</p> </div> </div> </div> </div> <div class="predictive-search-form__footer"> <button class="button predictive-search__search-button" ref="viewAllButton" > View all </button> </div> </div> </form> </predictive-search-component> </dialog> </dialog-component> <script src="//getcaseshield.com/cdn/shop/t/1/assets/gift-card-recipient-form.js?v=129634859299628245901775011289" type="module" fetchpriority="low" ></script> <quick-add-dialog id="quick-add-dialog"> <dialog class="quick-add-modal dialog-modal color-scheme-1" ref="dialog" scroll-lock > <button ref="closeButton" on:click="/closeDialog" class="button button-unstyled close-button quick-add-modal__close" aria-label="Close dialog" ><svg aria-hidden="true" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> </svg> </button> <div id="quick-add-modal-content" class="quick-add-modal__content" ></div> </dialog> </quick-add-dialog> </body> </html>