/* Contact Portfolio marketing landing pages.
   This file contains shared and page-specific styles for public SEO landing pages.
   It replaces duplicated inline <style> blocks so browsers can cache landing CSS. */


.cp-marketing-hero {
    position: relative;
    overflow: hidden;
    background: radial-gradient(circle at 15% 15%, rgba(76,35,255,.10), transparent 34%), linear-gradient(180deg, #f8fbff 0%, #fff 100%);
}
.cp-marketing-hero .hero-copy { max-width: 760px; }
.cp-marketing-hero h1,
.cp-marketing-title {
    color: var(--cp-ink);
    letter-spacing: -0.035em;
    line-height: 1.08;
}
.cp-benefit-grid,
.cp-feature-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 24px;
}
.cp-deep-section {
    border-radius: 26px;
    padding: 34px;
    background: #fff;
    border: 1px solid var(--cp-border);
    box-shadow: var(--cp-shadow);
}
.cp-related-solutions {
    padding: 34px;
    border-radius: 24px;
    background: var(--cp-soft);
    border: 1px solid rgba(76,35,255,.10);
}
.cp-keyword-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.cp-keyword-strip span {
    display: inline-flex;
    padding: 8px 13px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid var(--cp-border);
    color: var(--cp-muted);
    font-size: 13px;
    font-weight: 700;
}


/* Extracted landing page styles from Views/Home. */


