@font-face {
    font-family:Open Sans;
    src:url('../fonts/OpenSans-Regular.ttf') format('truetype');
    font-weight:400;
    font-display:swap;
}
@font-face {
    font-family:Open Sans;
    src:url('../fonts/OpenSans-Semibold.ttf') format('truetype');
    font-weight:600 800;
    font-display:swap;
}
:root {
    --bg:#080a0c;
    --surface:#14171c;
    --raised:#1c2026;
    --line:#2a3038;
    --gold:#c7a466;
    --gold-light:#e5c98f;
    --text:#f5f1e8;
    --muted:#a8adb5;
}
* {
    box-sizing:border-box;
}
html {
    scroll-behavior:smooth;
    scroll-padding-top:100px;
}
body {
    margin:0;
    background:var(--bg);
    color:var(--text);
    font-family:'Open Sans',sans-serif;
    font-size:15px;
    line-height:1.75;
}
a {
    color:inherit;
    text-decoration:none;
}
button,input {
    font:inherit;
}
button,a,input,summary {
    -webkit-tap-highlight-color:transparent;
}
button {
    cursor:pointer;
}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible {
    outline:2px solid var(--gold-light);
    outline-offset:5px;
}
button {
    color:inherit;
}
h1,h2,h3,p {
    margin-top:0;
}
h1,h2,h3 {
    line-height:1.16;
}
h1 {
    font-size:clamp(42px,4.65vw,68px);
    font-weight:600;
    letter-spacing:-3px;
    margin-bottom:28px;
}
h2 {
    font-size:clamp(32px,3vw,44px);
    letter-spacing:-1.6px;
    font-weight:600;
    margin-bottom:22px;
}
h3 {
    font-weight:600;
}
.serif {
    font-family:Georgia,'Times New Roman',serif;
    font-style:italic;
    font-weight:400;
    letter-spacing:-1.4px;
}
p {
    color:var(--muted);
}
.gold {
    color:var(--gold);
}
.container {
    width:min(1180px,calc(100% - 96px));
    margin-inline:auto;
}
.section {
    padding-block:104px;
}
.eyebrow {
    font-size:10px;
    font-weight:600;
    letter-spacing:2.1px;
    color:var(--gold);
    margin-bottom:23px;
}
.site-header {
    position:sticky;
    top:0;
    z-index:10;
    background:#080a0cf5;
    border-bottom:1px solid #ffffff0d;
    backdrop-filter:blur(16px);
}
.header-inner {
    height:90px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
}
.brand {
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-size:18px;
    font-weight:600;
    letter-spacing:2px;
    white-space:nowrap;
}
.brand img {
    display:block;
}
nav {
    display:flex;
    gap:29px;
    align-items:center;
    font-size:12px;
}
nav>a {
    color:var(--muted);
    transition:color .2s;
}
nav>a:hover,nav>a.active {
    color:var(--gold-light);
}
.nav-cta {
    padding:10px 17px;
    border:1px solid #6c593b;
    border-radius:4px;
    color:var(--gold-light);
    margin-left:10px;
}
.nav-cta span {
    padding-left:14px;
}
.menu-toggle {
    border:1px solid var(--line);
    background:var(--surface);
    border-radius:4px;
    padding:8px 12px;
}
.hero {
    display:grid;
    grid-template-columns:1.1fr 1fr;
    align-items:center;
    gap:30px;
    min-height:775px;
    padding-block:64px 54px;
}
.hero-copy {
    position:relative;
    z-index:1;
    padding-bottom:25px;
}
.hero .eyebrow {
    display:flex;
    align-items:center;
    gap:12px;
}
.tiny-line {
    width:28px;
    height:1px;
    background:var(--gold);
}
.hero-description {
    max-width:475px;
    font-size:15px;
    line-height:1.9;
}
.hero-actions {
    display:flex;
    align-items:center;
    gap:28px;
    margin-top:33px;
}
.button {
    display:inline-flex;
    justify-content:center;
    align-items:center;
    gap:30px;
    font-size:12px;
    font-weight:600;
    border-radius:4px;
    padding:15px 22px;
    transition:background .2s,transform .2s;
}
.button:hover {
    transform:translateY(-2px);
}
.button-gold {
    background:var(--gold);
    color:#13110d;
}
.button-gold:hover {
    background:var(--gold-light);
}
.text-link {
    font-size:12px;
}
.text-link span {
    margin-left:10px;
    color:var(--gold);
}
.hero-footnote {
    display:flex;
    align-items:center;
    gap:10px;
    color:var(--muted);
    font-size:10px;
    margin-top:50px;
}
.mini-icon {
    font-size:20px;
    color:var(--gold);
}
.hero-visual {
    position:relative;
    display:flex;
    align-items:center;
    flex-direction:column;
    justify-content:center;
    isolation:isolate;
}
.hero-visual:before {
    content:'';
    position:absolute;
    inset:0 -20px;
    background:radial-gradient(ellipse,#c7a46617,transparent 65%);
    z-index:-2;
}
.orbit {
    position:absolute;
    width:510px;
    height:510px;
    border:1px solid #c7a46613;
    border-radius:50%;
    z-index:-1;
}
.orbit-two {
    width:625px;
    height:625px;
    border-style:dashed;
    opacity:.7;
}
.phone {
    position:relative;
    width:315px;
    border:5px solid #282b30;
    outline:1px solid #54514b;
    border-radius:43px;
    padding:12px 13px 9px;
    background:#000;
    box-shadow:18px 25px 70px #0009;
    transform:rotate(3deg);
    overflow:hidden;
}
.phone-status {
    display:flex;
    justify-content:space-between;
    font-size:9px;
    align-items:center;
    padding:1px 10px 14px;
}
.camera {
    background:#131416;
    border-radius:20px;
    width:76px;
    height:18px;
}
.phone-brand {
    display:flex;
    align-items:center;
    gap:5px;
    font-size:9px;
    letter-spacing:1.1px;
    padding-bottom:17px;
    border-bottom:1px solid #222;
}
.phone-brand>span {
    font-size:6px;
    color:var(--muted);
    margin-left:auto;
    letter-spacing:1px;
}
.phone-content {
    padding:17px 3px 0;
    min-height:454px;
}
.phone-content .eyebrow {
    font-size:8px;
    margin-bottom:6px;
    letter-spacing:1px;
}
.phone h2 {
    font-family:'Open Sans',sans-serif;
    font-size:19px;
    letter-spacing:-.5px;
    margin-bottom:15px;
}
.sample-search {
    display:flex;
    align-items:center;
    gap:8px;
    background:var(--surface);
    border:1px solid var(--line);
    padding:9px;
    border-radius:8px;
}
.sample-search>span:first-child {
    font-size:20px;
    line-height:1;
    color:var(--gold);
}
.sample-search input {
    width:100%;
    min-width:0;
    border:0;
    background:transparent;
    font-size:9px;
    color:var(--text);
    padding:2px;
}
.sample-search input::placeholder {
    color:var(--muted);
}
.sample-filters {
    display:flex;
    gap:6px;
    margin:10px 0 14px;
}
.sample-filters button {
    font-size:9px;
    border:1px solid var(--line);
    background:var(--surface);
    padding:5px 11px;
    border-radius:5px;
}
.sample-filters button.active {
    color:var(--gold-light);
    border-color:var(--gold);
    background:#c7a46619;
}
.result-heading {
    display:flex;
    justify-content:space-between;
    font-size:8px;
    color:var(--muted);
    margin-bottom:8px;
}
.sample-card {
    padding:11px 10px;
    margin-bottom:8px;
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:9px;
}
.card-top {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:6px;
    font-size:8px;
}
.card-top strong {
    font-weight:600;
}
.badge {
    font-size:6px;
    letter-spacing:.4px;
    color:var(--gold-light);
    border-radius:3px;
    background:#c7a46618;
    padding:3px 5px;
    white-space:nowrap;
}
.badge-blue {
    color:#92cbea;
    background:#38bdf815;
}
.sample-card h3 {
    font-size:11px;
    margin:9px 0 5px;
}
.sample-card p {
    font-size:9px;
    line-height:1.65;
    margin-bottom:9px;
}
.card-bottom {
    display:flex;
    justify-content:space-between;
    gap:5px;
    font-size:7px;
    color:var(--muted);
}
.card-bottom>span:first-child {
    color:var(--gold-light);
}
.phone-tabs {
    display:flex;
    justify-content:space-around;
    border-top:1px solid #222;
    padding-top:8px;
    margin-top:13px;
    color:var(--muted);
}
.phone-tabs>span {
    font-size:20px;
    text-align:center;
    line-height:1.3;
}
.phone-tabs small {
    display:block;
    font-size:7px;
}
.phone-tabs .selected {
    color:var(--gold);
}
.home-indicator {
    height:3px;
    width:94px;
    background:#eee;
    border-radius:10px;
    margin:14px auto 1px;
}
.floating-note {
    display:flex;
    align-items:center;
    gap:12px;
    position:absolute;
    left:-16px;
    top:124px;
    background:#181b20f5;
    border:1px solid #3b3c3e;
    padding:16px 20px;
    border-radius:9px;
    z-index:2;
    box-shadow:0 15px 40px #0007;
    font-size:11px;
    line-height:1.8;
    color:var(--muted);
}
.floating-note strong {
    color:var(--text);
    font-weight:400;
}
.note-icon {
    font-size:29px;
    color:var(--gold);
}
.preview-caption {
    font-size:9px;
    margin:25px 0 0;
    position:relative;
    color:var(--muted);
}
#sample-empty {
    font-size:11px;
    padding:16px 0;
}
.value-strip {
    border-block:1px solid var(--line);
    background:#101215;
}
.value-strip>.container {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding-block:25px;
}
.value-strip span {
    font-size:9px;
    letter-spacing:1.8px;
    color:var(--muted);
}
.value-strip p {
    margin:0;
    color:var(--text);
    font-family:Georgia,serif;
    font-size:24px;
}
.value-strip b {
    font-family:'Open Sans',sans-serif;
    color:var(--gold);
    font-weight:400;
    font-size:15px;
    margin-inline:22px;
}
.about {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
}
.about-copy .lead {
    font-size:18px;
    color:var(--text);
    line-height:1.7;
}
.about-copy p {
    font-size:13px;
    margin-bottom:17px;
}
.about-copy p:last-child {
    margin:0;
}
.features-section {
    background:#101215;
    border-block:1px solid #ffffff08;
}
.section-heading {
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:50px;
    margin-bottom:40px;
}
.section-heading h2 {
    margin-bottom:0;
}
.section-heading>p {
    font-size:12px;
    margin-bottom:4px;
}
.feature-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
}
.feature-card {
    position:relative;
    border:1px solid var(--line);
    border-radius:8px;
    padding:28px;
    background:#14171c;
}
.feature-primary {
    background:linear-gradient(145deg,#29241c,#14171c 80%);
    border-color:#625137;
}
.feature-icon {
    display:flex;
    justify-content:center;
    align-items:center;
    border:1px solid #64533766;
    border-radius:7px;
    background:#c7a46609;
    color:var(--gold);
    font-size:26px;
    width:44px;
    height:44px;
    margin-bottom:29px;
}
.feature-number {
    position:absolute;
    right:27px;
    top:34px;
    font-size:10px;
    color:#92979e;
}
.feature-card h3 {
    font-size:17px;
    line-height:1.4;
    margin-bottom:12px;
}
.feature-card p {
    font-size:12px;
    line-height:1.85;
    margin:0;
}
.keyword-row {
    display:flex;
    gap:8px;
    margin-top:20px;
}
.keyword-row span {
    font-size:9px;
    border:1px solid #63523977;
    color:var(--gold-light);
    padding:3px 9px;
    border-radius:4px;
}
.section-note {
    font-size:10px;
    margin:22px 0 0;
}
.steps {
    list-style:none;
    padding:0;
    margin:55px 0;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
}
.steps li {
    border-top:1px solid #594b35;
    padding-top:20px;
}
.step-number {
    color:var(--gold);
    font-family:Georgia,serif;
    font-size:28px;
}
.steps h3 {
    font-size:16px;
    margin:18px 0 12px;
}
.steps p {
    font-size:12px;
    line-height:1.85;
    margin:0;
}
.operations {
    display:grid;
    grid-template-columns:1fr 2fr;
    gap:65px;
    border:1px solid var(--line);
    border-left:2px solid var(--gold);
    border-radius:5px;
    background:#111417;
    padding:37px 40px;
}
.operations .eyebrow {
    margin-bottom:14px;
}
.operations h3 {
    font-size:24px;
    line-height:1.4;
    margin:0;
}
.operations p {
    font-size:12px;
}
.operations p:last-child {
    margin:0;
}
.faq-section {
    background:#101215;
    border-block:1px solid #ffffff08;
}
.faq-layout {
    display:grid;
    grid-template-columns:1fr 1.55fr;
    gap:80px;
}
.faq-layout>div>p:last-child {
    font-size:12px;
}
.faq-list details {
    border-bottom:1px solid var(--line);
}
.faq-list details:first-child {
    border-top:1px solid var(--line);
}
summary {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    cursor:pointer;
    list-style:none;
    padding:22px 0;
    font-size:13px;
}
summary::-webkit-details-marker {
    display:none;
}
summary::after {
    content:'+';
    color:var(--gold);
    font-size:22px;
    font-weight:400;
}
details[open] summary::after {
    content:'−';
}
.faq-list details p {
    font-size:12px;
    padding:0 30px 20px 0;
    margin:0;
}
.contact {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
}
.contact h2 {
    font-size:49px;
}
.contact p {
    font-size:13px;
}
.contact-details {
    border-top:1px solid #665337;
    padding-top:26px;
}
.contact-details h3 {
    font-size:22px;
}
.contact-details .eyebrow {
    font-size:10px;
}
.contact-email {
    font-family:Georgia,serif;
    font-size:clamp(17px,2vw,27px);
    overflow-wrap:anywhere;
}
.contact-email span {
    color:var(--gold);
}
.business-name {
    color:var(--text);
    margin-top:23px;
}
.store-links {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:4px;
    margin:12px 0 0 -11px;
}
.store-links:empty {
    display:none;
}
.store-badge {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:6px;
    transition:transform .2s;
}
.store-badge:hover {
    transform:translateY(-2px);
}
.store-badge img {
    display:block;
    width:auto;
    height:44px;
}
.app-store-badge {
    padding:11px;
}
/* Google's official artwork includes clear space around the black badge. */
.google-play-badge img {
    height:66px;
}
.site-footer {
    border-top:1px solid var(--line);
}
.footer-main {
    display:flex;
    justify-content:space-between;
    gap:25px;
    align-items:center;
    padding-block:30px;
}
.footer-main .brand {
    font-size:14px;
}
.footer-main p {
    font-size:10px;
    margin:0;
}
.footer-main>a:last-child {
    font-size:10px;
    color:var(--gold);
}
.footer-bottom {
    display:flex;
    justify-content:space-between;
    gap:20px;
    border-top:1px solid #ffffff09;
    color:var(--muted);
    font-size:9px;
    padding-block:22px;
}
.skip-link {
    position:fixed;
    z-index:100;
    top:-80px;
    left:20px;
    padding:10px 20px;
    background:var(--gold);
    color:#000;
}
.skip-link:focus {
    top:10px;
}
.sr-only {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}
[hidden] {
    display:none!important;
}
@media(min-width:1450px) {
    .hero {
        min-height:810px;
    }
    .phone {
        width:330px;
    }
    .phone-content {
        min-height:455px;
    }
    .sample-card {
        padding:13px 11px;
    }
}
@media(max-width:1100px) {
    .container {
        width:calc(100% - 64px);
    }
    nav {
        gap:18px;
    }
    .hero {
        gap:10px;
        min-height:740px;
    }
    h1 {
        letter-spacing:-2px;
    }
    .floating-note {
        left:-5px;
        top:105px;
        padding:12px;
    }
    .orbit {
        width:390px;
        height:390px;
    }
    .orbit-two {
        width:450px;
        height:450px;
    }
    .hero-visual:before {
        inset:0;
    }
    .about,.faq-layout,.contact {
        gap:45px;
    }
    .feature-card {
        padding:23px;
    }
    .hero-actions {
        gap:18px;
    }
    .hero-footnote {
        font-size:9px;
    }
}
@media(max-width:800px) {
    .header-inner {
        height:76px;
    }
    .brand {
        font-size:15px;
        letter-spacing:1.5px;
    }
    .brand img {
        width:31px;
        height:31px;
    }
    .menu-toggle:not([hidden]) {
        display:block;
    }
    nav {
        gap:12px;
        font-size:10px;
    }
    .nav-cta {
        margin:0;
        padding:8px;
    }
    .nav-cta span {
        padding-left:3px;
    }
    .js nav {
        display:none;
        position:absolute;
        top:75px;
        left:0;
        right:0;
        padding:20px 32px;
        background:#111417;
        border-bottom:1px solid var(--line);
        flex-direction:column;
        align-items:stretch;
        font-size:14px;
    }
    .js nav.is-open {
        display:flex;
    }
    .js nav a {
        padding:10px;
    }
    .hero {
        grid-template-columns:1fr;
        gap:50px;
        padding-block:60px 45px;
        text-align:center;
        overflow:hidden;
    }
    .hero-copy {
        padding-bottom:0;
    }
    .hero .eyebrow,.hero-actions,.hero-footnote {
        justify-content:center;
    }
    .hero h1 {
        font-size:54px;
    }
    .hero-description {
        margin-inline:auto;
    }
    .hero-footnote {
        margin-top:26px;
    }
    .hero-visual {
        padding-top:5px;
    }
    .floating-note {
        left:calc(50% - 220px);
        top:122px;
    }
    .phone {
        transform:rotate(2deg);
    }
    .value-strip>.container {
        justify-content:center;
    }
    .value-strip span {
        display:none;
    }
    .section {
        padding-block:70px;
    }
    .about {
        grid-template-columns:1fr;
        gap:20px;
    }
    .section-heading {
        align-items:flex-start;
        gap:25px;
    }
    .section-heading>p {
        max-width:210px;
    }
    .feature-grid {
        grid-template-columns:repeat(2,1fr);
    }
    .steps {
        grid-template-columns:repeat(2,1fr);
        gap:30px;
    }
    .operations {
        gap:30px;
        padding:28px;
        grid-template-columns:1fr 1.7fr;
    }
    .faq-layout {
        gap:40px;
        grid-template-columns:1fr 1.5fr;
    }
    .contact {
        gap:35px;
    }
    .footer-main p {
        display:none;
    }
    .footer-bottom {
        font-size:8px;
    }
}
@media(max-width:520px) {
    .container {
        width:calc(100% - 40px);
    }
    .header-inner {
        gap:10px;
    }
    .hero {
        padding-top:45px;
        gap:42px;
    }
    .hero h1 {
        font-size:43px;
        letter-spacing:-1.7px;
    }
    .hero-description {
        font-size:13px;
    }
    .eyebrow {
        font-size:9px;
        letter-spacing:1.7px;
    }
    .hero-actions {
        gap:19px;
    }
    .button {
        padding:13px 17px;
        gap:15px;
        font-size:11px;
    }
    .text-link {
        font-size:11px;
    }
    .phone {
        width:293px;
    }
    .floating-note {
        display:none;
    }
    .note-icon {
        font-size:23px;
    }
    .preview-caption {
        font-size:8px;
    }
    .value-strip p {
        font-size:21px;
    }
    .value-strip b {
        margin-inline:14px;
    }
    .section-heading {
        display:block;
    }
    .section-heading>p {
        max-width:none;
        margin-top:20px;
    }
    .feature-grid {
        grid-template-columns:1fr;
    }
    .feature-card {
        padding:25px;
    }
    .feature-icon {
        margin-bottom:22px;
    }
    .feature-card h3 {
        font-size:18px;
    }
    .feature-card p {
        font-size:13px;
    }
    .steps {
        gap:28px 20px;
    }
    .steps h3 {
        font-size:15px;
    }
    .steps p {
        font-size:11px;
    }
    .operations,.faq-layout,.contact {
        grid-template-columns:1fr;
        gap:26px;
    }
    .operations h3 br {
        display:none;
    }
    .operations {
        padding:26px;
    }
    .faq-layout {
        gap:20px;
    }
    .faq-list summary {
        font-size:12px;
    }
    .contact h2 {
        font-size:42px;
    }
    .contact-email {
        font-size:24px;
    }
    .footer-main {
        gap:10px;
    }
    .footer-main .brand {
        font-size:12px;
    }
    .footer-bottom {
        flex-direction:column;
        gap:8px;
    }
    .header-inner:has(nav:not(.is-open)):not(.js .header-inner) {
        flex-wrap:wrap;
        height:auto;
        min-height:76px;
        padding-block:10px;
    }
    body:not(.js) nav {
        flex-wrap:wrap;
    }
    h2 {
        font-size:32px;
    }
}
@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto;
    }
    *,*::before,*::after {
        transition:none!important;
    }
}
@media print {
    body {
        background:#fff;
        color:#111;
        font-size:11px;
    }
    .site-header {
        position:static;
        background:white;
    }
    .hero-visual,.hero-actions,.hero-footnote,.menu-toggle,nav,.store-links,.footer-main>a:last-child {
        display:none!important;
    }
    .container {
        width:100%;
    }
    .hero {
        display:block;
        min-height:0;
        padding:30px 0;
    }
    .hero h1 {
        font-size:36px;
    }
    .section {
        padding-block:25px;
    }
    p,.eyebrow,.gold,.section-note {
        color:#444;
    }
    .value-strip,.features-section,.faq-section,.operations,.feature-card {
        background:white;
    }
    .feature-card,.operations {
        break-inside:avoid;
    }
    .feature-grid {
        gap:10px;
    }
    .feature-card {
        padding:15px;
    }
    .feature-icon {
        display:none;
    }
    .faq-list details p {
        display:block!important;
        content-visibility:visible;
    }
    .faq-layout,.about,.contact {
        gap:20px;
    }
    .site-footer,.footer-bottom {
        color:#444;
    }
    .contact h2 {
        font-size:30px;
    }
}
/* App preview: aligned with the current Android emulator capture. */
.phone-brand {
    border-bottom:0;
    padding-bottom:7px;
}
.phone-content {
    padding-top:17px;
}
.sample-search {
    border-radius:14px;
    background:#1a1a1a;
}
.sample-filters button {
    border-radius:20px;
    padding:5px 14px;
    background:#1c2026;
}
.sample-filters button.active {
    background:var(--gold);
    color:#080a0c;
    border-color:var(--gold);
}
.result-heading {
    border-top:1px solid var(--line);
    padding-top:10px;
}
.sample-card {
    border:0;
    border-bottom:1px solid var(--line);
    border-radius:0;
    background:#000;
    padding:10px 4px;
    margin:0;
}
.badge {
    background:#38191f;
    color:#f0a4ac;
    border-radius:9px;
}
.badge-blue {
    background:#122d3b;
    color:#92cbea;
}
.phone-tabs {
    background:var(--surface);
    margin-inline:-13px;
    padding-bottom:8px;
}
.phone-tabs img {
    display:block;
    width:19px;
    height:19px;
    margin:0 auto 5px;
}
.phone-tabs small {
    font-size:8px;
}
