.ind-hero{position:relative;padding:72px 0 0}.ind-hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;max-width:1240px;margin:0 auto;padding:0 32px;min-height:360px}.ind-hero-inner>div:first-child{max-width:560px}.ind-hero h1{font-size:clamp(2rem,4vw,2.8rem);line-height:1.2;color:#fff;margin-bottom:16px;font-weight:800}.ind-hero h1 em{font-style:normal;color:#ff2d9b}.ind-hero-sub{font-size:1.02rem;color:rgba(255,255,255,.72);line-height:1.72;margin-bottom:24px}.ind-tag{display:inline-block;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:50px;padding:5px 16px;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:16px}.ind-hero-btns{display:flex;gap:10px;flex-wrap:wrap}@media(max-width:860px){.ind-hero-inner{grid-template-columns:1fr}.ind-hero{padding:56px 0 0}.ind-hero-btns{flex-direction:column;align-items:flex-start}}.split-intro{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.split-intro-left h2{font-size:clamp(1.55rem,2.6vw,2.1rem);line-height:1.25;margin-bottom:14px}.split-intro-right p{font-size:1.02rem;line-height:1.8;color:#555}.price-tag{display:inline-flex;align-items:center;gap:8px;background:rgba(255,45,155,.08);border:1px solid rgba(255,45,155,.25);border-radius:50px;padding:6px 16px;font-size:.84rem;color:#ff2d9b;font-weight:600;margin-top:14px}@media(max-width:860px){.split-intro{grid-template-columns:1fr;gap:24px}}.deliv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:20px}.deliv-item{display:flex;gap:13px;align-items:flex-start;background:#fff;border:1.5px solid #ebebeb;border-radius:12px;padding:18px;transition:border-color .2s,box-shadow .2s}.deliv-item:hover{border-color:#ff2d9b;box-shadow:0 4px 16px rgba(255,45,155,.08)}.deliv-icon{width:36px;height:36px;border-radius:8px;background:rgba(255,45,155,.1);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.deliv-text h4{font-size:.9rem;font-weight:700;margin:0 0 4px;color:#111}.deliv-text p{font-size:.83rem;color:#666;line-height:1.5;margin:0}.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:20px}.step-card{background:#fff;border:1.5px solid #ebebeb;border-radius:13px;padding:24px;transition:border-color .2s,box-shadow .2s}.step-card:hover{border-color:#ff2d9b;box-shadow:0 4px 16px rgba(255,45,155,.08)}.step-num{font-size:1.4rem;font-weight:900;color:#ff2d9b;margin-bottom:10px;display:block;line-height:1}.step-card h3{font-size:.95rem;font-weight:800;margin:0 0 8px;color:#111}.step-card p{font-size:.85rem;color:#555;line-height:1.6;margin:0}.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:24px}.why-card{background:#f8f8f8;border-radius:14px;padding:22px;border-top:3px solid #ff2d9b;transition:transform .2s}.why-card:hover{transform:translateY(-2px)}.why-icon{font-size:1.6rem;margin-bottom:12px;display:block}.why-card h3{font-size:.95rem;font-weight:800;color:#111;margin:0 0 8px}.why-card p{font-size:.85rem;color:#555;line-height:1.6;margin:0}.compare-wrap{overflow-x:auto;margin-top:24px}div.compare-wrap table,table.compare-wrap{width:100%;border-collapse:collapse}.compare-head{background:var(--hero-bg)}.compare-cell,.compare-head-cell{padding:13px 16px;text-align:center;border-bottom:1px solid #ebebeb;font-size:.88rem}.compare-head-cell{font-weight:800;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:#888;border-bottom:2px solid #ebebeb}.compare-row:hover{background:#fafafa}.good{color:#0a4;font-weight:700}.cross{color:#c22;font-weight:700}.tick-pill{display:inline-flex;align-items:center;gap:5px;background:rgba(0,170,68,.1);border-radius:50px;padding:3px 10px;font-size:.78rem;font-weight:700;color:#0a4}.faq-wrap{display:flex;flex-direction:column;gap:9px;max-width:780px;margin:32px auto 0}.faq-item{border:2px solid #ebebeb;border-radius:14px;overflow:hidden;transition:border-color .2s}.faq-item.open{border-color:#d0d0d0}.faq-q,.faq-question{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;cursor:pointer;width:100%;text-align:left;background:0 0;border:none;font-size:.97rem;font-weight:600;color:#111;line-height:1.4;font-family:var(--font-body);gap:16px;transition:background .18s}.faq-q:hover,.faq-question:hover{background:#fafafa}.faq-a,.faq-answer{padding:0 22px;max-height:0;overflow:hidden;transition:max-height .32s ease,padding .28s;color:#666;font-size:.93rem;line-height:1.78}.faq-item.open .faq-chevron{transform:rotate(270deg)}.faq-item.open .faq-a,.faq-item.open .faq-answer{max-height:400px;padding:0 22px 18px}.post-wrap{max-width:780px;margin:0 auto;padding:0 24px}.post-header{padding:60px 0 40px;background:linear-gradient(135deg,#0d1b2a 0,#1a2a3a 100%)}.post-back{font-size:.8rem;font-weight:700;color:rgba(255,255,255,.5);text-decoration:none;display:inline-flex;align-items:center;gap:6px;margin-bottom:24px}.post-back:hover{color:#ff2d9b}.post-cat{display:inline-block;padding:4px 14px;border-radius:50px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px}.post-title{font-size:clamp(1.6rem,3.5vw,2.4rem);color:#fff;line-height:1.2;margin-bottom:16px;font-weight:800}.post-meta{display:flex;align-items:center;gap:16px;color:rgba(255,255,255,.45);font-size:.82rem;flex-wrap:wrap}.post-content{padding:48px 0 64px}.post-content p{font-size:1rem;line-height:1.85;color:#333;margin-bottom:22px}.post-content h2{font-size:1.35rem;font-weight:800;color:#111;margin:40px 0 16px;letter-spacing:-.02em}.post-content h3{font-size:1.1rem;font-weight:700;color:#111;margin:28px 0 12px}.post-intro{font-size:1.08rem;font-weight:500;color:#444;line-height:1.8;padding-left:20px;border-left:3px solid #ff2d9b;margin-bottom:36px}.post-conclusion{background:#f8f8f8;border-radius:14px;padding:28px;margin:36px 0}.post-conclusion h3{font-size:1rem;font-weight:800;color:#111;margin-bottom:12px}.post-conclusion p{margin:0;font-size:.95rem;color:#444;line-height:1.8}.post-faq{margin:48px 0}.post-faq h2{font-size:1.35rem;font-weight:800;color:#111;margin-bottom:24px}.post-share{border-top:2px solid #ebebeb;padding-top:28px;margin-top:48px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.share-label{font-size:.82rem;font-weight:700;color:#888}.share-btn{padding:8px 16px;border-radius:50px;font-size:.78rem;font-weight:700;border:2px solid #ebebeb;color:#444;text-decoration:none;transition:border-color .2s}.share-btn:hover{border-color:#ff2d9b;color:#ff2d9b}.related-posts{background:#f8f8f8;padding:48px 0}.ai-gen-box{background:linear-gradient(135deg,#0d1b2a,#1a2a3a);border-radius:16px;padding:28px;margin:40px 0;color:#fff}.ai-gen-box h3{font-size:1rem;font-weight:800;margin-bottom:8px;color:#ff2d9b}.ai-gen-box p{font-size:.88rem;color:rgba(255,255,255,.65);margin-bottom:16px;line-height:1.65}.ai-gen-result{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:16px;min-height:80px;font-size:.88rem;color:rgba(255,255,255,.8);line-height:1.7;display:none}.ai-gen-result.visible{display:block}.ai-loading{color:rgba(255,255,255,.4);font-style:italic;font-size:.85rem}.areas-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:24px}.area-pill{background:#f8f8f8;border:1.5px solid #ebebeb;border-radius:50px;padding:8px 16px;font-size:.85rem;font-weight:600;color:#333;text-align:center}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:32px}.process-step{background:#fff;border:1.5px solid #ebebeb;border-radius:14px;padding:22px;position:relative;overflow:hidden}.process-step::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#ff2d9b,#a236ff)}.process-num{font-size:1.8rem;font-weight:900;color:#f0f0f0;margin-bottom:8px}.process-step h3{font-size:.95rem;font-weight:800;color:#111;margin-bottom:6px}.process-step p{font-size:.82rem;color:#555;line-height:1.6;margin:0}.pkg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px}.pkg-card{background:#fff;border:2px solid #ebebeb;border-radius:14px;padding:22px;text-align:center;transition:border-color .2s}.pkg-card:hover{border-color:#ff2d9b}.pkg-card.featured{border-color:#ff2d9b;position:relative}.pkg-badge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:#ff2d9b;color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.08em;padding:3px 12px;border-radius:50px;white-space:nowrap}.pkg-name{font-size:.85rem;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.pkg-price{font-size:1.8rem;font-weight:900;color:#111;margin-bottom:4px}.pkg-period{font-size:.75rem;color:#aaa;margin-bottom:16px}.pkg-features{list-style:none;padding:0;margin:0 0 20px;text-align:left}.pkg-features li{font-size:.8rem;color:#555;padding:4px 0;border-bottom:1px solid #f0f0f0;display:flex;align-items:center;gap:8px}.pkg-features li::before{content:'✓';color:#ff2d9b;font-weight:800;flex-shrink:0}@media(max-width:860px){.areas-grid{grid-template-columns:1fr 1fr}.process-grid{grid-template-columns:1fr 1fr}.pkg-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.process-grid{grid-template-columns:1fr}.pkg-grid{grid-template-columns:1fr}}

/* ---- fullscreen demo viewer (assets/demo-viewer.js) ----
   These rules were inline on web-design only, so the two other pages that load
   demo-viewer.js opened an unstyled overlay: iframe at its intrinsic 300x150,
   bar text black on black. A class with no CSS renders at intrinsic size, and
   an overlay that opens is not evidence that a demo works. Loaded globally so
   any future page that adds the script is styled by default. */
.dv-locked{overflow:hidden}
.dv-overlay{position:fixed;inset:0;z-index:9999;display:none;flex-direction:column;background:#0A0A0F}
.dv-overlay.is-open{display:flex}
.dv-overlay:fullscreen{width:100vw;height:100vh}
.dv-bar{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:8px 12px;background:#0A0A0F;border-bottom:1.5px solid #2E2E3A}
.dv-bar__title{margin:0;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:#fff}
.dv-bar__hint{margin:0 0 0 auto;font-size:.7rem;letter-spacing:.08em;color:rgba(255,255,255,.66)}
.dv-close{padding:8px 14px;border:1.5px solid #00FFFF;background:transparent;color:#7FD9FF;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border-radius:0}
.dv-close:hover{background:rgba(0,255,255,.14)}
.dv-close:focus-visible{outline:3px solid #00FFFF;outline-offset:2px}
/* min-height:0 is what lets the iframe shrink inside the flex column instead of
   overflowing it. */
.dv-frame{flex:1 1 auto;width:100%;border:0;background:#fff;min-height:0}
@media(max-width:820px){.dv-bar__hint{display:none}}