/* BusinessCardQrCodeTemplate */
.cardqr-hero { padding: 130px 0 90px; background: radial-gradient(circle at 12% 15%, rgba(79,70,229,.12), transparent 31%), linear-gradient(180deg,#f8fbff 0%,#eef6ff 100%); overflow:hidden; }
        .cardqr-kicker { display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:999px; background:rgba(79,70,229,.10); color:#4338ca; font-weight:900; font-size:13px; text-transform:uppercase; letter-spacing:.04em; margin-bottom:18px; }
        .cardqr-hero h1 { font-size:clamp(42px,5vw,70px); line-height:1.05; font-weight:900; letter-spacing:-.045em; color:#111827; margin-bottom:22px; }
        .cardqr-hero p,.cardqr-copy p,.cardqr-copy li { color:#596174; line-height:1.9; }
        .cardqr-hero p { font-size:18px; margin-bottom:28px; }
        .cardqr-tags { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 30px; padding:0; list-style:none; }
        .cardqr-tags li { padding:9px 14px; border-radius:999px; background:#fff; color:#1f2937; font-weight:800; box-shadow:0 10px 26px rgba(15,23,42,.08); }
        .business-card-mock { position:relative; padding:34px; border-radius:34px; background:#111827; box-shadow:0 30px 85px rgba(15,23,42,.24); color:#fff; min-height:360px; display:flex; flex-direction:column; justify-content:space-between; }
        .business-card-mock h3 { color:#fff; font-size:30px; font-weight:900; margin-bottom:8px; }
        .business-card-mock p { color:rgba(255,255,255,.72); }
        .business-card-mock .qr { width:130px; height:130px; display:grid; place-items:center; border-radius:26px; background:#fff; color:#111827; font-size:64px; align-self:flex-end; }
        .cardqr-card { height:100%; padding:32px; border-radius:28px; background:#fff; border:1px solid rgba(15,23,42,.07); box-shadow:0 18px 46px rgba(15,23,42,.07); }
        .cardqr-card i { width:58px; height:58px; display:inline-flex; align-items:center; justify-content:center; border-radius:20px; color:#fff; background:linear-gradient(135deg,#4f46e5,#06b6d4); font-size:23px; margin-bottom:22px; }
        .cardqr-card h3 { font-size:22px; font-weight:900; margin-bottom:12px; }
        .cardqr-copy h2 { font-size:38px; font-weight:900; margin-bottom:18px; }
        .cardqr-copy h3 { font-size:24px; font-weight:900; margin-top:30px; margin-bottom:10px; }
        .cardqr-panel { padding:42px; border-radius:32px; background:#111827; color:#fff; }
        .cardqr-panel h2,.cardqr-panel h3 { color:#fff; } .cardqr-panel p,.cardqr-panel li { color:rgba(255,255,255,.78); line-height:1.85; }
        .cardqr-links a { display:inline-flex; align-items:center; gap:8px; margin:7px 8px 7px 0; padding:10px 15px; border-radius:999px; background:#eef2ff; color:#4338ca; font-weight:800; }
        @media(max-width:991px){.cardqr-hero{padding:95px 0 70px;text-align:center}.cardqr-tags,.cardqr-hero .button{justify-content:center}.business-card-mock{margin-top:35px}}


/* BusinessProfilePage */
.profile-hero { padding: 125px 0 85px; background: linear-gradient(135deg, #f9fbff 0%, #eef6ff 52%, #fff7ed 100%); position: relative; overflow: hidden; }
        .profile-hero:before { content:""; position:absolute; width:420px; height:420px; right:-140px; top:80px; border-radius:50%; background:rgba(37,99,235,.12); }
        .profile-hero:after { content:""; position:absolute; width:300px; height:300px; left:-120px; bottom:-120px; border-radius:50%; background:rgba(245,158,11,.14); }
        .profile-hero .container { position: relative; z-index: 1; }
        .profile-badge { display:inline-flex; align-items:center; gap:8px; color:#2563eb; background:#fff; padding:9px 16px; border-radius:999px; box-shadow:0 12px 32px rgba(15,23,42,.08); font-weight:800; text-transform:uppercase; font-size:13px; letter-spacing:.04em; margin-bottom:18px; }
        .profile-hero h1 { font-size: clamp(42px, 5vw, 66px); line-height: 1.06; font-weight: 900; letter-spacing:-.04em; margin-bottom: 22px; }
        .profile-hero p { color:#536076; font-size:18px; line-height:1.85; margin-bottom:28px; }
        .profile-preview { background:#fff; border-radius:32px; padding:28px; box-shadow:0 30px 80px rgba(15,23,42,.14); border:1px solid rgba(15,23,42,.06); }
        .profile-preview .top { display:flex; align-items:center; gap:16px; margin-bottom:22px; }
        .profile-preview .avatar { width:70px; height:70px; border-radius:22px; background:linear-gradient(135deg,#2563eb,#06b6d4); display:flex; align-items:center; justify-content:center; color:#fff; font-size:28px; }
        .profile-preview h3 { margin:0; font-weight:900; }
        .profile-preview p { font-size:14px; line-height:1.6; margin:0; }
        .profile-action { display:flex; align-items:center; gap:12px; padding:14px 0; border-top:1px solid #edf2f7; color:#111827; font-weight:700; }
        .profile-action i { width:36px; height:36px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; background:#eef2ff; color:#2563eb; }
        .profile-benefit { padding:32px; height:100%; background:#fff; border-radius:26px; box-shadow:0 18px 45px rgba(15,23,42,.07); border:1px solid rgba(15,23,42,.06); }
        .profile-benefit h3 { font-size:22px; font-weight:900; margin-bottom:12px; }
        .profile-benefit p, .profile-copy p, .profile-list li { color:#5a6478; line-height:1.9; }
        .profile-benefit i { font-size:28px; color:#2563eb; margin-bottom:18px; }
            .profile-benefit a {
                display: flex;
                width: 100%;
                justify-content: space-between;
            }

        .profile-copy h2 { font-size:38px; font-weight:900; letter-spacing:-.02em; margin-bottom:18px; }
        .profile-copy h3 { font-size:24px; font-weight:900; margin-top:28px; margin-bottom:10px; }
        .profile-list { margin:0; padding:0; list-style:none; }
        .profile-list li { padding:12px 0 12px 38px; position:relative; border-bottom:1px solid #eef2f7; }              
        .profile-dark { background:#111827; color:#fff; border-radius:32px; padding:46px; }
        .profile-dark h2, .profile-dark h3 { color:#fff; }
        .profile-dark p, .profile-dark li { color:rgba(255,255,255,.78); line-height:1.85; }
        .profile-link-grid a { display:block; padding:18px 20px; background:#fff; border-radius:18px; color:#111827; font-weight:800; box-shadow:0 14px 34px rgba(15,23,42,.07); margin-bottom:14px; }
        .profile-link-grid a i { color:#2563eb; margin-right:8px; }
        @media(max-width:991px){ .profile-hero{text-align:center; padding:95px 0 70px;} .profile-preview{margin-top:35px;} .profile-hero .button{justify-content:center;} }


/* CafeQrCodeMenu */
.cafe-hero { padding:120px 0 90px; background:#f8fafc; position:relative; overflow:hidden; }
        .cafe-hero:before { content:""; position:absolute; width:520px; height:520px; border-radius:50%; background:rgba(120,53,15,.12); right:-160px; top:-180px; }
        .cafe-hero:after { content:""; position:absolute; width:360px; height:360px; border-radius:50%; background:rgba(251,191,36,.18); left:-120px; bottom:-160px; }
        .cafe-hero .container { position:relative; z-index:1; }
        .cafe-badge { display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:999px; background:#fef3c7; color:#92400e; font-weight:900; text-transform:uppercase; letter-spacing:.04em; font-size:13px; margin-bottom:18px; }
        .cafe-hero h1 { font-size:clamp(42px,5vw,66px); line-height:1.05; font-weight:900; letter-spacing:-.04em; margin-bottom:22px; }
        .cafe-hero p, .cafe-copy p, .cafe-copy li { color:#5b6475; font-size:17px; line-height:1.9; }
        .cafe-board { background:#3f2a1d; color:#fff; border-radius:34px; padding:34px; box-shadow:0 30px 80px rgba(63,42,29,.22); }
        .cafe-board h3 { color:#fff; font-size:30px; font-weight:900; margin-bottom:16px; }
        .cafe-board p, .cafe-board span { color:rgba(255,255,255,.78); }
        .cafe-board .qr { background:#fff; color:#111827; height:118px; border-radius:26px; display:flex; align-items:center; justify-content:center; font-size:58px; margin-bottom:24px; }
        .cafe-row { display:flex; justify-content:space-between; gap:18px; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.16); }
        .cafe-use { padding:30px; border-radius:30px; height:100%; background:#fff; box-shadow:0 16px 45px rgba(15,23,42,.07); border:1px solid rgba(15,23,42,.05); }
        .cafe-use i { font-size:30px; color:#92400e; margin-bottom:16px; }
        .cafe-use h3 { font-weight:900; font-size:21px; margin-bottom:10px; }
        .cafe-timeline { position:relative; padding-left:34px; }
        .cafe-timeline:before { content:""; position:absolute; left:10px; top:6px; bottom:6px; width:2px; background:#f59e0b; }
        .cafe-timeline .step { position:relative; margin-bottom:26px; background:#fff; padding:24px; border-radius:24px; box-shadow:0 12px 35px rgba(15,23,42,.06); }
        .cafe-timeline .step:before { content:""; position:absolute; left:-31px; top:30px; width:14px; height:14px; background:#f59e0b; border-radius:50%; }
        .cafe-links a { display:inline-flex; margin:6px 8px 6px 0; padding:10px 15px; border-radius:999px; background:#fef3c7; color:#92400e; font-weight:800; }
        @media(max-width:991px){ .cafe-hero{padding:95px 0 70px; text-align:center;} .cafe-board{margin-top:35px;} .cafe-hero .button{justify-content:center;} }


/* DigitalBusinessCard */
.pillar-hero { padding: 130px 0 90px; background: radial-gradient(circle at 15% 20%, rgba(67, 56, 202, .14), transparent 32%), linear-gradient(180deg, #f8fbff 0%, #eef6ff 100%); overflow: hidden; }
        .pillar-kicker { display: inline-flex; gap: 8px; align-items: center; padding: 8px 16px; border-radius: 999px; background: rgba(79, 70, 229, .10); color: #4f46e5; font-weight: 800; font-size: 13px; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 18px; }
        .pillar-hero h1 { font-size: clamp(42px, 5vw, 68px); line-height: 1.05; font-weight: 900; letter-spacing: -.04em; margin-bottom: 22px; }
        .pillar-hero p { font-size: 18px; line-height: 1.85; color: #596174; margin-bottom: 28px; }
        .pillar-hero .thumb img { border-radius: 30px; box-shadow: 0 24px 70px rgba(15, 23, 42, .16); }
        .pill-list { display: flex; flex-wrap: wrap; gap: 10px; padding: 0; margin: 0 0 30px; list-style: none; }
        .pill-list li { background: #fff; border-radius: 999px; padding: 8px 14px; font-weight: 700; color: #1f2937; box-shadow: 0 8px 22px rgba(15, 23, 42, .08); }
        .value-box { height: 100%; padding: 32px; border-radius: 24px; background: #fff; box-shadow: 0 18px 45px rgba(15, 23, 42, .07); border: 1px solid rgba(15, 23, 42, .06); }
        .value-box i { width: 56px; height: 56px; display: inline-flex; align-items: center; justify-content: center; border-radius: 18px; color: #fff; background: linear-gradient(135deg, #4f46e5, #06b6d4); font-size: 23px; margin-bottom: 22px; }
        .value-box h3 { font-size: 22px; font-weight: 900; margin-bottom: 12px; }
        .long-copy h2 { font-size: 36px; font-weight: 900; margin-bottom: 18px; }
        .long-copy h3 { font-size: 24px; font-weight: 900; margin-top: 30px; margin-bottom: 10px; }
        .long-copy p { color: #596174; font-size: 16px; line-height: 1.9; margin-bottom: 18px; }
        .workflow-panel { padding: 42px; border-radius: 30px; background: #111827; color: #fff; }
        .workflow-panel h2, .workflow-panel h3 { color: #fff; }
        .workflow-panel p, .workflow-panel li { color: rgba(255,255,255,.78); line-height: 1.8; }
        .internal-links a { display: inline-flex; margin: 6px 8px 6px 0; padding: 9px 14px; border-radius: 999px; background: #eef2ff; color: #4338ca; font-weight: 700; }
        @media (max-width: 991px) { .pillar-hero { padding: 95px 0 70px; text-align: center; } .pill-list, .pillar-hero .button { justify-content: center; } .pillar-hero .thumb { margin-top: 35px; } }


/* DigitalBusinessCardsForTeams */
.teams-hero { padding: 125px 0 85px; background: linear-gradient(135deg, #f0f9ff 0%, #f5f3ff 100%); overflow: hidden; }
        .teams-hero h1 { font-size: clamp(42px, 5vw, 66px); line-height: 1.05; font-weight: 900; letter-spacing: -.04em; margin-bottom: 22px; }
        .teams-hero p { color: #596174; line-height: 1.85; font-size: 18px; margin-bottom: 28px; }
        .teams-badge { display: inline-flex; gap: 9px; align-items: center; padding: 8px 16px; border-radius: 999px; background: #ede9fe; color: #6d28d9; font-weight: 900; text-transform: uppercase; letter-spacing: .04em; font-size: 13px; margin-bottom: 18px; }
        .team-panel { padding: 34px; border-radius: 32px; background: #fff; box-shadow: 0 28px 80px rgba(88,28,135,.14); }
        .team-row { display: flex; align-items: center; gap: 16px; padding: 14px; border-radius: 18px; background: #f8fafc; margin-bottom: 12px; }
        .team-row span { width: 46px; height: 46px; border-radius: 16px; background: linear-gradient(135deg, #7c3aed, #06b6d4); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 900; }
        .team-row h4 { margin: 0; font-weight: 900; font-size: 16px; }
        .team-row p { margin: 0; font-size: 13px; line-height: 1.5; color: #64748b; }
        .team-benefit { height: 100%; padding: 30px; background: #fff; border-radius: 24px; box-shadow: 0 16px 42px rgba(15,23,42,.06); border: 1px solid rgba(15,23,42,.06); }
        .team-benefit i { width: 54px; height: 54px; border-radius: 18px; display: inline-flex; align-items: center; justify-content: center; background: #ede9fe; color: #6d28d9; font-size: 22px; margin-bottom: 18px; }
        .team-benefit h3 { font-size: 21px; font-weight: 900; margin-bottom: 12px; }
        .team-benefit p { color: #667085; line-height: 1.75; }
        .team-copy h2 { font-size: 36px; font-weight: 900; margin-bottom: 18px; }
        .team-copy h3 { font-size: 24px; font-weight: 900; margin-top: 28px; margin-bottom: 10px; }
        .team-copy p, .team-copy li { color: #596174; line-height: 1.9; font-size: 16px; }
        .ops-panel { padding: 42px; border-radius: 30px; background: #111827; color: #fff; height: 100%; }
        .ops-panel h3 { color: #fff; font-weight: 900; margin-bottom: 18px; }
        .ops-panel p, .ops-panel li { color: rgba(255,255,255,.78); line-height: 1.85; }
        .internal-links a { display: inline-flex; margin: 6px 8px 6px 0; padding: 9px 14px; border-radius: 999px; background: #ede9fe; color: #6d28d9; font-weight: 700; }
        @media (max-width: 991px) { .teams-hero { text-align: center; padding: 95px 0 70px; } .team-panel { margin-top: 35px; } .teams-hero .button { justify-content: center; } }


/* FreeDigitalBusinessCard */
.free-card-hero { padding: 125px 0 80px; background: radial-gradient(circle at 85% 15%, rgba(34,197,94,.18), transparent 34%), linear-gradient(180deg, #f8fff9 0%, #eefcf4 100%); overflow: hidden; }
        .free-card-hero h1 { font-size: clamp(42px, 5vw, 66px); line-height: 1.05; font-weight: 900; letter-spacing: -.04em; margin-bottom: 22px; }
        .free-card-hero p { color: #596174; line-height: 1.85; font-size: 18px; margin-bottom: 28px; }
        .free-badge { display: inline-flex; gap: 9px; align-items: center; padding: 8px 16px; border-radius: 999px; background: #dcfce7; color: #15803d; font-weight: 900; text-transform: uppercase; letter-spacing: .04em; font-size: 13px; margin-bottom: 18px; }
        .launch-card { padding: 32px; border-radius: 30px; background: #fff; box-shadow: 0 28px 80px rgba(21,128,61,.16); border: 1px solid rgba(22,163,74,.12); }
        .launch-card img { border-radius: 24px; margin-bottom: 22px; }
        .launch-list { list-style: none; padding: 0; margin: 0; }
        .launch-list li { display: flex; gap: 10px; margin-bottom: 14px; color: #334155; font-weight: 700; }
        .launch-list i { color: #16a34a; margin-top: 3px; }
        .free-benefit { height: 100%; padding: 30px; background: #fff; border-radius: 24px; box-shadow: 0 16px 42px rgba(15,23,42,.06); border: 1px solid rgba(15,23,42,.06); }
        .free-benefit i { width: 54px; height: 54px; border-radius: 18px; display: inline-flex; align-items: center; justify-content: center; background: #dcfce7; color: #15803d; font-size: 22px; margin-bottom: 18px; }
        .free-benefit h3 { font-size: 21px; font-weight: 900; margin-bottom: 12px; }
        .free-benefit p { color: #667085; line-height: 1.75; }
        .copy-block h2 { font-size: 36px; font-weight: 900; margin-bottom: 18px; }
        .copy-block h3 { font-size: 24px; font-weight: 900; margin-top: 28px; margin-bottom: 10px; }
        .copy-block p, .copy-block li { color: #596174; line-height: 1.9; font-size: 16px; }
        .upgrade-panel { padding: 42px; border-radius: 30px; background: #0f172a; color: #fff; height: 100%; }
        .upgrade-panel h3 { color: #fff; font-weight: 900; margin-bottom: 18px; }
        .upgrade-panel p, .upgrade-panel li { color: rgba(255,255,255,.78); line-height: 1.85; }
        .internal-links a { display: inline-flex; margin: 6px 8px 6px 0; padding: 9px 14px; border-radius: 999px; background: #dcfce7; color: #166534; font-weight: 700; }
        @media (max-width: 991px) { .free-card-hero { text-align: center; padding: 95px 0 70px; } .launch-card { margin-top: 35px; } .free-card-hero .button { justify-content: center; } }


/* GoogleMapsQrCode */
.maps-hero { padding:120px 0 90px; background:#eef6ff; position:relative; overflow:hidden; }
        .maps-hero:before { content:""; position:absolute; inset:0; background:linear-gradient(135deg, rgba(37,99,235,.14), transparent 45%), radial-gradient(circle at 85% 20%, rgba(34,197,94,.16), transparent 28%); }
        .maps-hero .container { position:relative; z-index:1; }
        .maps-badge { display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:999px; background:#fff; color:#2563eb; font-weight:900; text-transform:uppercase; letter-spacing:.04em; font-size:13px; margin-bottom:18px; }
        .maps-hero h1 { font-size:clamp(42px,5vw,66px); line-height:1.05; font-weight:900; letter-spacing:-.04em; margin-bottom:22px; }
        .maps-hero p, .maps-copy p, .maps-copy li { color:#5b6475; font-size:17px; line-height:1.9; }
        .map-card { background:#fff; border-radius:34px; overflow:hidden; box-shadow:0 30px 80px rgba(37,99,235,.16); border:1px solid rgba(37,99,235,.08); }
        .map-top { height:180px; background:linear-gradient(135deg,#dbeafe,#dcfce7); display:flex; align-items:center; justify-content:center; font-size:74px; color:#2563eb; }
        .map-body { padding:30px; }
        .map-body h3 { font-weight:900; font-size:28px; margin-bottom:10px; }
        .map-action { display:flex; gap:12px; padding:14px 0; border-top:1px solid #e5e7eb; color:#374151; }
        .maps-feature { height:100%; padding:30px; border-radius:28px; background:#fff; box-shadow:0 16px 45px rgba(15,23,42,.07); border:1px solid rgba(15,23,42,.05); }
        .maps-feature i { font-size:30px; color:#2563eb; margin-bottom:15px; }
        .maps-feature h3 { font-size:21px; font-weight:900; margin-bottom:10px; }
        .maps-dark { background:#0f172a; border-radius:34px; padding:42px; color:#fff; }
        .maps-dark h2, .maps-dark h3 { color:#fff; }
        .maps-dark p, .maps-dark li { color:rgba(255,255,255,.78); line-height:1.85; }
        .maps-links a { display:inline-flex; margin:6px 8px 6px 0; padding:10px 15px; border-radius:999px; background:#dbeafe; color:#1d4ed8; font-weight:800; }
        @media(max-width:991px){ .maps-hero{padding:95px 0 70px; text-align:center;} .map-card{margin-top:35px;} .maps-hero .button{justify-content:center;} }


/* GoogleReviewQrCode */
.review-hero { padding: 120px 0 85px; background:#fffdf7; position:relative; overflow:hidden; }
        .review-hero:before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 12% 20%, rgba(245,158,11,.18), transparent 30%), radial-gradient(circle at 88% 10%, rgba(37,99,235,.12), transparent 28%); }
        .review-hero .container { position:relative; z-index:1; }
        .review-eyebrow { color:#b45309; background:#fffbeb; border:1px solid #fde68a; display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:999px; font-weight:900; text-transform:uppercase; letter-spacing:.04em; font-size:13px; margin-bottom:18px; }
        .review-hero h1 { font-size:clamp(42px,5vw,66px); line-height:1.06; font-weight:900; letter-spacing:-.04em; margin-bottom:22px; }
        .review-hero p, .review-copy p { color:#5b6475; font-size:17px; line-height:1.9; }
        .review-card { background:#fff; border-radius:30px; padding:30px; box-shadow:0 30px 80px rgba(15,23,42,.12); border:1px solid rgba(15,23,42,.06); }
        .stars { letter-spacing:4px; color:#f59e0b; font-size:28px; margin-bottom:15px; }
        .review-card h3 { font-size:28px; font-weight:900; margin-bottom:10px; }
.review-card .qr-box {
    border: 2px dashed #212741;
    background: #212741;
    border-radius: 24px;
    padding: 28px;
    text-align: center;
    margin-top: 24px;
}
        .review-card .qr-box i { font-size:72px; color:#111827; }
        .review-step { display:flex; gap:18px; padding:26px; background:#fff; border-radius:24px; box-shadow:0 16px 42px rgba(15,23,42,.07); height:100%; }
        .review-step .number { min-width:48px; height:48px; border-radius:16px; background:#f59e0b; color:#fff; font-weight:900; display:flex; align-items:center; justify-content:center; }
        .review-step h3 { font-size:21px; font-weight:900; margin-bottom:8px; }
        .review-step p { color:#5b6475; line-height:1.8; margin:0; }
        .review-copy h2 { font-size:38px; font-weight:900; letter-spacing:-.02em; margin-bottom:18px; }
        .review-copy h3 { font-size:24px; font-weight:900; margin-top:28px; margin-bottom:10px; }
        .review-placement { padding:32px; border-radius:28px; background:#111827; color:#fff; }
        .review-placement h2, .review-placement h3 { color:#fff; }
        .review-placement p, .review-placement li { color:rgba(255,255,255,.78); line-height:1.85; }
        .review-placement ul { padding-left:20px; margin-bottom:0; }
        .review-links a { display:inline-flex; align-items:center; margin:7px; padding:10px 15px; border-radius:999px; background:#fff7ed; color:#b45309; font-weight:800; }
        @media(max-width:991px){ .review-hero{text-align:center; padding:95px 0 70px;} .review-card{margin-top:35px;} .review-hero .button{justify-content:center;} }


/* LinkInBioForBusiness */
.bio-hero { padding: 125px 0 90px; background: radial-gradient(circle at 12% 18%, rgba(79,70,229,.18), transparent 32%), linear-gradient(135deg,#101828 0%,#1d2939 58%,#334155 100%); color:#fff; overflow:hidden; position:relative; }
        .bio-hero:after { content:""; position:absolute; width:520px; height:520px; right:-180px; bottom:-220px; border-radius:50%; background:rgba(14,165,233,.18); }
        .bio-hero .container { position:relative; z-index:1; }
        .bio-badge { display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:999px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.18); font-weight:800; text-transform:uppercase; font-size:13px; letter-spacing:.04em; margin-bottom:18px; }
        .bio-hero h1 { color:#fff; font-size:clamp(42px,5vw,68px); line-height:1.06; font-weight:900; letter-spacing:-.04em; margin-bottom:22px; }
        .bio-hero p { color:rgba(255,255,255,.82); font-size:18px; line-height:1.85; margin-bottom:28px; }
        .bio-phone { max-width:390px; margin-left:auto; background:#fff; border-radius:36px; padding:24px; box-shadow:0 35px 90px rgba(0,0,0,.28); color:#111827; }
        .bio-phone-top { display:flex; align-items:center; gap:14px; padding-bottom:18px; border-bottom:1px solid #eef2f7; }
        .bio-logo { width:62px; height:62px; border-radius:20px; background:linear-gradient(135deg,#4f46e5,#06b6d4); color:#fff; display:flex; align-items:center; justify-content:center; font-size:27px; }
        .bio-phone h3 { margin:0; font-weight:900; }
        .bio-phone p { color:#667085; font-size:14px; line-height:1.6; margin:3px 0 0; }
        .bio-link { display:flex; align-items:center; gap:12px; padding:15px 0; border-bottom:1px solid #eef2f7; font-weight:800; }
        .bio-link i { width:38px; height:38px; border-radius:14px; display:flex; align-items:center; justify-content:center; background:#eef2ff; color:#4f46e5; }
        .bio-card { height:100%; padding:32px; border-radius:26px; background:#fff; border:1px solid rgba(15,23,42,.07); box-shadow:0 18px 45px rgba(15,23,42,.07); }
        .bio-card i { font-size:30px; color:#4f46e5; margin-bottom:18px; }
        .bio-card h3 { font-size:22px; font-weight:900; margin-bottom:12px; }
        .bio-card p, .bio-copy p, .bio-copy li { color:#5b667a; line-height:1.9; }
        .bio-copy h2 { font-size:40px; font-weight:900; letter-spacing:-.03em; margin-bottom:18px; }
        .bio-copy h3 { font-size:24px; font-weight:900; margin-top:26px; margin-bottom:10px; }
        .bio-compare { background:#fff; border-radius:28px; overflow:hidden; border:1px solid #e5e7eb; box-shadow:0 22px 60px rgba(15,23,42,.08); }
        .bio-compare-row { display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid #eef2f7; }
        .bio-compare-row > div { padding:22px 26px; }
        .bio-compare-row strong { color:#111827; display:block; margin-bottom:8px; }
        .bio-dark { background:#101828; border-radius:32px; padding:42px; color:#fff; }
        .bio-dark h2, .bio-dark h3 { color:#fff; }
        .bio-dark p, .bio-dark li { color:rgba(255,255,255,.78); line-height:1.85; }
        .bio-related a { display:block; padding:18px 20px; background:#fff; border-radius:18px; color:#111827; font-weight:800; box-shadow:0 14px 34px rgba(15,23,42,.07); margin-bottom:14px; }
        .bio-related a i { color:#4f46e5; margin-right:8px; }
        @media(max-width:991px){ .bio-hero{text-align:center;} .bio-phone{margin:35px auto 0;} .bio-compare-row{grid-template-columns:1fr;} }


/* MiniWebsiteForBusiness */
.mini-hero { padding: 125px 0 90px; background: linear-gradient(135deg,#fff7ed 0%,#f8fafc 50%,#e0f2fe 100%); position:relative; overflow:hidden; }
        .mini-hero:before { content:""; position:absolute; width:430px; height:430px; left:-160px; top:70px; border-radius:50%; background:rgba(249,115,22,.13); }
        .mini-hero:after { content:""; position:absolute; width:360px; height:360px; right:-150px; bottom:-150px; border-radius:50%; background:rgba(14,165,233,.16); }
        .mini-hero .container { position:relative; z-index:1; }
        .mini-badge { display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:999px; background:#fff; color:#ea580c; font-weight:800; text-transform:uppercase; font-size:13px; letter-spacing:.04em; margin-bottom:18px; box-shadow:0 12px 32px rgba(15,23,42,.08); }
        .mini-hero h1 { font-size:clamp(42px,5vw,68px); line-height:1.06; font-weight:900; letter-spacing:-.04em; margin-bottom:22px; }
        .mini-hero p { color:#596174; font-size:18px; line-height:1.85; margin-bottom:28px; }
        .mini-preview { background:#fff; border-radius:32px; padding:28px; box-shadow:0 30px 80px rgba(15,23,42,.13); border:1px solid rgba(15,23,42,.06); }
        .mini-preview-head { height:130px; border-radius:24px; background:linear-gradient(135deg,#f97316,#0ea5e9); margin-bottom:22px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:46px; }
        .mini-section-line { display:flex; align-items:center; gap:12px; padding:14px 0; border-bottom:1px solid #eef2f7; font-weight:800; color:#111827; }
        .mini-section-line i { width:36px; height:36px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:#fff7ed; color:#ea580c; }
        .mini-card { height:100%; padding:32px; border-radius:26px; background:#fff; border:1px solid rgba(15,23,42,.07); box-shadow:0 18px 45px rgba(15,23,42,.07); }
        .mini-card i { font-size:30px; color:#ea580c; margin-bottom:18px; }
        .mini-card h3 { font-size:22px; font-weight:900; margin-bottom:12px; }
        .mini-card p, .mini-copy p, .mini-copy li { color:#5b667a; line-height:1.9; }
        .mini-copy h2 { font-size:40px; font-weight:900; letter-spacing:-.03em; margin-bottom:18px; }
        .mini-copy h3 { font-size:24px; font-weight:900; margin-top:26px; margin-bottom:10px; }
        .mini-process { counter-reset:steps; }
        .mini-process-item { position:relative; padding:30px 30px 30px 86px; background:#fff; border-radius:24px; box-shadow:0 16px 42px rgba(15,23,42,.07); border:1px solid rgba(15,23,42,.06); margin-bottom:20px; }
        .mini-process-item:before { counter-increment:steps; content:counter(steps); position:absolute; left:28px; top:30px; width:38px; height:38px; border-radius:14px; background:#0ea5e9; color:#fff; font-weight:900; display:flex; align-items:center; justify-content:center; }
        .mini-process-item h3 { font-size:21px; font-weight:900; margin-bottom:8px; }
        .mini-related a { display:block; padding:18px 20px; background:#fff; border-radius:18px; color:#111827; font-weight:800; box-shadow:0 14px 34px rgba(15,23,42,.07); margin-bottom:14px; }
        .mini-related a i { color:#ea580c; margin-right:8px; }
        @media(max-width:991px){ .mini-hero{text-align:center;} .mini-preview{margin-top:35px;} }


/* NfcBusinessCardAlternative */
.nfc-hero { padding: 125px 0 85px; background: linear-gradient(135deg, #f8fafc 0%, #e0e7ff 100%); overflow: hidden; }
        .nfc-hero h1 { font-size: clamp(42px, 5vw, 66px); line-height: 1.05; font-weight: 900; letter-spacing: -.04em; margin-bottom: 22px; }
        .nfc-hero p { color: #596174; line-height: 1.85; font-size: 18px; margin-bottom: 28px; }
        .nfc-badge { display: inline-flex; gap: 9px; align-items: center; padding: 8px 16px; border-radius: 999px; background: #e0e7ff; color: #4338ca; font-weight: 900; text-transform: uppercase; letter-spacing: .04em; font-size: 13px; margin-bottom: 18px; }
        .no-hardware-card { padding: 34px; border-radius: 32px; background: #111827; color: #fff; box-shadow: 0 28px 80px rgba(17,24,39,.22); }
        .no-hardware-card h3 { color: #fff; font-weight: 900; margin-bottom: 16px; }
        .no-hardware-card p, .no-hardware-card li { color: rgba(255,255,255,.78); line-height: 1.85; }
        .alt-box { height: 100%; padding: 30px; background: #fff; border-radius: 24px; box-shadow: 0 16px 42px rgba(15,23,42,.06); border: 1px solid rgba(15,23,42,.06); }
        .alt-box i { width: 54px; height: 54px; border-radius: 18px; display: inline-flex; align-items: center; justify-content: center; background: #e0e7ff; color: #4338ca; font-size: 22px; margin-bottom: 18px; }
        .alt-box h3 { font-size: 21px; font-weight: 900; margin-bottom: 12px; }
        .alt-box p { color: #667085; line-height: 1.75; }
        .nfc-copy h2 { font-size: 36px; font-weight: 900; margin-bottom: 18px; }
        .nfc-copy h3 { font-size: 24px; font-weight: 900; margin-top: 28px; margin-bottom: 10px; }
        .nfc-copy p, .nfc-copy li { color: #596174; line-height: 1.9; font-size: 16px; }
        .decision-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
        .decision-grid div { padding: 24px; border-radius: 22px; background: #fff; box-shadow: 0 14px 36px rgba(15,23,42,.06); }
        .decision-grid h4 { font-weight: 900; margin-bottom: 12px; }
        .internal-links a { display: inline-flex; margin: 6px 8px 6px 0; padding: 9px 14px; border-radius: 999px; background: #e0e7ff; color: #4338ca; font-weight: 700; }
        @media (max-width: 991px) { .nfc-hero { text-align: center; padding: 95px 0 70px; } .no-hardware-card { margin-top: 35px; } .nfc-hero .button { justify-content: center; } .decision-grid { grid-template-columns: 1fr; } }


/* PaymentQrCodeGenerator */
.payment-hero { padding:120px 0 90px; background:#ecfdf5; position:relative; overflow:hidden; }
        .payment-hero:before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 20% 12%, rgba(16,185,129,.22), transparent 30%), radial-gradient(circle at 86% 18%, rgba(59,130,246,.13), transparent 28%); }
        .payment-hero .container { position:relative; z-index:1; }
        .payment-badge { display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:999px; background:#fff; color:#047857; font-weight:900; text-transform:uppercase; letter-spacing:.04em; font-size:13px; margin-bottom:18px; }
        .payment-hero h1 { font-size:clamp(42px,5vw,66px); line-height:1.05; font-weight:900; letter-spacing:-.04em; margin-bottom:22px; }
        .payment-hero p, .payment-copy p, .payment-copy li { color:#5b6475; font-size:17px; line-height:1.9; }
        .payment-stack { background:#fff; border-radius:34px; padding:30px; box-shadow:0 30px 80px rgba(4,120,87,.15); border:1px solid rgba(4,120,87,.08); }
        .payment-stack h3 { font-size:28px; font-weight:900; margin-bottom:8px; }
        .payment-dest { display:flex; gap:16px; align-items:center; padding:18px; margin-top:14px; border-radius:20px; background:#f8fafc; }
        .payment-dest i { width:46px; height:46px; display:flex; align-items:center; justify-content:center; border-radius:15px; background:#d1fae5; color:#047857; font-size:22px; }
        .payment-dest strong { display:block; color:#111827; }
        .payment-card { height:100%; padding:30px; border-radius:28px; background:#fff; box-shadow:0 16px 45px rgba(15,23,42,.07); border:1px solid rgba(15,23,42,.05); }
        .payment-card i { color:#059669; font-size:30px; margin-bottom:15px; }
        .payment-card h3 { font-size:21px; font-weight:900; margin-bottom:10px; }
        .payment-comparison { background:#fff; border-radius:30px; overflow:hidden; box-shadow:0 20px 60px rgba(15,23,42,.08); }
        .payment-comparison .row-item { display:grid; grid-template-columns:1.2fr 1fr 1fr; border-bottom:1px solid #e5e7eb; }
        .payment-comparison .cell { padding:22px; }
        .payment-comparison .head { background:#111827; color:#fff; font-weight:900; }
        .payment-comparison .head .cell { color:#fff; }
        .payment-links a { display:inline-flex; margin:6px 8px 6px 0; padding:10px 15px; border-radius:999px; background:#d1fae5; color:#047857; font-weight:800; }
        @media(max-width:991px){ .payment-hero{padding:95px 0 70px; text-align:center;} .payment-stack{margin-top:35px;} .payment-hero .button{justify-content:center;} .payment-comparison .row-item{grid-template-columns:1fr;} }


/* PaypalQrCode */
.pay-hero { padding: 125px 0 90px; background: linear-gradient(180deg,#f8fbff 0%,#eef8ff 100%); overflow:hidden; position:relative; }
        .pay-hero:before { content:""; position:absolute; width:520px; height:520px; right:-180px; top:-120px; border-radius:50%; background:rgba(14,165,233,.18); }
        .pay-hero .container { position:relative; z-index:1; }
        .pay-badge { display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:999px; background:#e0f2fe; color:#0369a1; font-weight:900; text-transform:uppercase; letter-spacing:.04em; font-size:13px; margin-bottom:18px; }
        .pay-hero h1 { font-size:clamp(42px,5vw,66px); line-height:1.06; font-weight:900; letter-spacing:-.04em; margin-bottom:22px; }
        .pay-hero p, .pay-copy p { color:#596174; font-size:17px; line-height:1.9; }
        .pay-terminal { background:#0f172a; border-radius:34px; padding:32px; color:#fff; box-shadow:0 30px 80px rgba(15,23,42,.18); }
        .pay-terminal h3 { color:#fff; font-size:28px; font-weight:900; margin-bottom:8px; }
        .pay-terminal p { color:rgba(255,255,255,.74); margin-bottom:20px; }
        .pay-terminal .amount { font-size:42px; font-weight:900; color:#fff; margin-bottom:20px; }
        .pay-terminal .scan { background:#fff; color:#111827; border-radius:24px; padding:26px; text-align:center; }
        .pay-terminal .scan i { font-size:72px; }
        .pay-use { padding:32px; background:#fff; border-radius:26px; height:100%; box-shadow:0 18px 45px rgba(15,23,42,.07); border:1px solid rgba(15,23,42,.06); }
        .pay-use i { font-size:28px; color:#0284c7; margin-bottom:18px; }
        .pay-use h3 { font-size:22px; font-weight:900; margin-bottom:12px; }
        .pay-use p, .pay-checks li { color:#5b6475; line-height:1.85; }
        .pay-copy h2 { font-size:38px; font-weight:900; letter-spacing:-.02em; margin-bottom:18px; }
        .pay-copy h3 { font-size:24px; font-weight:900; margin-top:28px; margin-bottom:10px; }
        .pay-panel { background:#fff; border-radius:30px; padding:40px; box-shadow:0 24px 60px rgba(15,23,42,.08); }
        .pay-checks { list-style:none; padding:0; margin:0; }
        .pay-checks li { position:relative; padding:12px 0 12px 36px; border-bottom:1px solid #eef2f7; }        
        .pay-links a { display:block; padding:18px 20px; background:#f0f9ff; color:#075985; border-radius:18px; margin-bottom:14px; font-weight:800; }
        @media(max-width:991px){ .pay-hero{text-align:center; padding:95px 0 70px;} .pay-terminal{margin-top:35px;} .pay-hero .button{justify-content:center;} }


/* PrintableQrCodeDesigns */
.print-hero { padding: 130px 0 95px; background: linear-gradient(135deg, #fff7ed 0%, #f8fbff 52%, #eef2ff 100%); overflow: hidden; }
        .print-kicker { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 999px; color: #c2410c; background: rgba(249,115,22,.12); font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 18px; }
        .print-hero h1 { font-size: clamp(42px, 5vw, 70px); line-height: 1.05; font-weight: 900; letter-spacing: -.045em; color: #111827; margin-bottom: 22px; }
        .print-hero p, .print-copy p, .print-copy li { color: #596174; font-size: 16px; line-height: 1.9; }
        .print-hero p { font-size: 18px; margin-bottom: 28px; }
        .print-tags { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 30px; padding: 0; list-style: none; }
        .print-tags li { padding: 9px 14px; border-radius: 999px; background: #fff; color: #1f2937; font-weight: 800; box-shadow: 0 10px 26px rgba(15,23,42,.08); }
        .print-stack { display: grid; gap: 18px; }
        .print-sheet { position: relative; padding: 28px; border-radius: 26px; background: #fff; border: 1px solid rgba(15,23,42,.08); box-shadow: 0 22px 60px rgba(15,23,42,.12); transform: rotate(-1deg); }
        .print-sheet:nth-child(2) { transform: rotate(1.5deg); margin-left: 28px; }
        .print-sheet:nth-child(3) { transform: rotate(-.5deg); margin-right: 28px; }
        .print-sheet h3 { font-weight: 900; margin-bottom: 8px; }
        .print-sheet .code { width: 76px; height: 76px; border-radius: 18px; display: grid; place-items: center; background: #111827; color: #fff; font-size: 34px; margin-bottom: 12px; }
        .print-card { height: 100%; padding: 32px; border-radius: 28px; background: #fff; border: 1px solid rgba(15,23,42,.07); box-shadow: 0 18px 46px rgba(15,23,42,.07); }
        .print-card i { width: 58px; height: 58px; border-radius: 20px; display: inline-flex; align-items: center; justify-content: center; color: #fff; background: linear-gradient(135deg,#f97316,#4f46e5); font-size: 23px; margin-bottom: 22px; }
        .print-card h3 { font-size: 22px; font-weight: 900; margin-bottom: 12px; }
        .print-copy h2 { font-size: 38px; font-weight: 900; margin-bottom: 18px; }
        .print-copy h3 { font-size: 24px; font-weight: 900; margin-top: 30px; margin-bottom: 10px; }
        .check-panel { padding: 42px; border-radius: 32px; background: #111827; color: #fff; }
        .check-panel h2, .check-panel h3 { color: #fff; }
        .check-panel p, .check-panel li { color: rgba(255,255,255,.78); line-height: 1.85; }
        .print-link-cloud a { display: inline-flex; gap: 8px; align-items: center; margin: 7px 8px 7px 0; padding: 10px 15px; border-radius: 999px; background: #fff7ed; color: #c2410c; font-weight: 800; }
        @media (max-width: 991px) { .print-hero { padding: 95px 0 70px; text-align: center; } .print-tags, .print-hero .button { justify-content: center; } .print-stack { margin-top: 35px; } }


/* PrintableQrCodeSigns */
.sign-hero { padding:125px 0 90px; background:linear-gradient(135deg,#f8fafc 0%,#f7fee7 100%); position:relative; overflow:hidden; }
        .sign-hero:before { content:""; position:absolute; width:440px; height:440px; left:-160px; top:90px; border-radius:50%; background:rgba(132,204,22,.18); }
        .sign-hero .container { position:relative; z-index:1; }
        .sign-badge { display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:999px; background:#ecfccb; color:#3f6212; font-weight:900; text-transform:uppercase; letter-spacing:.04em; font-size:13px; margin-bottom:18px; }
        .sign-hero h1 { font-size:clamp(42px,5vw,66px); line-height:1.06; font-weight:900; letter-spacing:-.04em; margin-bottom:22px; }
        .sign-hero p, .sign-copy p { color:#596174; font-size:17px; line-height:1.9; }
        .sign-stack { display:grid; grid-template-columns:1fr 1fr; gap:18px; transform:rotate(-2deg); }
        .sign-sample { background:#fff; border-radius:24px; padding:24px; box-shadow:0 24px 65px rgba(15,23,42,.13); text-align:center; min-height:210px; display:flex; flex-direction:column; align-items:center; justify-content:center; }
        .sign-sample:nth-child(2), .sign-sample:nth-child(3){ transform:translateY(26px); }
        .sign-sample h3 { font-weight:900; font-size:22px; margin-bottom:10px; }
        .sign-sample i { font-size:62px; color:#111827; margin-bottom:12px; }
        .sign-type { background:#fff; border-radius:26px; padding:30px; height:100%; box-shadow:0 18px 45px rgba(15,23,42,.07); border:1px solid rgba(15,23,42,.06); }
        .sign-type i { width:54px; height:54px; border-radius:18px; background:#ecfccb; color:#4d7c0f; display:inline-flex; align-items:center; justify-content:center; font-size:24px; margin-bottom:18px; }
        .sign-type h3 { font-size:22px; font-weight:900; margin-bottom:12px; }
        .sign-type p, .sign-list li { color:#5b6475; line-height:1.85; }
        .sign-copy h2 { font-size:38px; font-weight:900; letter-spacing:-.02em; margin-bottom:18px; }
        .sign-copy h3 { font-size:24px; font-weight:900; margin-top:28px; margin-bottom:10px; }
        .sign-list { list-style:none; padding:0; margin:0; }
        .sign-list li { padding:12px 0 12px 38px; position:relative; border-bottom:1px solid #e5e7eb; }
        .print-dark { background:#111827; color:#fff; border-radius:32px; padding:44px; }
        .print-dark h2, .print-dark h3 { color:#fff; }
        .print-dark p, .print-dark li { color:rgba(255,255,255,.78); line-height:1.85; }
        .sign-links a { display:inline-flex; align-items:center; margin:7px; padding:10px 15px; border-radius:999px; background:#ecfccb; color:#365314; font-weight:800; }
        @media(max-width:991px){ .sign-hero{text-align:center; padding:95px 0 70px;} .sign-stack{margin-top:35px; transform:none;} .sign-hero .button{justify-content:center;} }
        @media(max-width:575px){ .sign-stack{grid-template-columns:1fr;} .sign-sample:nth-child(2), .sign-sample:nth-child(3){transform:none;} }


/* QrCodeBusinessCard */
.qrcard-hero { padding: 125px 0 85px; background: linear-gradient(135deg, #fff7ed 0%, #ffedd5 100%); overflow: hidden; }
        .qrcard-hero h1 { font-size: clamp(42px, 5vw, 66px); line-height: 1.05; font-weight: 900; letter-spacing: -.04em; margin-bottom: 22px; }
        .qrcard-hero p { color: #596174; line-height: 1.85; font-size: 18px; margin-bottom: 28px; }
        .orange-badge { display: inline-flex; gap: 9px; align-items: center; padding: 8px 16px; border-radius: 999px; background: #fed7aa; color: #c2410c; font-weight: 900; text-transform: uppercase; letter-spacing: .04em; font-size: 13px; margin-bottom: 18px; }
        .print-card-mock { padding: 34px; border-radius: 32px; background: #fff; box-shadow: 0 28px 80px rgba(194,65,12,.16); transform: rotate(-1.5deg); }
        .mock-line { height: 12px; border-radius: 999px; background: #e2e8f0; margin-bottom: 12px; }
        .mock-line.short { width: 60%; }
        .mock-qr { width: 135px; height: 135px; border-radius: 18px; background: repeating-linear-gradient(45deg, #0f172a 0 8px, #fff 8px 16px); margin: 22px 0; border: 12px solid #fff; box-shadow: 0 0 0 1px #e2e8f0; }
        .card-feature { height: 100%; padding: 30px; background: #fff; border-radius: 24px; box-shadow: 0 16px 42px rgba(15,23,42,.06); border: 1px solid rgba(15,23,42,.06); }
        .card-feature i { width: 54px; height: 54px; border-radius: 18px; display: inline-flex; align-items: center; justify-content: center; background: #fff7ed; color: #ea580c; font-size: 22px; margin-bottom: 18px; }
        .card-feature h3 { font-size: 21px; font-weight: 900; margin-bottom: 12px; }
        .card-feature p { color: #667085; line-height: 1.75; }
        .copy-area h2 { font-size: 36px; font-weight: 900; margin-bottom: 18px; }
        .copy-area h3 { font-size: 24px; font-weight: 900; margin-top: 28px; margin-bottom: 10px; }
        .copy-area p, .copy-area li { color: #596174; line-height: 1.9; font-size: 16px; }
        .compare-table { width: 100%; background: #fff; border-radius: 24px; overflow: hidden; box-shadow: 0 18px 50px rgba(15,23,42,.08); }
        .compare-table th { background: #0f172a; color: #fff; padding: 18px; }
        .compare-table td { padding: 16px 18px; border-bottom: 1px solid #eef2f7; color: #596174; }
        .compare-table tr:last-child td { border-bottom: none; }
        .internal-links a { display: inline-flex; margin: 6px 8px 6px 0; padding: 9px 14px; border-radius: 999px; background: #ffedd5; color: #c2410c; font-weight: 700; }
        @media (max-width: 991px) { .qrcard-hero { text-align: center; padding: 95px 0 70px; } .print-card-mock { margin-top: 35px; transform: none; } .qrcard-hero .button { justify-content: center; } }


/* QrCodeForBusiness */
.qr-hero { padding: 125px 0 85px; background: linear-gradient(135deg, #101828 0%, #1e3a8a 50%, #0f172a 100%); color: #fff; overflow: hidden; }
        .qr-hero h1 { color: #fff; font-size: clamp(42px, 5vw, 68px); line-height: 1.05; font-weight: 900; letter-spacing: -.04em; margin-bottom: 22px; }
        .qr-hero p { color: rgba(255,255,255,.78); font-size: 18px; line-height: 1.85; margin-bottom: 28px; }
        .qr-hero .badge-line { display: inline-flex; align-items: center; gap: 8px; color: #bfdbfe; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 18px; }
        .qr-hero .thumb img { border-radius: 28px; box-shadow: 0 24px 70px rgba(0,0,0,.35); }
        .qr-use-card { height: 100%; background: #fff; border-radius: 24px; padding: 30px; border: 1px solid rgba(15, 23, 42, .07); box-shadow: 0 16px 42px rgba(15,23,42,.06); }
        .qr-use-card span { display: inline-flex; width: 54px; height: 54px; border-radius: 18px; align-items: center; justify-content: center; background: #eff6ff; color: #2563eb; font-size: 23px; margin-bottom: 18px; }
        .qr-use-card h3 { font-weight: 900; font-size: 21px; margin-bottom: 12px; }
        .qr-use-card p { color: #667085; line-height: 1.75; }
        .strategy-block { padding: 40px; border-radius: 28px; background: #fff; box-shadow: 0 18px 50px rgba(15,23,42,.08); }
        .strategy-block h2 { font-weight: 900; font-size: 34px; margin-bottom: 16px; }
        .strategy-block p, .strategy-block li { color: #596174; line-height: 1.9; }
        .qr-map { padding: 38px; border-radius: 28px; background: #eef6ff; height: 100%; }
        .qr-map h3 { font-weight: 900; margin-bottom: 18px; }
        .qr-map li { margin-bottom: 12px; color: #344054; }
        .internal-links a { display: inline-flex; margin: 6px 8px 6px 0; padding: 9px 14px; border-radius: 999px; background: #eff6ff; color: #1d4ed8; font-weight: 700; }
        @media (max-width: 991px) { .qr-hero { padding: 95px 0 70px; text-align: center; } .qr-hero .button { justify-content: center; } .qr-hero .thumb { margin-top: 35px; } }


/* QrCodeMenu */
.menu-hero { padding: 125px 0 85px; background: radial-gradient(circle at 20% 20%, rgba(245, 158, 11, .18), transparent 30%), linear-gradient(180deg, #fff8ed 0%, #fff 100%); overflow: hidden; }
        .menu-hero h1 { font-size: clamp(42px, 5vw, 68px); line-height: 1.05; font-weight: 900; letter-spacing: -.04em; margin-bottom: 22px; color: #111827; }
        .menu-hero p { color: #5b6474; font-size: 18px; line-height: 1.85; margin-bottom: 28px; }
        .menu-label { display: inline-flex; gap: 8px; align-items: center; padding: 8px 16px; border-radius: 999px; background: #fff3d6; color: #b45309; font-weight: 900; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 18px; }
        .menu-hero img { border-radius: 32px; box-shadow: 0 25px 70px rgba(180, 83, 9, .18); }
        .menu-feature { padding: 30px; border-radius: 24px; height: 100%; background: #fff; border: 1px solid rgba(180, 83, 9, .10); box-shadow: 0 16px 42px rgba(15,23,42,.06); }
        .menu-feature i { color: #d97706; font-size: 28px; margin-bottom: 16px; }
        .menu-feature h3 { font-weight: 900; font-size: 21px; margin-bottom: 12px; }
        .menu-feature p { color: #667085; line-height: 1.75; }
        .story-copy h2 { font-weight: 900; font-size: 36px; margin-bottom: 18px; }
        .story-copy h3 { font-weight: 900; font-size: 24px; margin-top: 28px; }
        .story-copy p, .story-copy li { color: #596174; line-height: 1.9; }
        .restaurant-panel { padding: 42px; border-radius: 30px; background: #111827; color: #fff; }
        .restaurant-panel h2, .restaurant-panel h3 { color: #fff; }
        .restaurant-panel p, .restaurant-panel li { color: rgba(255,255,255,.78); line-height: 1.85; }
        .menu-chain { background: #fff; padding: 36px; border-radius: 28px; box-shadow: 0 18px 50px rgba(15,23,42,.08); }
        .internal-links a { display: inline-flex; margin: 6px 8px 6px 0; padding: 9px 14px; border-radius: 999px; background: #fff3d6; color: #b45309; font-weight: 700; }
        @media (max-width: 991px) { .menu-hero { padding: 95px 0 70px; text-align: center; } .menu-hero .button { justify-content: center; } .menu-hero .thumb { margin-top: 35px; } }


/* QrCodePosterTemplate */
.poster-hero { padding: 130px 0 90px; background: radial-gradient(circle at 15% 15%, rgba(236,72,153,.12), transparent 32%), linear-gradient(180deg,#fff 0%,#f5f7ff 100%); overflow: hidden; }
        .poster-kicker { display: inline-flex; gap: 8px; align-items: center; padding: 9px 16px; border-radius: 999px; background: rgba(236,72,153,.10); color: #be185d; font-weight: 900; font-size: 13px; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 18px; }
        .poster-hero h1 { font-size: clamp(42px,5vw,70px); line-height: 1.05; font-weight: 900; letter-spacing: -.045em; margin-bottom: 22px; color: #101828; }
        .poster-hero p, .poster-copy p, .poster-copy li { color: #596174; line-height: 1.9; }
        .poster-hero p { font-size: 18px; margin-bottom: 28px; }
        .poster-stage { padding: 26px; border-radius: 34px; background: #111827; box-shadow: 0 30px 85px rgba(15,23,42,.24); }
        .poster-page { padding: 34px; border-radius: 28px; background: #fff; min-height: 470px; display: flex; flex-direction: column; justify-content: space-between; }
        .poster-page h3 { font-size: 34px; line-height: 1.05; font-weight: 900; margin-bottom: 15px; }
        .poster-page .qr { width: 145px; height: 145px; border-radius: 26px; display: grid; place-items: center; background: #111827; color: #fff; font-size: 70px; }
        .poster-tags { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 30px; padding: 0; list-style: none; }
        .poster-tags li { padding: 9px 14px; border-radius: 999px; background: #fff; color: #1f2937; font-weight: 800; box-shadow: 0 10px 26px rgba(15,23,42,.08); }
        .poster-card { height:100%; padding:32px; border-radius:28px; background:#fff; border:1px solid rgba(15,23,42,.07); box-shadow:0 18px 46px rgba(15,23,42,.07); }
        .poster-card i { width:58px; height:58px; display:inline-flex; align-items:center; justify-content:center; border-radius:20px; color:#fff; background:linear-gradient(135deg,#ec4899,#4f46e5); font-size:23px; margin-bottom:22px; }
        .poster-card h3 { font-size:22px; font-weight:900; margin-bottom:12px; }
        .poster-copy h2 { font-size:38px; font-weight:900; margin-bottom:18px; }
        .poster-copy h3 { font-size:24px; font-weight:900; margin-top:30px; margin-bottom:10px; }
        .poster-dark { padding:42px; border-radius:32px; background:linear-gradient(135deg,#111827,#312e81); color:#fff; }
        .poster-dark h2, .poster-dark h3 { color:#fff; } .poster-dark p, .poster-dark li { color:rgba(255,255,255,.78); line-height:1.85; }
        .poster-links a { display:inline-flex; align-items:center; gap:8px; margin:7px 8px 7px 0; padding:10px 15px; border-radius:999px; background:#fdf2f8; color:#be185d; font-weight:800; }
        @media(max-width:991px){.poster-hero{padding:95px 0 70px;text-align:center}.poster-tags,.poster-hero .button{justify-content:center}.poster-stage{margin-top:35px}}


/* RestaurantQrCodeMenu */
.restaurant-menu-hero { padding: 120px 0 90px; background: #fff7ed; position: relative; overflow: hidden; }
        .restaurant-menu-hero:before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 10% 15%, rgba(251,146,60,.22), transparent 30%), radial-gradient(circle at 90% 5%, rgba(220,38,38,.12), transparent 28%); }
        .restaurant-menu-hero .container { position:relative; z-index:1; }
        .restaurant-menu-badge { display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:999px; background:#fff; color:#c2410c; font-weight:900; text-transform:uppercase; letter-spacing:.04em; font-size:13px; margin-bottom:18px; box-shadow:0 12px 35px rgba(194,65,12,.12); }
        .restaurant-menu-hero h1 { font-size: clamp(42px,5vw,68px); line-height:1.05; font-weight:900; letter-spacing:-.04em; margin-bottom:22px; }
        .restaurant-menu-hero p, .restaurant-copy p, .restaurant-copy li { color:#5f6676; font-size:17px; line-height:1.9; }
        .menu-preview-card { background:#fff; border-radius:34px; padding:28px; box-shadow:0 30px 80px rgba(124,45,18,.16); border:1px solid rgba(194,65,12,.10); }
        .menu-preview-card .top { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; }
        .menu-preview-card .qr { width:104px; height:104px; border-radius:24px; display:flex; align-items:center; justify-content:center; background:#111827; color:#fff; font-size:52px; }
        .menu-preview-card h3 { font-weight:900; font-size:28px; margin-bottom:4px; }
        .menu-line { padding:15px 0; border-bottom:1px solid #f3e2d2; display:flex; justify-content:space-between; gap:20px; }
        .menu-line strong { color:#111827; }
        .restaurant-benefit { height:100%; padding:30px; border-radius:28px; background:#fff; box-shadow:0 16px 45px rgba(15,23,42,.07); border:1px solid rgba(15,23,42,.05); }
        .restaurant-benefit i { color:#ea580c; font-size:30px; margin-bottom:15px; }
        .restaurant-benefit h3 { font-weight:900; font-size:21px; margin-bottom:10px; }
        .restaurant-dark { background:#111827; border-radius:34px; padding:44px; color:#fff; }
        .restaurant-dark h2, .restaurant-dark h3 { color:#fff; }
        .restaurant-dark p, .restaurant-dark li { color:rgba(255,255,255,.78); line-height:1.85; }
        .restaurant-chain { background:#fff; padding:40px; border-radius:30px; box-shadow:0 20px 60px rgba(15,23,42,.08); }
        .restaurant-links a { display:inline-flex; margin:6px 8px 6px 0; padding:10px 15px; border-radius:999px; background:#ffedd5; color:#c2410c; font-weight:800; }
        @media(max-width:991px){ .restaurant-menu-hero { padding:95px 0 70px; text-align:center; } .menu-preview-card{margin-top:35px;} .restaurant-menu-hero .button{justify-content:center;} }


/* ReviewUsQrCodeSign */
.review-hero { padding: 130px 0 90px; background: linear-gradient(135deg,#fffbeb 0%,#f8fbff 60%,#eef2ff 100%); overflow:hidden; }
        .review-kicker { display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:999px; background:rgba(245,158,11,.14); color:#b45309; font-weight:900; font-size:13px; text-transform:uppercase; letter-spacing:.04em; margin-bottom:18px; }
        .review-hero h1 { font-size:clamp(42px,5vw,70px); line-height:1.05; font-weight:900; letter-spacing:-.045em; color:#111827; margin-bottom:22px; }
        .review-hero p,.review-copy p,.review-copy li { color:#596174; line-height:1.9; }
        .review-hero p { font-size:18px; margin-bottom:28px; }
        .review-tags { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 30px; padding:0; list-style:none; }
        .review-tags li { padding:9px 14px; border-radius:999px; background:#fff; color:#1f2937; font-weight:800; box-shadow:0 10px 26px rgba(15,23,42,.08); }
        .review-sign { padding:32px; border-radius:34px; background:#fff; box-shadow:0 30px 80px rgba(15,23,42,.16); text-align:center; border:1px solid rgba(15,23,42,.06); }
        .review-stars { color:#f59e0b; font-size:28px; letter-spacing:4px; margin-bottom:16px; }
        .review-sign h3 { font-size:34px; font-weight:900; margin-bottom:12px; }
        .review-qr { width:270px; border-radius:28px; background:#111827; color:#fff; display:grid; place-items:center; font-size:72px; margin:22px auto; }
        .review-card { height:100%; padding:32px; border-radius:28px; background:#fff; border:1px solid rgba(15,23,42,.07); box-shadow:0 18px 46px rgba(15,23,42,.07); }
        .review-card i { width:58px; height:58px; display:inline-flex; align-items:center; justify-content:center; border-radius:20px; color:#fff; background:linear-gradient(135deg,#f59e0b,#4f46e5); font-size:23px; margin-bottom:22px; }
        .review-card h3 { font-size:22px; font-weight:900; margin-bottom:12px; }
        .review-copy h2 { font-size:38px; font-weight:900; margin-bottom:18px; }
        .review-copy h3 { font-size:24px; font-weight:900; margin-top:30px; margin-bottom:10px; }
        .review-dark { padding:42px; border-radius:32px; background:#111827; color:#fff; }
        .review-dark h2,.review-dark h3 { color:#fff; } .review-dark p,.review-dark li { color:rgba(255,255,255,.78); line-height:1.85; }
        .review-links a { display:inline-flex; align-items:center; gap:8px; margin:7px 8px 7px 0; padding:10px 15px; border-radius:999px; background:#fffbeb; color:#b45309; font-weight:800; }
        @media(max-width:991px){.review-hero{padding:95px 0 70px;text-align:center}.review-tags,.review-hero .button{justify-content:center}.review-sign{margin-top:35px}}


/* ScanToPaySign */
.pay-sign-hero { padding:120px 0 90px; background:#f6f7ff; position:relative; overflow:hidden; }
        .pay-sign-hero:before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 15% 10%, rgba(79,70,229,.18), transparent 30%), radial-gradient(circle at 88% 18%, rgba(16,185,129,.16), transparent 28%); }
        .pay-sign-hero .container { position:relative; z-index:1; }
        .pay-sign-badge { display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:999px; background:#fff; color:#4338ca; font-weight:900; text-transform:uppercase; letter-spacing:.04em; font-size:13px; margin-bottom:18px; }
        .pay-sign-hero h1 { font-size:clamp(42px,5vw,66px); line-height:1.05; font-weight:900; letter-spacing:-.04em; margin-bottom:22px; }
        .pay-sign-hero p, .pay-copy p, .pay-copy li { color:#5b6475; font-size:17px; line-height:1.9; }
        .sign-card { background:#fff; border-radius:34px; padding:30px; box-shadow:0 30px 80px rgba(67,56,202,.15); border:1px solid rgba(67,56,202,.08); text-align:center; }
        .sign-card h3 { font-size:34px; font-weight:900; margin-bottom:10px; }
            .sign-card .qr {
                border-radius: 30px;
                display: flex;
                align-items: center;
                justify-content: center;
                margin: 26px auto;
                background: #212741;
                color: #fff;
                font-size: 88px;
                padding: 10px;
            }
        .sign-card .small-note { padding:12px 16px; border-radius:999px; background:#eef2ff; color:#4338ca; display:inline-flex; font-weight:900; }
        .pay-benefit { height:100%; padding:30px; border-radius:28px; background:#fff; box-shadow:0 16px 45px rgba(15,23,42,.07); }
        .pay-benefit i { color:#4f46e5; font-size:30px; margin-bottom:15px; }
        .pay-benefit h3 { font-size:21px; font-weight:900; margin-bottom:10px; }
        .pay-panel { background:#111827; border-radius:34px; padding:42px; color:#fff; }
        .pay-panel h2, .pay-panel h3 { color:#fff; }
        .pay-panel p, .pay-panel li { color:rgba(255,255,255,.78); line-height:1.85; }
        .pay-flow { background:#fff; padding:38px; border-radius:30px; box-shadow:0 18px 55px rgba(15,23,42,.08); }
        .pay-links a { display:inline-flex; margin:6px 8px 6px 0; padding:10px 15px; border-radius:999px; background:#e0e7ff; color:#4338ca; font-weight:800; }
        @media(max-width:991px){ .pay-sign-hero{padding:95px 0 70px; text-align:center;} .sign-card{margin-top:35px;} .pay-sign-hero .button{justify-content:center;} }


/* ServiceLanding */
.service-landing-hero {
            position: relative;
            overflow: hidden;
            padding: 130px 0 95px;
            background: radial-gradient(circle at 12% 20%, rgba(79, 70, 229, .13), transparent 34%), radial-gradient(circle at 88% 20%, rgba(14, 165, 233, .16), transparent 30%), linear-gradient(180deg, #f8fbff 0%, #eef7ff 100%);
        }

        .service-landing-hero::before {
            content: "";
            position: absolute;
            width: 260px;
            height: 260px;
            right: -70px;
            bottom: -70px;
            border-radius: 50%;
            border: 44px solid rgba(79, 70, 229, .08);
        }

        .service-eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 9px 16px;
            border-radius: 999px;
            color: #4f46e5;
            background: rgba(79, 70, 229, .08);
            font-size: 13px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: .04em;
            margin-bottom: 18px;
        }

        .service-landing-hero h1 {
            font-size: clamp(40px, 5vw, 68px);
            line-height: 1.06;
            font-weight: 900;
            letter-spacing: -0.04em;
            color: #0b1020;
            margin-bottom: 22px;
        }

        .service-landing-hero p {
            max-width: 690px;
            color: #596174;
            font-size: 18px;
            line-height: 1.8;
            margin-bottom: 28px;
        }

        .service-benefit-list {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            padding: 0;
            margin: 0 0 32px;
            list-style: none;
        }

        .service-benefit-list li {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 9px 14px;
            border-radius: 999px;
            background: #fff;
            color: #1f2937;
            font-size: 14px;
            font-weight: 700;
            box-shadow: 0 10px 26px rgba(15, 23, 42, .08);
        }

        .service-hero-thumb img {
            width: 100%;
            border-radius: 30px;
            box-shadow: 0 26px 70px rgba(15, 23, 42, .16);
        }

        .service-section-card {
            height: 100%;
            padding: 34px 28px;
            border-radius: 24px;
            background: #fff;
            border: 1px solid rgba(15, 23, 42, .08);
            box-shadow: 0 18px 46px rgba(15, 23, 42, .07);
            transition: .3s ease;
        }

        .service-section-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 28px 70px rgba(15, 23, 42, .12);
        }

        .service-section-card .icon {
            width: 58px;
            height: 58px;
            border-radius: 18px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 22px;
            color: #fff;
            background: linear-gradient(135deg, #4f46e5, #06b6d4);
            font-size: 23px;
        }

        .service-section-card h3 {
            font-size: 21px;
            font-weight: 900;
            margin-bottom: 12px;
        }

        .service-section-card p {
            color: #667085;
            line-height: 1.75;
            margin-bottom: 0;
        }

        .service-keyword-note {
            padding: 34px;
            border-radius: 28px;
            background: linear-gradient(135deg, #101828, #1f2a44);
            color: #fff;
        }

        .service-keyword-note h2 {
            color: #fff;
            font-weight: 900;
            margin-bottom: 12px;
        }

        .service-keyword-note p {
            color: rgba(255, 255, 255, .76);
            margin-bottom: 0;
            line-height: 1.8;
        }

        @media (max-width: 991px) {
            .service-landing-hero {
                padding: 95px 0 70px;
                text-align: center;
            }

            .service-landing-hero p {
                margin-left: auto;
                margin-right: auto;
            }

            .service-benefit-list,
            .service-landing-hero .button {
                justify-content: center;
            }

            .service-hero-thumb {
                margin-top: 35px;
            }
        }


/* SmartQrCodeGenerator */
.smartqr-hero { position: relative; padding: 130px 0 95px; overflow: hidden; background: radial-gradient(circle at 10% 15%, rgba(34, 197, 94, .14), transparent 31%), radial-gradient(circle at 90% 10%, rgba(79, 70, 229, .14), transparent 30%), linear-gradient(180deg, #f7fbff 0%, #eef7f3 100%); }
        .smartqr-hero::after { content: ""; position: absolute; width: 420px; height: 420px; border: 60px solid rgba(15, 23, 42, .04); border-radius: 50%; right: -140px; bottom: -160px; }
        .smartqr-kicker { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 999px; background: rgba(34,197,94,.12); color: #15803d; font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 18px; }
        .smartqr-hero h1 { font-size: clamp(42px, 5.2vw, 72px); line-height: 1.04; font-weight: 900; letter-spacing: -.045em; color: #0b1020; margin-bottom: 22px; }
        .smartqr-hero p { color: #526174; font-size: 18px; line-height: 1.85; margin-bottom: 26px; }
        .smartqr-tags { display: flex; flex-wrap: wrap; gap: 10px; padding: 0; margin: 0 0 30px; list-style: none; }
        .smartqr-tags li { padding: 9px 14px; border-radius: 999px; background: #fff; color: #1f2937; font-weight: 800; box-shadow: 0 10px 26px rgba(15,23,42,.08); }
        .qr-orbit { position: relative; padding: 28px; border-radius: 36px; background: #0f172a; box-shadow: 0 30px 80px rgba(15,23,42,.22); color: #fff; }
        .qr-orbit .core { display: grid; place-items: center; width: 180px; height: 180px; border-radius: 42px; margin: 35px auto; background: linear-gradient(135deg,#22c55e,#4f46e5); font-size: 72px; }
        .qr-chip { display: flex; align-items: center; gap: 10px; padding: 12px 14px; margin: 10px 0; border-radius: 18px; background: rgba(255,255,255,.09); color: rgba(255,255,255,.86); font-weight: 700; }
        .qr-chip i { color: #86efac; }
        .intent-card { height: 100%; padding: 32px; border-radius: 28px; background: #fff; border: 1px solid rgba(15,23,42,.07); box-shadow: 0 18px 45px rgba(15,23,42,.07); }
        .intent-card i { width: 58px; height: 58px; display: inline-flex; align-items: center; justify-content: center; border-radius: 20px; color: #fff; background: linear-gradient(135deg,#16a34a,#2563eb); font-size: 23px; margin-bottom: 22px; }
        .intent-card h3 { font-weight: 900; font-size: 22px; margin-bottom: 12px; }
        .intent-card p, .qr-copy p, .qr-copy li { color: #596174; line-height: 1.9; }
        .qr-copy h2 { font-size: 38px; font-weight: 900; margin-bottom: 18px; }
        .qr-copy h3 { font-size: 24px; font-weight: 900; margin-top: 30px; margin-bottom: 10px; }
        .destination-panel { padding: 42px; border-radius: 32px; background: linear-gradient(135deg,#111827,#1e293b); color: #fff; }
        .destination-panel h2, .destination-panel h3 { color: #fff; }
        .destination-panel p, .destination-panel li { color: rgba(255,255,255,.78); line-height: 1.85; }
        .link-cloud a { display: inline-flex; align-items: center; gap: 8px; margin: 7px 8px 7px 0; padding: 10px 15px; border-radius: 999px; background: #ecfdf5; color: #15803d; font-weight: 800; }
        @media (max-width: 991px) { .smartqr-hero { padding: 95px 0 70px; text-align: center; } .smartqr-tags, .smartqr-hero .button { justify-content: center; } .qr-orbit { margin-top: 35px; } }


/* VcardQrCode */
.vcard-hero { padding: 125px 0 85px; background: linear-gradient(135deg, #0f172a 0%, #1e3a8a 58%, #2563eb 100%); color: #fff; overflow: hidden; position: relative; }
        .vcard-hero:after { content: ""; position: absolute; width: 420px; height: 420px; border-radius: 50%; background: rgba(255,255,255,.09); right: -120px; top: -120px; }
        .vcard-hero h1 { color: #fff; font-size: clamp(42px, 5vw, 66px); line-height: 1.05; font-weight: 900; letter-spacing: -.04em; margin-bottom: 22px; }
        .vcard-hero p { color: rgba(255,255,255,.82); font-size: 18px; line-height: 1.85; margin-bottom: 28px; }
        .vcard-tag { display: inline-flex; align-items: center; gap: 9px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.18); padding: 8px 16px; border-radius: 999px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; font-size: 13px; margin-bottom: 18px; }
        .vcard-preview { background: #fff; border-radius: 32px; padding: 28px; box-shadow: 0 30px 90px rgba(0,0,0,.28); position: relative; z-index: 2; }
        .vcard-preview .avatar { width: 74px; height: 74px; border-radius: 22px; background: linear-gradient(135deg, #2563eb, #22c55e); display: flex; align-items: center; justify-content: center; color: #fff; font-size: 32px; margin-bottom: 20px; }
        .vcard-preview h3 { font-weight: 900; margin-bottom: 8px; }
        .vcard-preview p { color: #64748b; line-height: 1.7; margin-bottom: 18px; font-size: 15px; }
        .save-row { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; }
        .save-row span { padding: 8px 12px; border-radius: 999px; background: #eff6ff; color: #1d4ed8; font-weight: 700; font-size: 13px; }
        .contact-feature { height: 100%; padding: 30px; background: #fff; border-radius: 24px; border: 1px solid rgba(15, 23, 42, .06); box-shadow: 0 18px 45px rgba(15,23,42,.07); }
        .contact-feature i { width: 56px; height: 56px; border-radius: 18px; display: inline-flex; align-items: center; justify-content: center; background: #ecfdf5; color: #059669; font-size: 23px; margin-bottom: 18px; }
        .contact-feature h3 { font-size: 21px; font-weight: 900; margin-bottom: 12px; }
        .copy-section h2 { font-size: 36px; font-weight: 900; margin-bottom: 18px; }
        .copy-section h3 { font-size: 24px; font-weight: 900; margin-top: 28px; margin-bottom: 10px; }
        .copy-section p, .copy-section li { color: #596174; line-height: 1.9; font-size: 16px; }
        .blue-panel { padding: 40px; border-radius: 30px; background: #eff6ff; height: 100%; }
        .blue-panel h3 { font-weight: 900; margin-bottom: 18px; }
        .blue-panel li { margin-bottom: 12px; }
        .internal-links a { display: inline-flex; margin: 6px 8px 6px 0; padding: 9px 14px; border-radius: 999px; background: #e0f2fe; color: #0369a1; font-weight: 700; }
        @media (max-width: 991px) { .vcard-hero { text-align: center; padding: 95px 0 70px; } .vcard-preview { margin-top: 35px; } .vcard-hero .button { justify-content: center; } }

/* Content Patch 01: richer pillar content blocks */
.cp-button-row {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center;
}
.cp-check-grid,
.cp-mini-cards,
.cp-menu-checklist {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 24px;
}
.cp-check-grid > div,
.cp-menu-checklist > div,
.cp-mini-cards > a {
    display: block;
    padding: 22px;
    border-radius: 22px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .07);
    box-shadow: 0 14px 34px rgba(15, 23, 42, .06);
}
.cp-check-grid i,
.cp-menu-checklist i {
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    margin-bottom: 13px;
    background: #eef2ff;
    color: #4f46e5;
    font-size: 18px;
}
.cp-check-grid strong,
.cp-menu-checklist strong,
.cp-mini-cards strong {
    display: block;
    color: #111827;
    font-weight: 900;
    margin-bottom: 6px;
}
.cp-check-grid span,
.cp-menu-checklist span,
.cp-mini-cards span {
    display: block;
    color: #5b6475;
    line-height: 1.65;
}
.cp-number-list {
    padding: 0;
    margin: 20px 0 0;
    list-style: none;
    counter-reset: cpStep;
}
.cp-number-list li {
    position: relative;
    counter-increment: cpStep;
    padding: 0 0 18px 56px;
    margin-bottom: 18px;
    border-bottom: 1px solid rgba(15, 23, 42, .08);
}
.cp-number-list li:before {
    content: counter(cpStep);
    position: absolute;
    left: 0;
    top: 0;
    width: 38px;
    height: 38px;
    border-radius: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #4f46e5, #06b6d4);
    color: #fff;
    font-weight: 900;
}
.cp-number-list strong,
.cp-number-list span {
    display: block;
}
.cp-number-list span {
    color: #64748b;
    line-height: 1.65;
    margin-top: 4px;
}
.cp-responsive-table {
    width: 100%;
    overflow-x: auto;
    border-radius: 24px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .07);
    box-shadow: 0 18px 44px rgba(15, 23, 42, .07);
}
.cp-responsive-table table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
}
.cp-responsive-table.compact table {
    min-width: 620px;
}
.cp-responsive-table th,
.cp-responsive-table td {
    padding: 18px 20px;
    border-bottom: 1px solid #edf2f7;
    vertical-align: top;
    color: #4b5563;
    line-height: 1.65;
}
.cp-responsive-table th {
    background: #f8fafc;
    color: #111827;
    font-weight: 900;
}
.cp-responsive-table tr:last-child td {
    border-bottom: 0;
}
.cp-responsive-table a {
    color: #4f46e5;
    font-weight: 900;
}
.cp-mini-cards > a {
    color: #111827;
    transition: .25s ease;
}
.cp-mini-cards > a:hover {
    transform: translateY(-3px);
    box-shadow: 0 20px 50px rgba(15, 23, 42, .10);
}
.cp-mini-cards i {
    display: inline-flex;
    width: 44px;
    height: 44px;
    border-radius: 14px;
    align-items: center;
    justify-content: center;
    background: #eef2ff;
    color: #4f46e5;
    margin-bottom: 14px;
}
.cp-icon-list,
.cp-mistake-list {
    list-style: none;
    margin: 22px 0 0;
    padding: 0;
}
.cp-icon-list li,
.cp-mistake-list li {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 14px 0;
    border-bottom: 1px solid rgba(15, 23, 42, .08);
    color: #526070;
    line-height: 1.7;
}
.cp-icon-list i {
    color: #4f46e5;
    margin-top: 5px;
}
.cp-mistake-list i {
    color: #ef4444;
    margin-top: 5px;
}
.cp-decision-card,
.cp-related-panel {
    padding: 32px;
    border-radius: 30px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .06);
    box-shadow: 0 22px 58px rgba(15, 23, 42, .09);
}
.cp-decision-card h3,
.cp-related-panel h3 {
    font-weight: 900;
    margin-bottom: 20px;
}
.cp-related-panel a {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 14px 0;
    border-bottom: 1px solid #edf2f7;
    color: #111827;
    font-weight: 800;
}
.cp-related-panel a:last-child {
    border-bottom: 0;
}
.cp-related-panel a i {
    color: #4f46e5;
    width: 24px;
    text-align: center;
}
.cp-final-cta {
    padding: 55px 0;
    background: linear-gradient(135deg, #111827, #312e81);
    color: #fff;
}
.cp-final-cta h2 {
    color: #fff;
    font-size: clamp(30px, 4vw, 44px);
    font-weight: 900;
    margin-bottom: 10px;
}
.cp-final-cta p {
    color: rgba(255, 255, 255, .78);
    margin: 0;
    line-height: 1.75;
}
.qr-final {
    background: linear-gradient(135deg, #312e81, #0f766e);
}
.menu-final {
    background: linear-gradient(135deg, #92400e, #111827);
}
@media (max-width: 991px) {
    .cp-check-grid,
    .cp-mini-cards,
    .cp-menu-checklist {
        grid-template-columns: 1fr;
    }
    .cp-final-cta,
    .cp-final-cta .text-lg-right {
        text-align: center !important;
    }
    .cp-final-cta .btn {
        margin-top: 22px;
    }
    .cp-decision-card,
    .cp-related-panel {
        padding: 24px;
    }
}


/* Content Patch 04: focused child landing conversion blocks */
.vcard-final { background: linear-gradient(135deg, #0f172a, #1d4ed8); }
.qrcard-final { background: linear-gradient(135deg, #7c2d12, #111827); }
.restaurant-final { background: linear-gradient(135deg, #9a3412, #1f2937); }
.cafe-final { background: linear-gradient(135deg, #78350f, #111827); }
.cp-responsive-table td:first-child { font-weight: 800; color: #111827; }
.cp-check-grid a,
.cp-icon-list a { color: #4f46e5; font-weight: 900; }
@media (max-width: 575px) {
    .cp-responsive-table th,
    .cp-responsive-table td { padding: 14px 16px; }
    .cp-check-grid > div,
    .cp-menu-checklist > div,
    .cp-mini-cards > a { padding: 18px; }
}

/* Trust and proof strip shared across Contact Portfolio marketing pages */
.cp-trust-proof {
    padding: 70px 0;
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
    border-top: 1px solid #eef2f7;
    border-bottom: 1px solid #eef2f7;
}
.cp-trust-proof-header {
    max-width: 860px;
    margin: 0 auto 34px;
    text-align: center;
}
.cp-trust-proof-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #eef2ff;
    color: #4338ca;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .03em;
    text-transform: uppercase;
    margin-bottom: 14px;
}
.cp-trust-proof-header h2 {
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1.1;
    font-weight: 900;
    margin-bottom: 14px;
    color: #111827;
}
.cp-trust-proof-header p {
    color: #5b6472;
    font-size: 17px;
    line-height: 1.75;
    margin: 0;
}
.cp-trust-proof-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}
.cp-trust-proof-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 22px;
    padding: 24px;
    box-shadow: 0 14px 36px rgba(15, 23, 42, .06);
    min-height: 100%;
}
.cp-trust-proof-card i {
    width: 44px;
    height: 44px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #eef2ff;
    color: #4f46e5;
    font-size: 18px;
    margin-bottom: 16px;
}
.cp-trust-proof-card strong {
    display: block;
    color: #111827;
    font-size: 17px;
    font-weight: 900;
    margin-bottom: 8px;
}
.cp-trust-proof-card span {
    display: block;
    color: #5b6472;
    line-height: 1.65;
}
.cp-trust-proof-note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    max-width: 980px;
    margin: 28px auto 0;
    padding: 16px 20px;
    border-radius: 18px;
    background: #111827;
    color: rgba(255,255,255,.84);
    text-align: center;
    font-weight: 700;
}
.cp-trust-proof-note i {
    color: #22c55e;
    flex: 0 0 auto;
}
@media (max-width: 991px) {
    .cp-trust-proof-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 575px) {
    .cp-trust-proof {
        padding: 50px 0;
    }
    .cp-trust-proof-grid {
        grid-template-columns: 1fr;
    }
    .cp-trust-proof-card {
        padding: 20px;
    }
    .cp-trust-proof-note {
        align-items: flex-start;
        text-align: left;
    }
}
