/* Shared styles extracted directly from Aletheia, preserving responsive rules. */
.hero-blurb{margin:0}
:root{--lg-shadow-blur: 10px; --lg-shadow-spread: -6px; --lg-shadow-color: rgba(255, 255, 255, 0.4); --lg-tint-color: 255, 255, 255; --lg-tint-opacity: 0.04; --lg-frost-blur: 2px; --lg-outer-shadow-blur: 24px; --lg-border-color: rgba(255, 255, 255, 0.25); --lg-border-width: 0.5px;}
body{font-family: "Times New Roman", Times, serif; background-color: rgb(10, 10, 10); color: rgb(204, 204, 204); min-height: 100vh; line-height: 1.6; overflow-x: hidden;}
.container{max-width: 1000px; margin: 0px auto; padding: 0px 2rem;}
.hero{display: flex; flex-direction: column; align-items: center; text-align: center; padding: 6rem 2rem 2rem;}
.hero-logo{width: 200px; margin-bottom: 1.5rem; opacity: 0.9;}
.hero-name{font-size: 2.5rem; font-weight: 300; letter-spacing: 0.2em; text-transform: uppercase; color: rgb(255, 255, 255); margin-top: 1.5rem; margin-bottom: 0.35rem;}
.hero-greek{font-size: 1.1rem; font-style: italic; color: rgb(136, 136, 136); margin-bottom: 0.5rem; letter-spacing: 0.05em;}
.hero-blurb{font-size: 1rem; font-style: italic; color: rgb(102, 102, 102); white-space: nowrap; margin-top: 1rem;}
.hero-subtitle{font-size: 1rem; font-weight: 400; letter-spacing: 0.3em; text-transform: uppercase; color: rgb(102, 102, 102);}
.hero-tagline{font-size: 0.9rem; font-style: italic; color: rgb(119, 119, 119); margin-bottom: 0px;}
.divider-full{width: 100%; max-width: 600px; height: 1px; background: rgba(255, 255, 255, 0.08); margin: 1.5rem auto; border: none;}
.pricing{padding: 2rem 0px; text-align: center;}
.pricing-card{padding: 2.5rem 2rem; text-align: center; border-radius: 16px; position: relative; background: rgba(255, 255, 255, 0.04); border: 0.5px solid rgba(255, 255, 255, 0.1); box-shadow: 0px 6px var(--lg-outer-shadow-blur) rgba(0, 0, 0, 0.2); transition: box-shadow 0.3s;}
.pricing-card:hover{box-shadow: 0px 10px calc(var(--lg-outer-shadow-blur) + 4px) rgba(0, 0, 0, 0.3);}
.pricing-name{font-size: 1.1rem; font-weight: 400; letter-spacing: 0.1em; color: rgb(224, 224, 224); margin-bottom: 0.5rem;}
.pricing-price{font-size: 2rem; font-weight: 300; color: rgb(255, 255, 255); margin-bottom: 1.5rem;}
.pricing-card .pricing-name{font-size: 2.5rem; font-weight: 300; letter-spacing: 0.2em; text-transform: uppercase; color: rgb(255, 255, 255);}
.pricing-card .btn-primary{opacity: 1; padding: 10px 40px; font-size: 0.8rem; letter-spacing: 0.25em;}
.btn{display: inline-block; padding: 5px 16px; font-family: "Times New Roman", Times, serif; font-size: 0.65rem; font-weight: 400; text-decoration: none; text-transform: uppercase; letter-spacing: 0.2em; border-radius: 20px; transition: 0.2s; cursor: pointer; border: none; background: transparent; color: rgb(204, 204, 204); position: relative; isolation: isolate; box-shadow: 0px 4px calc(var(--lg-outer-shadow-blur) * 0.7) rgba(0, 0, 0, 0.15); opacity: 0.85;}
.btn::before{content: ""; position: absolute; inset: 0px; z-index: 0; border-radius: 20px; box-shadow: inset 0 0 calc(var(--lg-shadow-blur) * 0.8) var(--lg-shadow-spread) rgba(255, 255, 255, 0.3); background-color: rgba(var(--lg-tint-color), 0.03); border: var(--lg-border-width) solid rgba(255, 255, 255, 0.18); pointer-events: none;}
.btn::after{content: ""; position: absolute; inset: 0px; z-index: -1; border-radius: 20px; backdrop-filter: blur(calc(var(--lg-frost-blur) * 0.8));}
.btn:hover{opacity: 1; color: rgb(255, 255, 255);}
.btn-primary{opacity: 0.9;}
.btn-primary::before{background-color: rgba(var(--lg-tint-color), 0.04);}
.footer{padding: 2.5rem 2rem 2rem; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 1rem; border-top: 1px solid rgba(255, 255, 255, 0.06); margin-top: 2rem;}
.footer-copyright{font-size: 0.65rem; color: rgb(51, 51, 51); text-transform: uppercase; letter-spacing: 0.1em;}
.footer-legal{display: flex; flex-direction: column; align-items: center; gap: 0.5rem;}
.footer-legal a{font-size: 0.65rem; color: rgb(85, 85, 85); text-decoration: none; text-transform: uppercase; letter-spacing: 0.1em; transition: color 0.2s;}
.footer-legal a:hover{color: rgb(136, 136, 136);}
.faq-section{padding: 2.5rem 2rem; max-width: 700px; margin: 0px auto;}
.faq-title{font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.15em; color: rgb(102, 102, 102); text-align: center; margin-bottom: 1.5rem;}
.faq-item{border-bottom: 1px solid rgba(255, 255, 255, 0.06); padding: 1rem 0px;}
.faq-item:last-child{border-bottom: none;}
.faq-item summary{font-family: "Times New Roman", Times, serif; font-size: 0.8rem; color: rgb(153, 153, 153); cursor: pointer; list-style: none; justify-content: center; text-align: center;}
.faq-item summary::-webkit-details-marker{display: none;}
.faq-item summary::after{content: " +"; font-size: 0.9rem; color: rgb(85, 85, 85); transition: transform 0.2s;}
.faq-item[open] summary::after{content: " −";}
.faq-answer{font-size: 0.75rem; font-style: italic; color: rgb(119, 119, 119); padding-top: 0.75rem; line-height: 1.5; text-align: center;}
.closing{padding: 3rem 2rem; text-align: center; margin: 1rem auto 4rem; max-width: 600px;}
.closing-cta{font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.15em; color: rgb(85, 85, 85);}
.closing-cta a{color: rgb(136, 136, 136); text-decoration: none; transition: color 0.2s;}
.closing-cta a:hover{color: rgb(170, 170, 170);}
@media (max-width: 600px){
hr.divider-full{max-width: none; margin: 1.25rem 0px;}
.container{padding: 0px 1rem;}
.hero{padding: 3rem 1rem 1rem;}
.hero-logo{width: 140px; margin-bottom: 0.75rem;}
.hero-tagline{font-size: 0.85rem;}
.hero-name{font-size: 1.8rem; margin-bottom: 0.2rem;}
.hero-greek{font-size: 0.85rem; margin-bottom: 0.35rem;}
.hero-blurb{font-size: 0.85rem; white-space: normal; margin-top: 0.75rem;}
.hero-subtitle{font-size: 0.75rem;}
.pricing{padding: 1rem 0px;}
.pricing-card{padding: 0.75rem 0.5rem;}
.pricing-name{font-size: 0.6rem; margin-bottom: 0.25rem;}
.pricing-price{font-size: 1rem; margin-bottom: 0.25rem;}
.pricing-card .pricing-name{font-size: 1.4rem;}
.pricing-card .btn-primary{padding: 7px 28px; font-size: 0.6rem;}
.btn{padding: 3px 10px; font-size: 0.5rem; letter-spacing: 0.15em;}
.closing{padding: 1.5rem 1rem; margin: 0.5rem auto 3rem;}
.footer{padding: 2rem 1rem; margin-top: 1rem;}
}

/* Product-specific content inside the shared purchase card. */
.mpm-purchase{margin:0 auto}.mpm-purchase-card{max-width:360px;margin:0 auto}.mpm-purchase-emblem{margin:0 0 1.5rem}.mpm-purchase-emblem img{display:block;width:64px;height:64px;object-fit:contain;opacity:.85;margin:0 auto}.mpm-purchase-role{font-size:.7rem;font-style:italic;color:#666;line-height:1.5;margin:0}
.footer .footer-copyright{font-size:.65rem;color:#333;text-transform:uppercase;letter-spacing:.1em}
/* Explicit user request: tighten Eikon's divider/title gap, especially on mobile. */
.product-eikon .hero-name{margin-top:.75rem}
@media(max-width:600px){.mpm-purchase-card{max-width:300px}.product-eikon .hero-name{margin-top:.5rem}}

/* Same corner radius as Aletheia’s interface screenshots. */
.product-eidolon .interface-preview img{border-radius:8px}

/* Eikon's technical details use the same disclosure typography as Aletheia. */
.eikon-compatibility table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.75rem;color:#999}.eikon-compatibility th,.eikon-compatibility td{text-align:left;font-weight:400;padding:.65rem .35rem;border-bottom:1px solid rgba(255,255,255,.06)}.eikon-compatibility th{color:#bbb}.eikon-compatibility .camera-list{font-size:.75rem;color:#999;line-height:1.5}.eikon-compatibility .camera-list strong{font-weight:400;color:#bbb}
/* Section headings and explanatory text follow Aletheia's plugin sections. */
.product-eikon .feature-heading h2{font-size:1.3rem;font-weight:400;letter-spacing:.1em;line-height:1.6;text-transform:uppercase;color:#e0e0e0;margin-bottom:.25rem}.product-eikon .feature-heading p{font-size:.8rem;font-style:italic;line-height:1.6;color:#666}.product-eikon .feature-grid h3{font-size:1rem;font-weight:400;letter-spacing:normal;line-height:1.6;text-transform:none;color:#e0e0e0;margin-bottom:.5rem}.product-eikon .feature-grid p{font-size:.8rem;font-style:italic;line-height:1.7;color:#777}

/* Purchase dialogs share Aletheia's trial dialog and pricing typography. */
:is(#purchase,#buy-dialog).product-buy-dialog{background:rgba(10,10,12,.95);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:3rem 2.5rem;max-width:400px;width:90%;max-height:calc(100dvh - 40px);overflow:auto;margin:auto;text-align:center;box-shadow:0 16px 60px rgba(0,0,0,.3)}
.product-buy-dialog::backdrop{background:rgba(0,0,0,.8);backdrop-filter:blur(8px)}
:is(#purchase,#buy-dialog) .modal-close{top:1rem;right:1.25rem;padding:0;background:none;border:none;color:#666;font-size:1.4rem;line-height:1;transition:color .2s}
:is(#purchase,#buy-dialog) .modal-close:hover{color:#999}
.product-buy-dialog :is(.modal-name,.modal-title){font-family:'Times New Roman',Times,serif;font-size:1.2rem;font-weight:300;line-height:1.6;color:#fff;text-transform:uppercase;letter-spacing:.15em;margin:0 0 .5rem}
.product-buy-dialog :is(.purchase-includes,.modal-features){list-style:none;margin:1.5rem 0 2rem;padding:0;border:0}
.product-buy-dialog :is(.purchase-includes,.modal-features) li{font-family:'Times New Roman',Times,serif;font-size:.8rem;line-height:1.6;color:#bbb;padding:.35rem 0}
.product-buy-dialog :is(.purchase-includes,.modal-features) li::before{content:'✓';color:#666;margin-right:.5rem}
.product-buy-dialog .modal-price{font-size:2rem;font-weight:300;line-height:1.6;color:#fff;margin:0 0 1.5rem}
.product-buy-dialog .btn{width:auto;max-width:100%;padding:5px 16px;font-size:.65rem;font-weight:400;line-height:1.6;letter-spacing:.2em;color:#ccc;border:0;opacity:.85}
.product-buy-dialog .btn:disabled{opacity:.45;cursor:default}
.product-buy-dialog :is(.modal-status,.modal-note){font-size:.75rem;font-style:italic;line-height:1.6;color:#777;margin:1rem 0 0;min-height:0}
.product-buy-dialog :is(.modal-legal,.modal-foot){font-size:.7rem;line-height:1.7;color:#888;border:0;padding:0;margin:1.25rem 0 0}
.product-buy-dialog :is(.modal-legal,.modal-foot) a{text-decoration:none}
.product-buy-dialog .modal-legal a{margin:0 .4rem}
.mpm-purchase-card .btn{line-height:1.6}
@media(max-width:600px){
 :is(#purchase,#buy-dialog).product-buy-dialog{padding:2rem 1.5rem}
 .product-buy-dialog .modal-price{font-size:1rem;margin-bottom:.25rem}
 .product-buy-dialog .btn{padding:3px 10px;font-size:.5rem;letter-spacing:.15em}
}

/* Equal mobile spacing above and below the price. */
@media(max-width:600px){
:is(.product-eikon,.product-eidolon,.product-phos,.product-techne) .mpm-purchase-emblem{margin-bottom:0}
:is(.product-eikon,.product-eidolon,.product-phos,.product-techne) .mpm-purchase-price{margin:1rem 0;line-height:1.6}
}

.mpm-media-frame{padding:12px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.09);border-radius:18px;box-shadow:0 6px 24px rgba(0,0,0,.12)}
.product-eikon .mpm-media-frame img{border-radius:10px}
.mpm-media-frame .ba{border-radius:10px;box-shadow:none}
@media(max-width:600px){.mpm-media-frame{padding:7px;border-radius:14px}.product-eikon .mpm-media-frame img,.mpm-media-frame .ba{border-radius:7px}}
