/* =========================
   Design Tokens
========================= */

@font-face{
    font-family:'Inter';
    src:url('../fonts/inter-variable.woff2') format('woff2');
    font-weight:300 700;
    font-style:normal;
    font-display:swap;
}

:root{
    --bg:#0B1016;
    --bg-soft:#0B1016;
    --surface:#151C24;
    --surface-strong:#1A222C;
    --text:#E7ECEF;
    --muted:#9DA8B2;
    --muted-strong:#C7D0D6;
    --neon:#7FB8A8;
    --neon-soft:rgba(127,184,168,0.18);
    --green:#7FB8A8;
    --warm:#d8b06d;
    --border:#24303A;
    --border-strong:#33414C;
    --shadow-soft:none;
    --shadow-neon:none;
    --radius-sm:6px;
    --radius-md:8px;
    --radius-lg:8px;
    --radius-xl:8px;
    --container:1120px;
    --section-y:clamp(56px,8vw,92px);
    --ease:180ms ease;
}

/* =========================
   Base
========================= */

*{
    box-sizing:border-box;
}

html{
    min-width:320px;
    max-width:100%;
    overflow-x:hidden;
    font-size:16px;
    background:var(--bg);
}

body{
    max-width:100%;
    min-height:100vh;
    margin:0;
    overflow-x:hidden;
    color:var(--text);
    font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    line-height:1.65;
    background:linear-gradient(180deg, var(--bg), var(--bg-soft) 48%, var(--bg));
}

main{
    min-height:60vh;
}

a{
    color:inherit;
    overflow-wrap:anywhere;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible{
    outline:2px solid var(--neon);
    outline-offset:4px;
}

img,
svg,
video{
    max-width:100%;
    height:auto;
}

p,
li,
pre,
code,
strong{
    overflow-wrap:anywhere;
}

p{
    margin:0;
}

/* =========================
   Typography
========================= */

h1,
h2,
h3,
h4{
    margin:0;
    font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    font-weight:650;
    line-height:1.12;
    letter-spacing:0;
}

h1{
    max-width:980px;
    margin-inline:auto;
    font-size:clamp(2.75rem,6vw,4.1rem);
}

h2{
    font-size:2.05rem;
}

h3{
    font-size:1.12rem;
}

h4{
    font-size:1rem;
}

/* =========================
   Layout
========================= */

.container{
    width:min(100% - 32px,var(--container));
    margin-inline:auto;
}

.section{
    padding-block:var(--section-y);
}

.section + .section{
    padding-top:0;
}

.home-feature-section{
    padding-top:clamp(52px,7vw,78px);
    padding-bottom:clamp(48px,6vw,68px);
}

.home-pricing-section{
    padding-top:0;
}

.section-title{
    max-width:850px;
    color:var(--neon);
}

.section-sub,
.section-text{
    max-width:760px;
    margin-top:16px;
    color:var(--muted);
    font-size:1.04rem;
    line-height:1.78;
}

.section-sub{
    margin-bottom:34px;
}

.highlight{
    color:var(--neon);
    font-weight:650;
}

/* =========================
   Navbar
========================= */

.navbar{
    position:sticky;
    top:0;
    z-index:50;
    border-bottom:1px solid rgba(36,48,58,0.12);
    background:rgba(8,10,15,0.84);
    backdrop-filter:blur(12px);
}

.nav-wrapper{
    width:min(100% - 32px,1180px);
    min-height:68px;
    margin-inline:auto;
    padding-block:12px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}

.logo,
.footer-logo{
    display:inline-flex;
    align-items:center;
    width:max-content;
    color:var(--neon);
    font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    font-weight:700;
    letter-spacing:0;
    line-height:1;
    text-decoration:none;
    white-space:nowrap;
}

.logo{
    min-height:36px;
    font-size:1rem;
}

.logo span,
.footer-logo span{
    color:var(--neon);
}

.nav-links{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:wrap;
}

.sr-only{
    position:absolute;
    width:1px;
    height:1px;
    margin:-1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    clip-path:inset(50%);
    white-space:nowrap;
}

.nav-toggle{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    clip-path:inset(50%);
    white-space:nowrap;
}

.nav-toggle-btn{
    display:none;
    width:42px;
    height:42px;
    border:1px solid rgba(36,48,58,0.18);
    border-radius:var(--radius-md);
    background:rgba(255,255,255,0.045);
    cursor:pointer;
}

.nav-toggle-btn span:not(.sr-only){
    display:block;
    width:18px;
    height:2px;
    border-radius:999px;
    background:var(--text);
    transition:
        transform var(--ease),
        opacity var(--ease),
        background var(--ease);
}

.nav-toggle:focus-visible + .nav-toggle-btn{
    outline:2px solid var(--neon);
    outline-offset:4px;
}

.nav-toggle:checked + .nav-toggle-btn{
    border-color:var(--border-strong);
    background:rgba(127,184,168,0.08);
}

.nav-toggle:checked + .nav-toggle-btn span:not(.sr-only){
    background:var(--neon);
}

.nav-toggle:checked + .nav-toggle-btn span:nth-of-type(2){
    transform:translateY(7px) rotate(45deg);
}

.nav-toggle:checked + .nav-toggle-btn span:nth-of-type(3){
    opacity:0;
}

.nav-toggle:checked + .nav-toggle-btn span:nth-of-type(4){
    transform:translateY(-7px) rotate(-45deg);
}

.nav-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:0 14px;
    border:1px solid rgba(36,48,58,0.14);
    border-radius:var(--radius-md);
    color:var(--muted);
    background:rgba(255,255,255,0.035);
    font-size:0.94rem;
    font-weight:700;
    text-decoration:none;
    transition:
        color var(--ease),
        background var(--ease),
        border-color var(--ease),
        box-shadow var(--ease);
}

.nav-btn:hover{
    color:var(--neon);
    border-color:var(--border-strong);
    background:rgba(127,184,168,0.08);
}

.nav-btn.active{
    color:#021210;
    border-color:transparent;
    background:var(--neon);
}

.language-switcher{
    position:relative;
}

.language-switcher summary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:48px;
    min-height:40px;
    padding:0 10px;
    border:1px solid rgba(36,48,58,0.14);
    border-radius:var(--radius-md);
    color:var(--muted);
    background:rgba(255,255,255,0.035);
    cursor:pointer;
    list-style:none;
    font-size:0.78rem;
    font-weight:800;
    transition:
        color var(--ease),
        background var(--ease),
        border-color var(--ease);
}

.language-switcher summary::-webkit-details-marker{
    display:none;
}

.language-switcher[open] summary,
.language-switcher summary:hover{
    color:var(--neon);
    border-color:var(--border-strong);
    background:rgba(127,184,168,0.08);
}

.language-menu{
    position:absolute;
    top:calc(100% + 8px);
    right:0;
    z-index:70;
    min-width:138px;
    padding:8px;
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    background:rgba(21,28,36,0.98);
    box-shadow:var(--shadow-soft);
}

.language-menu a{
    display:block;
    padding:9px 10px;
    border-radius:var(--radius-sm);
    color:var(--muted);
    font-size:0.88rem;
    font-weight:700;
    text-decoration:none;
}

.language-menu a:hover,
.language-menu a:focus-visible{
    color:var(--neon);
    background:rgba(127,184,168,0.08);
}

/* =========================
   Hero
========================= */

.hero{
    position:relative;
    isolation:isolate;
    padding-block:clamp(72px,10vw,118px) clamp(46px,7vw,74px);
    text-align:center;
}

.hero-content{
    display:flex;
    flex-direction:column;
    align-items:center;
}

.badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    max-width:100%;
    min-height:38px;
    margin-bottom:22px;
    padding:8px 15px;
    border:1px solid var(--border);
    border-radius:999px;
    color:var(--neon);
    background:rgba(127,184,168,0.09);
    box-shadow:none;
    font-size:0.78rem;
    font-weight:800;
    line-height:1.35;
    letter-spacing:0;
    text-transform:uppercase;
}

.hero p{
    max-width:780px;
    margin-top:22px;
    color:var(--muted);
    font-size:1.1rem;
    line-height:1.82;
}

.hero-buttons{
    display:flex;
    justify-content:center;
    gap:14px;
    flex-wrap:wrap;
    margin-top:34px;
}

.home-hero{
    min-height:min(640px,calc(100svh - 68px));
    padding-block:clamp(58px,8vw,94px);
    border-bottom:1px solid rgba(36,48,58,0.08);
    text-align:left;
}

.home-hero .hero-content{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(300px,360px);
    gap:clamp(34px,6vw,72px);
    align-items:center;
}

.home-hero h1{
    max-width:780px;
    margin-inline:0;
    font-size:3.7rem;
}

.home-hero p{
    max-width:690px;
}

.home-hero .hero-buttons{
    justify-content:flex-start;
}

.hero-status{
    width:100%;
    padding:24px;
    border:1px solid var(--border);
    border-radius:var(--radius-xl);
    background:var(--surface);
    box-shadow:none;
}

.status-header{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:18px;
    color:var(--neon);
    font-weight:800;
}

.status-dot{
    width:9px;
    height:9px;
    border-radius:50%;
    background:var(--green);
    box-shadow:none;
}

.status-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding-block:14px;
    border-top:1px solid rgba(36,48,58,0.12);
    color:var(--muted);
}

.status-row strong{
    color:var(--text);
    font-size:0.82rem;
    text-align:right;
}

.hero-service-card{
    display:grid;
    gap:16px;
    width:100%;
    max-width:420px;
    justify-self:end;
    padding:22px;
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    background:var(--surface);
}

.hero-service-card h2{
    margin:0;
    color:var(--text);
    font-size:1.35rem;
}

.hero-service-rows{
    display:grid;
    gap:0;
    border-block:1px solid var(--border);
}

.hero-service-rows div{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:11px 0;
    color:var(--muted);
}

.hero-service-rows div + div{
    border-top:1px solid rgba(36,48,58,0.18);
}

.hero-service-rows strong{
    color:var(--text);
    text-align:right;
    font-size:0.92rem;
}

.hero-service-price{
    display:grid;
    gap:4px;
}

.hero-service-price span{
    color:var(--muted);
    font-size:0.82rem;
    font-weight:750;
}

.hero-service-price strong{
    color:var(--text);
    font-size:1.22rem;
    line-height:1.2;
}

.hero-service-card .cta{
    width:100%;
}

/* =========================
   Buttons
========================= */

.cta,
.secondary-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    max-width:100%;
    padding:0 22px;
    border:0;
    border-radius:var(--radius-md);
    cursor:pointer;
    font-weight:800;
    line-height:1.2;
    text-align:center;
    text-decoration:none;
    transition:
        transform var(--ease),
        color var(--ease),
        background var(--ease),
        border-color var(--ease),
        box-shadow var(--ease);
}

.cta{
    color:#021210;
    background:var(--neon);
    box-shadow:var(--shadow-neon);
}

.cta:hover{
    transform:translateY(-2px);
    box-shadow:none;
}

.secondary-btn{
    color:var(--text);
    border:1px solid var(--border);
    background:rgba(255,255,255,0.035);
}

.cta:disabled,
.secondary-btn:disabled{
    cursor:not-allowed;
    opacity:0.56;
    transform:none;
}

.secondary-btn:hover{
    color:var(--neon);
    border-color:var(--border-strong);
    background:rgba(127,184,168,0.08);
}

.dashboard-nav .secondary-btn.active{
    color:#021210;
    border-color:transparent;
    background:var(--neon);
}

.dashboard-nav .secondary-btn.active:hover{
    color:#021210;
    background:#6FA596;
    box-shadow:none;
}

/* =========================
   Grids and Cards
========================= */

.grid,
.contact-grid,
.info-grid,
.price-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));
    gap:22px;
}

.home-feature-section .grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.card,
.price-card,
.service-card{
    position:relative;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:var(--radius-xl);
    background:var(--surface);
    box-shadow:var(--shadow-soft);
}

.card,
.price-card{
    display:flex;
    flex-direction:column;
    padding:clamp(22px,4vw,30px);
    transition:
        transform var(--ease),
        border-color var(--ease),
        box-shadow var(--ease);
}

.card:hover,
.price-card:hover{
    transform:translateY(-4px);
    border-color:var(--border-strong);
    box-shadow:none;
}

.card h3,
.price-card h3,
.service-card h2{
    color:var(--neon);
}

.card p,
.price-card p,
.service-card p{
    margin-top:13px;
    color:var(--muted);
    line-height:1.74;
}

.card .cta,
.card .secondary-btn{
    width:100%;
    margin-top:22px;
}

.benefit-grid{
    align-items:stretch;
}

.benefit-card{
    min-height:220px;
}

.benefit-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:auto;
    height:auto;
    margin-bottom:14px;
    border:0;
    border-radius:0;
    color:var(--neon);
    background:transparent;
    font-size:0.8rem;
    font-weight:700;
    line-height:1;
}

.how-section{
    padding-top:clamp(54px,7vw,82px);
}

.how-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
}

.how-step{
    position:relative;
    min-height:190px;
    padding:clamp(22px,4vw,30px);
    border:1px solid var(--border);
    border-radius:var(--radius-xl);
    background:var(--surface);
    box-shadow:var(--shadow-soft);
}

.how-step::before{
    content:"";
    position:absolute;
    top:28px;
    right:24px;
    width:44px;
    height:44px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(127,184,168,0.22), transparent 68%);
    pointer-events:none;
}

.how-step span{
    display:block;
    margin-bottom:18px;
    color:var(--neon);
    font-size:0.78rem;
    font-weight:800;
}

.how-step h3{
    color:var(--text);
}

.how-step p{
    margin-top:12px;
    color:var(--muted);
    line-height:1.74;
}

.faq-section{
    padding-top:clamp(54px,7vw,82px);
}

.faq-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    align-items:start;
}

.faq-card{
    padding:0;
    transition:
        transform var(--ease),
        border-color var(--ease),
        box-shadow var(--ease),
        background var(--ease);
}

.faq-card:hover,
.faq-card[open]{
    transform:translateY(-4px);
    border-color:var(--border-strong);
    box-shadow:none;
}

.faq-card summary{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    min-height:86px;
    padding:22px 24px;
    color:var(--neon);
    cursor:pointer;
    font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    font-size:1rem;
    font-weight:700;
    line-height:1.35;
    list-style:none;
}

.faq-card summary::-webkit-details-marker{
    display:none;
}

.faq-card summary::after{
    content:"+";
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:24px;
    height:24px;
    flex:0 0 auto;
    border:1px solid var(--border);
    border-radius:50%;
    color:var(--text);
    font-family:'Inter',system-ui,sans-serif;
    font-size:1rem;
    line-height:1;
    transition:
        transform var(--ease),
        border-color var(--ease),
        color var(--ease);
}

.faq-card[open] summary::after{
    transform:rotate(45deg);
    color:var(--neon);
    border-color:var(--border-strong);
}

.faq-answer{
    display:grid;
    grid-template-rows:0fr;
    transition:grid-template-rows var(--ease);
}

.faq-card[open] .faq-answer{
    grid-template-rows:1fr;
}

.faq-answer p{
    min-height:0;
    margin:0;
    overflow:hidden;
    padding:0 24px 24px;
    color:var(--muted);
    line-height:1.74;
}

.i18n-debug{
    position:fixed;
    right:12px;
    bottom:12px;
    z-index:100;
    max-width:min(420px,calc(100% - 24px));
    padding:10px 12px;
    border:1px solid var(--border-strong);
    border-radius:var(--radius-md);
    color:var(--neon);
    background:var(--surface);
    box-shadow:var(--shadow-soft);
    font:0.78rem/1.45 Consolas,'SFMono-Regular','Liberation Mono',monospace;
}

.service-card{
    max-width:920px;
    margin-inline:auto;
    padding:clamp(24px,5vw,42px);
}

.service-card + .service-card{
    margin-top:22px;
}

.service-card p + p,
.service-card ul + p{
    margin-top:14px;
}

.service-card .cta,
.service-card .secondary-btn{
    margin-top:24px;
}

.legal-stack .container{
    display:grid;
    gap:22px;
}

.legal-stack .service-card + .service-card{
    margin-top:0;
}

.feature-list{
    display:grid;
    gap:14px;
    margin-top:34px;
}

.feature{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:14px;
    align-items:start;
    padding:18px 20px;
    border:1px solid rgba(36,48,58,0.14);
    border-radius:var(--radius-lg);
    color:var(--muted-strong);
    background:rgba(255,255,255,0.035);
}

.feature span{
    min-width:42px;
    color:var(--neon);
    font-weight:800;
}

.price-card{
    text-align:left;
}

.pricing-grid{
    grid-template-columns:repeat(auto-fit,minmax(230px,260px));
    justify-content:center;
    max-width:1120px;
    margin-inline:auto;
}

.services-section{
    padding-top:clamp(42px,6vw,64px);
}

.home-intro-hero{
    padding-top:clamp(76px,10vw,120px);
    padding-bottom:clamp(48px,7vw,76px);
    text-align:center;
}

.home-intro-hero h1{
    max-width:760px;
    color:var(--text);
    font-size:clamp(2.35rem,5vw,3.8rem);
}

.home-intro-hero p{
    max-width:640px;
    margin:18px auto 0;
    color:var(--muted);
    font-size:1.06rem;
    line-height:1.7;
}

.home-services-hero{
    display:grid;
    align-items:center;
    padding-top:clamp(34px,5vw,58px);
    padding-bottom:clamp(48px,7vw,76px);
}

section.home-services-hero{
    padding-top:clamp(34px,5vw,58px);
    padding-bottom:clamp(48px,7vw,76px);
}

.home-services-hero .section-title,
.home-services-hero .section-sub{
    margin-left:auto;
    margin-right:auto;
    text-align:center;
}

.services-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    align-items:stretch;
    max-width:1180px;
    margin-inline:auto;
}

.service-card{
    display:flex;
    flex-direction:column;
    gap:12px;
    min-height:390px;
    padding:20px;
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    background:var(--surface);
}

.services-section .service-card{
    width:100%;
    max-width:none;
    margin-inline:0;
}

.service-card h3{
    color:var(--text);
    font-size:1.22rem;
    line-height:1.25;
}

.service-card__body{
    display:grid;
    gap:12px;
}

.service-card__title{
    margin:0;
}

.service-card__text{
    min-height:52px;
    font-size:0.95rem;
}

.service-card p{
    margin:0;
    color:var(--muted-strong);
    line-height:1.62;
}

.service-card--primary,
.service-card--active{
    border-color:rgba(127,184,168,0.62);
    box-shadow:0 0 0 1px rgba(127,184,168,0.12);
    background:rgba(127,184,168,0.055);
}

.service-card--muted{
    opacity:0.68;
    background:rgba(255,255,255,0.018);
}

.service-badge{
    display:inline-flex;
    align-items:center;
    width:max-content;
    max-width:100%;
    min-height:26px;
    padding:5px 10px;
    border:1px solid rgba(127,184,168,0.26);
    border-radius:999px;
    color:#0B1016;
    background:var(--neon);
    font-size:0.72rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:0;
}

.service-badge--muted{
    color:var(--muted);
    border-color:var(--border);
    background:rgba(255,255,255,0.035);
}

.service-feature-list,
.service-features{
    display:grid;
    gap:7px;
    margin:0;
    padding:0;
    list-style:none;
}

.service-feature-list li,
.service-features li{
    position:relative;
    padding-left:16px;
    color:var(--muted-strong);
    font-size:0.9rem;
    line-height:1.45;
}

.service-feature-list li::before,
.service-features li::before{
    content:"";
    position:absolute;
    left:0;
    top:0.66em;
    width:5px;
    height:5px;
    border-radius:999px;
    background:var(--neon);
    opacity:0.7;
}

.service-card__footer{
    display:grid;
    gap:8px;
    margin-top:auto;
    padding-top:14px;
    border-top:1px solid var(--border);
}

.service-card__price-label{
    color:var(--muted);
    font-size:0.82rem;
    font-weight:750;
}

.service-card__price-value{
    color:var(--text);
    font-size:1.3rem;
    line-height:1.18;
}

.service-card__price-meta{
    min-height:32px;
    color:var(--muted);
    font-size:0.9rem;
    line-height:1.45;
}

.service-card__action{
    width:100%;
    margin-top:6px;
}

.service-card__action--disabled{
    justify-content:center;
    opacity:0.72;
    pointer-events:none;
}

.service-feature-list--muted{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
}

.service-feature-list--muted li{
    padding:8px 10px;
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    background:rgba(255,255,255,0.02);
    color:var(--muted);
}

.service-feature-list--muted li::before{
    display:none;
}

.service-soon-note{
    margin-top:auto !important;
    padding-top:12px;
    border-top:1px solid var(--border);
    color:var(--muted) !important;
    font-size:0.9rem;
}

@media (max-width:900px){
    .home-services-hero{
        min-height:auto;
        padding-top:32px;
        padding-bottom:34px;
    }

    .services-grid{
        grid-template-columns:1fr;
    }

    .service-card{
        min-height:auto;
    }
}

.pricing-grid .price-card{
    min-height:360px;
    justify-content:flex-start;
    gap:18px;
    padding:26px;
}

.pricing-grid .price-card p{
    max-width:none;
    min-height:58px;
    margin:0;
    color:var(--muted-strong);
    font-size:0.96rem;
    line-height:1.65;
}

.featured-price{
    border-color:var(--border-strong);
    box-shadow:none;
}

.price-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:30px;
    align-self:flex-start;
    margin-bottom:0;
    padding:0 12px;
    border:1px solid var(--border);
    border-radius:999px;
    color:var(--neon);
    background:rgba(127,184,168,0.08);
    font-size:0.72rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:0;
}

.pricing-plan-card{
    min-width:0;
}

.pricing-card-trial{
    background:linear-gradient(180deg,rgba(21,30,40,0.92),rgba(12,17,24,0.98));
}

.pricing-card-recommended{
    border-color:rgba(127,184,168,0.45);
    box-shadow:none;
}

.pricing-card-longterm{
    border-color:rgba(180,204,212,0.26);
}

.pricing-card-kicker{
    display:block;
    color:var(--neon);
    font-size:0.78rem;
    font-weight:800;
    line-height:1.35;
}

.price-card-head{
    display:grid;
    gap:6px;
}

.price-card-head span{
    color:var(--muted);
    font-size:0.9rem;
}

.price{
    margin:0;
    color:#fff;
    font-size:2.35rem;
    font-weight:800;
    line-height:1;
}

.pricing-features{
    display:grid;
    gap:9px;
    margin:0;
    padding:0;
    list-style:none;
    color:var(--muted);
    font-size:0.94rem;
}

.compact-pricing-features{
    gap:7px;
    margin-top:2px;
    font-size:0.88rem;
}

.pricing-features li{
    position:relative;
    padding-left:22px;
}

.pricing-features li::before{
    content:"";
    position:absolute;
    top:0.72em;
    left:0;
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--neon);
}

.price-card .cta,
.price-card .secondary-btn{
    width:100%;
    margin-top:auto;
}

.download-buttons{
    display:grid;
    gap:12px;
    margin-top:22px;
}

.download-buttons .cta,
.download-buttons .secondary-btn{
    width:100%;
}

/* =========================
   Content Blocks
========================= */

.pgp-box,
.canary-box{
    margin-top:24px;
    overflow:auto;
    border:1px solid var(--border);
    border-radius:var(--radius-xl);
    background:var(--surface);
    box-shadow:var(--shadow-soft);
}

.contact-card{
    gap:14px;
}

.copy-scroll-field{
    width:100%;
    min-height:48px;
    padding:0 14px;
    overflow:auto;
    border:1px solid rgba(36,48,58,0.22);
    border-radius:var(--radius-md);
    color:var(--text);
    background:var(--bg);
    box-shadow:none;
    font:0.88rem/1.55 Consolas,'SFMono-Regular','Liberation Mono',monospace;
    white-space:nowrap;
    cursor:text;
}

.copy-scroll-field:focus{
    outline:none;
    border-color:var(--border-strong);
    box-shadow:none;
}

.pgp-scroll-field{
    display:block;
    min-width:100%;
    min-height:190px;
    padding:18px;
    resize:vertical;
    line-height:1.7;
}

.section-text + .contact-grid,
.section-text + .info-grid{
    margin-top:28px;
}

.pgp-box pre,
.canary-box pre{
    min-width:0;
    margin:0;
    padding:clamp(18px,4vw,30px);
    color:#cffdf3;
    font:0.86rem/1.72 Consolas,'SFMono-Regular','Liberation Mono',monospace;
    white-space:pre-wrap;
}

.quote{
    margin-top:30px;
    color:var(--neon);
    font-weight:800;
    text-align:center;
}

.content-list{
    margin:14px 0 0 1.15rem;
    padding:0;
    color:var(--muted);
    line-height:1.85;
}

.content-list li + li{
    margin-top:6px;
}

/* =========================
   Account
========================= */

.account-hero{
    padding-block:clamp(28px,4vw,46px) clamp(18px,3vw,28px);
}

.account-hero .hero-content{
    max-width:720px;
    align-items:center;
    text-align:center;
}

.account-hero h1{
    max-width:680px;
    margin-inline:auto;
    font-size:clamp(2.25rem,4vw,3rem);
}

.account-hero p{
    max-width:560px;
    line-height:1.7;
}

.account-section{
    padding-top:clamp(16px,3vw,30px);
}

.auth-grid{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(340px,0.86fr);
    gap:clamp(18px,3vw,26px);
    align-items:start;
    max-width:1060px;
    margin-inline:auto;
}

.auth-card,
.account-card{
    max-width:none;
    border-color:rgba(36,48,58,0.22);
    background:var(--surface);
    box-shadow:none;
}

.auth-card{
    min-height:auto;
    padding:clamp(24px,3.4vw,36px);
}

.auth-card::before,
.account-card::before{
    content:"";
    position:absolute;
    inset:0 0 auto;
    height:1px;
    background:rgba(127,184,168,0.32);
    opacity:1;
}

.auth-card:nth-child(2){
    position:sticky;
    top:86px;
}

.auth-card h2,
.account-card h2{
    font-size:clamp(1.55rem,2.8vw,2rem);
}

.auth-card > p,
.account-card > p{
    max-width:560px;
    color:var(--muted-strong);
}

.auth-form,
.account-summary{
    display:grid;
    gap:16px;
    margin-top:22px;
}

.form-label{
    color:var(--muted-strong);
    font-size:0.92rem;
    font-weight:700;
}

.auth-input,
.key-output{
    width:100%;
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    color:var(--text);
    background:var(--bg);
    box-shadow:none;
    font:0.92rem/1.55 Consolas,'SFMono-Regular','Liberation Mono',monospace;
    transition:
        border-color var(--ease),
        box-shadow var(--ease),
        background var(--ease);
}

.auth-input{
    min-height:56px;
    padding:0 18px;
}

.key-output{
    min-height:84px;
    padding:16px;
    resize:vertical;
}

.key-output-compact{
    min-height:54px;
    padding:0 16px;
    resize:none;
    letter-spacing:0.02em;
}

.auth-input:hover,
.key-output:hover,
.auth-input:focus,
.key-output:focus{
    border-color:var(--border-strong);
    background:var(--surface-strong);
    box-shadow:none;
}

.auth-input::placeholder,
.key-output::placeholder{
    color:rgba(167,178,198,0.62);
}

.auth-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:8px;
}

.auth-card .cta,
.auth-card .secondary-btn,
.account-card .secondary-btn{
    min-height:48px;
    padding-inline:24px;
}

.auth-message{
    margin-top:4px;
    color:var(--muted);
    font-size:0.93rem;
}

.auth-message:not(:empty),
.auth-alert{
    padding:10px 12px;
    border:1px solid rgba(36,48,58,0.18);
    border-radius:var(--radius-md);
    background:rgba(6,12,19,0.38);
}

.auth-alert{
    margin:10px 0 16px;
    color:var(--muted-strong);
    font-size:0.92rem;
    line-height:1.55;
}

.auth-message.success{
    border-color:rgba(158,220,143,0.34);
    color:#cde6bf;
    background:rgba(158,220,143,0.08);
}

.auth-message.error{
    border-color:rgba(255,128,128,0.34);
    color:#f1c0c0;
    background:rgba(255,128,128,0.08);
}

.auth-alert.warning{
    border-color:rgba(216,176,109,0.32);
    color:#f0d8aa;
    background:rgba(216,176,109,0.08);
}

.settings-email-panel{
    display:grid;
    gap:14px;
}

.settings-email-panel .settings-email-description{
    margin:0;
}

.settings-email-panel .settings-email-form{
    margin-top:0;
}

.settings-email-panel .secondary-btn{
    width:100%;
}

.settings-email-input{
    min-height:56px;
}

.settings-email-panel .settings-email-code{
    max-width:240px;
    margin-inline:auto;
    padding-inline:12px;
    text-align:center;
    font-size:1.45rem;
    font-weight:700;
    letter-spacing:0.32em;
}

.settings-email-panel .settings-email-code::placeholder{
    letter-spacing:0.18em;
}

.settings-email-notice{
    color:var(--neon);
    font-size:0.94rem;
    font-weight:600;
}

.settings-email-pending{
    color:var(--muted);
    font-size:0.96rem;
    padding:12px 14px;
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    background:rgba(6,12,19,0.38);
}

.settings-email-divider{
    width:100%;
    height:1px;
    margin:0;
    border:0;
    background:rgba(36,48,58,0.8);
}

.settings-email-actions{
    display:grid;
    gap:10px;
    margin-top:2px;
}

.settings-email-link-form{
    margin-top:0;
}

.settings-email-link-btn{
    padding:0;
    min-height:auto;
    border:0;
    border-radius:0;
    background:none;
    color:var(--muted);
    font-size:0.9rem;
    line-height:1.5;
    text-align:left;
    text-decoration:none;
    cursor:pointer;
}

.settings-email-link-btn:hover{
    color:var(--text);
    background:none;
}

.settings-email-switcher{
    display:grid;
    gap:10px;
}

.settings-email-switcher > summary{
    color:var(--muted);
    font-size:0.9rem;
    cursor:pointer;
    list-style:none;
}

.settings-email-switcher > summary::-webkit-details-marker{
    display:none;
}

.settings-email-switcher[open] > summary{
    color:var(--text);
}

.settings-email-verified{
    display:grid;
    gap:14px;
}

.settings-email-verified-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
}

.settings-email-verified-value{
    color:var(--text);
    font-size:1rem;
    line-height:1.5;
    word-break:break-word;
}

.settings-email-verified-badge{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:3px 10px;
    border:1px solid rgba(127,184,168,0.35);
    border-radius:999px;
    background:rgba(127,184,168,0.12);
    color:var(--neon);
    font-size:0.86rem;
    font-weight:700;
    white-space:nowrap;
}

.settings-email-remove{
    border-color:rgba(248,113,113,0.35);
    background:rgba(248,113,113,0.12);
    color:#f87171;
}

.settings-email-remove:hover{
    background:rgba(248,113,113,0.18);
    border-color:rgba(248,113,113,0.45);
}

.nojs-key-panel{
    display:grid;
    gap:0;
    margin-top:26px;
    padding:0;
    border:1px solid rgba(36,48,58,0.18);
    border-radius:var(--radius-lg);
    background:
        linear-gradient(180deg,rgba(7,13,20,0.7),rgba(8,13,18,0.92));
    overflow:hidden;
}

.nojs-key-panel summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:18px 20px;
    color:var(--neon);
    cursor:pointer;
    font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    font-size:1rem;
    font-weight:700;
    line-height:1.35;
    list-style:none;
}

.nojs-key-panel summary::-webkit-details-marker{
    display:none;
}

.nojs-key-panel summary::after{
    content:"+";
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:24px;
    height:24px;
    flex:0 0 auto;
    border:1px solid var(--border);
    border-radius:50%;
    color:var(--text);
    font-family:'Inter',system-ui,sans-serif;
    transition:
        transform var(--ease),
        border-color var(--ease),
        color var(--ease);
}

.nojs-key-panel[open] summary::after{
    transform:rotate(45deg);
    color:var(--neon);
    border-color:var(--border-strong);
}

.nojs-key-panel > :not(summary){
    margin-inline:20px;
}

.nojs-key-panel > :last-child{
    margin-bottom:20px;
}

.key-warning{
    margin-top:0;
    color:var(--muted-strong);
    line-height:1.72;
}

.key-create-form{
    padding-top:4px;
}

.key-notice{
    display:grid;
    gap:4px;
    padding:14px 16px;
    border:1px solid rgba(216,176,109,0.28);
    border-radius:var(--radius-md);
    color:var(--muted-strong);
    background:rgba(216,176,109,0.07);
}

.key-notice strong{
    color:var(--warm);
}

.key-notice span{
    color:var(--muted);
}

.key-save-actions{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.key-save-actions span{
    color:var(--muted);
    font-size:0.92rem;
}

.key-download-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:0 14px;
    border:1px solid var(--border);
    border-radius:var(--radius-sm);
    color:var(--text);
    background:rgba(255,255,255,0.035);
    font-size:0.9rem;
    font-weight:800;
    text-decoration:none;
    transition:
        transform var(--ease),
        border-color var(--ease),
        background var(--ease);
}

.key-download-link:hover{
    transform:translateY(-1px);
    border-color:var(--border-strong);
    background:rgba(127,184,168,0.08);
}

.form-hint{
    margin:0;
    color:var(--muted);
    font-size:0.93rem;
}

.check-row{
    display:flex;
    align-items:flex-start;
    gap:10px;
    color:var(--muted-strong);
    font-size:0.94rem;
    line-height:1.55;
}

.check-row input{
    width:18px;
    height:18px;
    margin-top:3px;
    accent-color:var(--neon);
    flex:0 0 auto;
}

.captcha-box{
    display:grid;
    gap:14px;
    padding:18px;
    border:1px solid rgba(36,48,58,0.24);
    border-radius:var(--radius-md);
    background:
        linear-gradient(180deg,rgba(5,9,14,0.72),rgba(6,11,16,0.9)),
        repeating-linear-gradient(135deg,rgba(255,255,255,0.02) 0 1px,transparent 1px 9px);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);
}

.server-captcha-box{
    margin-top:2px;
}

.captcha-topline{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    color:var(--text);
    font-size:0.92rem;
}

.captcha-refresh{
    min-height:32px;
    padding:0 10px;
    border:1px solid var(--border);
    border-radius:var(--radius-sm);
    color:var(--neon);
    background:rgba(127,184,168,0.06);
    cursor:pointer;
    font:inherit;
    font-size:0.82rem;
    font-weight:800;
    transition:
        border-color var(--ease),
        background var(--ease),
        color var(--ease);
}

.captcha-refresh:hover{
    border-color:var(--border-strong);
    background:rgba(127,184,168,0.12);
}

.captcha-grid{
    display:grid;
    grid-template-columns:repeat(6,56px);
    gap:8px;
}

.captcha-grid[aria-busy="true"]{
    opacity:0.62;
}

.captcha-tile{
    display:grid;
    width:56px;
    height:56px;
    padding:0;
    overflow:hidden;
    border:1px solid rgba(36,48,58,0.16);
    border-radius:7px;
    background:var(--surface-strong);
    cursor:pointer;
    transition:
        border-color var(--ease),
        box-shadow var(--ease),
        transform var(--ease);
}

.captcha-tile:hover{
    border-color:var(--border-strong);
    box-shadow:none;
    transform:translateY(-2px);
}

.captcha-tile:disabled{
    cursor:default;
}

.captcha-tile.selected{
    border-color:var(--green);
    box-shadow:none;
}

.captcha-tile.failed{
    border-color:var(--warm);
    box-shadow:none;
}

.captcha-tile svg,
.captcha-tile-image{
    width:100%;
    height:100%;
    display:block;
}

.captcha-message{
    min-height:22px;
    margin:0;
    color:var(--muted);
    font-size:0.9rem;
}

.captcha-message.success{
    color:var(--green);
}

.captcha-message.error{
    color:var(--warm);
}

.support-captcha-copy{
    display:grid;
    gap:4px;
}

.support-captcha-copy strong{
    display:block;
    color:var(--text);
    font-size:0.96rem;
}

.support-captcha-copy span{
    display:block;
    color:var(--muted);
    font-size:0.88rem;
    line-height:1.45;
}

.support-captcha .captcha-grid{
    grid-template-columns:repeat(3,56px);
}

.summary-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:11px 0;
    border-top:1px solid rgba(36,48,58,0.12);
    color:var(--muted);
}

.summary-row strong{
    color:var(--text);
    text-align:right;
}

.dashboard-shell{
    display:grid;
    gap:16px;
    max-width:1180px;
    margin-inline:auto;
}

.dashboard-hero,
.dashboard-panel,
.metric-card{
    border:1px solid var(--border);
    border-radius:var(--radius-xl);
    background:var(--surface);
    box-shadow:var(--shadow-soft);
}

.dashboard-hero{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:20px 24px;
}

.dashboard-kicker{
    display:block;
    margin-bottom:6px;
    color:var(--neon);
    font-size:0.72rem;
    font-weight:800;
    text-transform:uppercase;
}

.dashboard-hero h2{
    color:var(--text);
    font-size:1.55rem;
}

.dashboard-hero p{
    max-width:660px;
    margin-top:6px;
    color:var(--muted);
    font-size:0.95rem;
}

.dashboard-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:wrap;
}

.dashboard-header-actions{
    display:flex;
    align-items:flex-end;
    flex-direction:column;
    gap:10px;
}

.dashboard-nav{
    max-width:520px;
}

.dashboard-notice{
    padding:11px 14px;
    border:1px solid rgba(216,176,109,0.28);
    border-radius:var(--radius-md);
    color:#f0d8aa;
    background:rgba(216,176,109,0.08);
    font-size:0.92rem;
}

.dashboard-notice.warning{
    border-color:rgba(216,176,109,0.34);
}

.dashboard-notice code{
    color:var(--text);
    font-family:Consolas,'SFMono-Regular','Liberation Mono',monospace;
}

.dashboard-service-list{
    display:grid;
    gap:10px;
}

.dashboard-service-row{
    display:grid;
    grid-template-columns:minmax(0,1.4fr) minmax(92px,0.55fr) minmax(86px,0.45fr) auto;
    align-items:center;
    gap:12px;
    padding:13px 14px;
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    background:rgba(255,255,255,0.022);
}

.dashboard-service-row > div{
    display:grid;
    gap:3px;
    min-width:0;
}

.dashboard-service-row a{
    color:var(--text);
    font-weight:800;
    text-decoration:none;
    overflow-wrap:anywhere;
}

.dashboard-service-row a:hover{
    color:var(--neon);
}

.dashboard-service-row span{
    color:var(--muted);
    font-size:0.86rem;
}

.dashboard-service-row strong{
    color:var(--text);
    font-size:0.92rem;
}

.status-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:28px;
    padding:4px 9px;
    border:1px solid var(--border);
    border-radius:999px;
    background:rgba(255,255,255,0.025);
    white-space:nowrap;
}

.dashboard-cta{
    border-color:rgba(216,176,109,0.34);
    background:linear-gradient(180deg,rgba(47,36,25,0.72),rgba(23,19,15,0.95));
}

.dashboard-metrics{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}

.metric-card{
    display:grid;
    gap:6px;
    padding:16px 18px;
}

.metric-card span{
    color:var(--muted);
    font-size:0.9rem;
}

.metric-card strong{
    color:var(--text);
    font-size:1.12rem;
    line-height:1.2;
}

.dashboard-grid{
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(320px,0.9fr);
    gap:16px;
}

.dashboard-panel{
    padding:20px 24px;
}

.panel-title-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:14px;
}

.panel-title-row h3{
    color:var(--neon);
}

.panel-title-row span{
    color:var(--muted);
    font-size:0.9rem;
    text-align:right;
}

.account-summary.compact{
    margin-top:0;
}

.device-list{
    display:grid;
    gap:10px;
}

.device-row{
    display:grid;
    gap:4px;
    padding:12px;
    border:1px solid rgba(36,48,58,0.16);
    border-radius:var(--radius-md);
    background:rgba(255,255,255,0.025);
}

.device-row span{
    color:var(--text);
    font-weight:800;
}

.device-row strong,
.dashboard-empty{
    color:var(--muted);
    font-size:0.92rem;
}

.client-plan-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:12px;
}

.client-plan{
    display:grid;
    gap:8px;
    padding:14px;
    border:1px solid rgba(36,48,58,0.18);
    border-radius:var(--radius-md);
    background:rgba(255,255,255,0.026);
}

.dashboard-pricing-card{
    display:flex;
    flex-direction:column;
    align-content:start;
    min-height:100%;
}

.dashboard-pricing-card form{
    margin-top:auto;
}

.dashboard-panel-subtitle{
    margin:-2px 0 14px;
    color:var(--muted);
    font-size:0.92rem;
    line-height:1.5;
}

.dashboard-next-steps{
    gap:12px;
}

.next-step-list{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin:0 0 4px;
    padding:0;
    list-style:none;
}

.next-step-list li{
    display:flex;
    align-items:center;
    gap:9px;
    min-width:0;
    padding:10px 12px;
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    background:rgba(255,255,255,0.025);
}

.next-step-list span{
    display:inline-grid;
    place-items:center;
    flex:0 0 auto;
    width:24px;
    height:24px;
    border-radius:999px;
    color:#061412;
    background:var(--neon);
    font-size:0.78rem;
    font-weight:800;
}

.next-step-list strong{
    min-width:0;
    color:var(--text);
    font-size:0.9rem;
    line-height:1.25;
}

.dashboard-pricing-card .cta,
.dashboard-pricing-card .secondary-btn{
    width:100%;
}

.dashboard-pricing-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:8px;
    min-height:30px;
}

.dashboard-pricing-head .price-badge{
    flex:0 0 auto;
    min-height:24px;
    padding-inline:9px;
    font-size:0.66rem;
}

.client-plan h4{
    color:var(--neon);
}

.client-plan strong{
    color:var(--text);
    font-size:1.08rem;
}

.client-plan span{
    color:var(--muted);
    font-size:0.92rem;
}

.payment-shell{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(280px,0.42fr);
    gap:16px;
    max-width:1080px;
    margin-inline:auto;
}

.payment-panel,
.payment-help{
    max-width:none;
}

.payment-summary,
.xmr-invoice{
    display:grid;
    gap:14px;
}

.xmr-invoice{
    margin-top:22px;
}

.invoice-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(280px,320px);
    gap:16px;
    align-items:start;
}

.invoice-qr-panel{
    display:grid;
    gap:10px;
    padding:14px;
    border:1px solid rgba(36,48,58,0.16);
    border-radius:var(--radius-md);
    background:rgba(255,255,255,0.02);
}

.invoice-qr-panel h3{
    color:var(--text);
    font-size:1rem;
}

.invoice-qr-panel img{
    display:block;
    width:100%;
    max-width:240px;
    margin-inline:auto;
    border-radius:6px;
    border:1px solid rgba(36,48,58,0.16);
    background:#fff;
}

.invoice-qr-hint{
    color:var(--muted);
    font-size:0.9rem;
}

.invoice-uri{
    display:block;
    max-width:100%;
    padding:10px 11px;
    overflow:auto;
    border:1px solid rgba(36,48,58,0.16);
    border-radius:var(--radius-sm);
    color:var(--muted-strong);
    background:rgba(5,10,14,0.64);
    font-family:Consolas,'SFMono-Regular','Liberation Mono',monospace;
    font-size:0.8rem;
    line-height:1.45;
    white-space:nowrap;
}

.payment-grid{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(320px,0.85fr);
    gap:16px;
    align-items:start;
}

.invoice-left-col,
.invoice-right-col{
    display:grid;
    gap:16px;
}

.invoice-right-col{
    align-content:start;
}

.invoice-summary-panel,
.invoice-help-panel{
    padding:14px 16px;
}

.invoice-help-panel h3{
    font-size:0.98rem;
}

.invoice-help-panel .dashboard-empty{
    font-size:0.88rem;
}

.invoice-help-panel .dashboard-actions{
    gap:8px;
}

.invoice-help-panel .secondary-btn{
    min-height:36px;
    padding-inline:12px;
    font-size:0.82rem;
}

.invoice-status-card{
    padding:16px 20px;
}

.invoice-status-warning{
    border-color:rgba(216,176,109,0.34);
    background:linear-gradient(180deg,rgba(47,36,25,0.72),rgba(23,19,15,0.95));
}

.invoice-status-success{
    border-color:rgba(120,202,140,0.34);
    background:linear-gradient(180deg,rgba(24,44,35,0.7),rgba(16,24,20,0.95));
}

.invoice-status-danger{
    border-color:rgba(214,105,105,0.34);
    background:linear-gradient(180deg,rgba(46,27,27,0.72),rgba(23,16,16,0.95));
}

.invoice-qr-panel .summary-row{
    align-items:flex-start;
}

.invoice-mono{
    font-family:Consolas,'SFMono-Regular','Liberation Mono',monospace;
    font-size:0.83rem;
    overflow-wrap:anywhere;
    word-break:break-all;
}

.invoice-uri-wrap{
    border:1px solid rgba(36,48,58,0.16);
    border-radius:var(--radius-sm);
    padding:8px 10px;
    background:rgba(5,10,14,0.64);
}

.invoice-uri-wrap summary{
    cursor:pointer;
    color:var(--muted-strong);
    font-size:0.9rem;
}

.payment-field{
    display:grid;
    gap:6px;
    padding:10px 0;
    border-bottom:1px solid rgba(36,48,58,0.12);
}

.payment-label{
    color:var(--muted);
    font-size:0.85rem;
}

.payment-value,
.payment-address,
.payment-uri,
.summary-value{
    display:block;
    max-width:100%;
    overflow-wrap:anywhere;
    word-break:break-word;
    white-space:normal;
    color:var(--text);
    font-family:Consolas,'SFMono-Regular','Liberation Mono',monospace;
    font-size:0.83rem;
    line-height:1.45;
}

.invoice-disabled{
    opacity:0.7;
}

/* =========================
   Admin
========================= */

.admin-shell{
    gap:16px;
}

.admin-login-card{
    width:min(100%,560px);
    margin-inline:auto;
}

.admin-hero{
    align-items:center;
    gap:24px;
}

.admin-hero__content{
    min-width:0;
}

.admin-hero__eyebrow{
    margin-bottom:7px;
}

.admin-hero__title{
    margin:0;
}

.admin-hero__divider{
    width:52px;
    height:2px;
    margin:10px 0 12px;
    border-radius:999px;
    background:rgba(127,184,168,0.45);
}

.admin-hero__description{
    max-width:680px;
    margin:0;
    color:var(--muted);
    line-height:1.6;
}

.admin-hero__logout{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex:0 0 auto;
}

.admin-nav-card{
    width:100%;
    padding:12px;
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    background:var(--surface);
    overflow:hidden;
}

.admin-nav-scroll{
    max-width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
}

.admin-nav-scroll::-webkit-scrollbar{
    display:none;
}

.admin-nav-list{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.admin-nav-item{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:0 13px;
    border:1px solid var(--border);
    border-radius:var(--radius-sm);
    color:var(--muted-strong);
    background:rgba(255,255,255,0.025);
    font-weight:800;
    font-size:0.86rem;
    text-decoration:none;
    white-space:nowrap;
}

.admin-nav-item:hover{
    border-color:rgba(127,184,168,0.34);
    color:var(--text);
}

.admin-nav-item--active{
    color:var(--text);
    border-color:rgba(127,184,168,0.52);
    background:rgba(127,184,168,0.18);
}

.admin-nav-badge{
    min-width:22px;
    min-height:22px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 7px;
    border-radius:999px;
    color:var(--text);
    background:rgba(255,255,255,0.07);
    font-size:0.74rem;
    line-height:1;
}

.admin-nav-item--active .admin-nav-badge{
    color:var(--bg);
    background:var(--accent);
}

.admin-section-cards{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}

.admin-section-card{
    display:grid;
    gap:8px;
    padding:14px;
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    background:rgba(255,255,255,0.02);
    color:var(--muted);
}

.admin-section-card strong{
    color:var(--text);
    font-size:1.05rem;
}

.admin-user-stats{
    grid-template-columns:repeat(5,minmax(0,1fr));
    margin-bottom:14px;
}

.admin-user-filters{
    display:grid;
    grid-template-columns:1.3fr repeat(3,minmax(130px,0.7fr)) auto auto;
    gap:10px;
    align-items:end;
    margin-bottom:14px;
}

.admin-user-filters .form-label{
    display:none;
}

.admin-users-table{
    min-width:920px;
}

.admin-table-compact{
    min-width:720px;
}

.admin-details{
    margin-top:12px;
    padding:12px;
    border:1px solid var(--border);
    border-radius:var(--radius-sm);
    color:var(--muted);
    background:rgba(255,255,255,0.02);
}

.admin-details summary{
    cursor:pointer;
    color:var(--text);
    font-weight:800;
}

.admin-details code,
.admin-details p{
    overflow-wrap:anywhere;
}

.admin-danger-form{
    border:1px solid rgba(255,182,163,0.22);
    border-radius:var(--radius-md);
    padding:12px;
}

.admin-support-stats{
    grid-template-columns:repeat(5,minmax(0,1fr));
    margin-bottom:14px;
}

.admin-support-filters{
    display:grid;
    grid-template-columns:repeat(3,minmax(130px,0.7fr)) minmax(180px,1.2fr) auto auto;
    gap:10px;
    align-items:end;
    margin-bottom:14px;
}

.admin-support-filters .form-label{
    display:none;
}

.admin-support-table{
    min-width:920px;
}

.admin-support-card-list{
    display:none;
}

.admin-support-card{
    display:grid;
    gap:8px;
    padding:14px;
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    background:rgba(255,255,255,0.02);
}

.admin-support-card > div{
    display:flex;
    justify-content:space-between;
    gap:10px;
}

.admin-support-card strong,
.admin-support-card p{
    overflow-wrap:anywhere;
}

.admin-support-card p{
    margin:0;
    color:var(--muted);
}

.admin-ticket-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px 12px;
    margin-top:12px;
    color:var(--muted);
}

.admin-ticket-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(280px,360px);
    gap:16px;
    align-items:start;
}

.admin-ticket-sidebar{
    display:grid;
    gap:16px;
}

.admin-message-thread{
    display:grid;
    gap:12px;
}

.admin-thread-message{
    display:grid;
    gap:8px;
    padding:14px;
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    background:rgba(255,255,255,0.02);
}

.admin-thread-message header{
    display:flex;
    justify-content:space-between;
    gap:12px;
    color:var(--muted);
}

.admin-thread-message header strong{
    color:var(--text);
}

.admin-thread-message.internal{
    border-color:rgba(216,176,109,0.32);
    background:rgba(216,176,109,0.06);
}

.message-body{
    white-space:pre-wrap;
    overflow-wrap:anywhere;
    word-break:break-word;
    color:var(--muted-strong);
    line-height:1.55;
}

.admin-ticket-compose{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin-top:16px;
}

.admin-ticket-compose .auth-form,
.admin-ticket-sidebar .auth-form{
    padding:12px;
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    background:rgba(255,255,255,0.018);
}

.admin-ticket-compose h4{
    margin:0;
    color:var(--text);
}

.admin-quick-actions{
    display:grid;
    gap:8px;
}

.admin-quick-actions form{
    display:block;
}

.admin-panel{
    overflow:hidden;
}

.admin-table-wrap{
    width:100%;
    overflow:auto;
    border:1px solid rgba(36,48,58,0.14);
    border-radius:var(--radius-md);
}

.admin-table{
    width:100%;
    min-width:980px;
    border-collapse:collapse;
    color:var(--muted);
    font-size:0.88rem;
}

.admin-table th,
.admin-table td{
    padding:13px 14px;
    border-bottom:1px solid rgba(36,48,58,0.11);
    text-align:left;
    vertical-align:top;
}

.admin-table th{
    color:var(--muted-strong);
    background:rgba(255,255,255,0.025);
    font-size:0.76rem;
    text-transform:uppercase;
}

.admin-table tr:last-child td{
    border-bottom:0;
}

.admin-table strong,
.admin-table span{
    display:block;
}

.admin-table strong{
    color:var(--text);
}

.admin-actions{
    display:grid;
    gap:8px;
    min-width:240px;
}

.admin-actions form{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
}

.admin-input,
.admin-select{
    min-height:38px;
    min-width:0;
    border:1px solid var(--border);
    border-radius:var(--radius-sm);
    color:var(--text);
    background:var(--bg);
    font:0.86rem/1.4 'Inter',system-ui,sans-serif;
}

.admin-input{
    padding:0 10px;
}

.admin-select{
    padding:0 28px 0 10px;
}

.compact-btn{
    min-height:38px;
    padding-inline:12px;
    font-size:0.82rem;
}

.admin-badge{
    display:inline-flex;
    width:max-content;
    max-width:100%;
    padding:4px 9px;
    border:1px solid var(--border);
    border-radius:999px;
    color:var(--muted-strong);
    background:rgba(255,255,255,0.035);
    font-size:0.78rem;
    font-weight:800;
}

.admin-badge.active,
.admin-badge.paid{
    color:var(--green);
    border-color:rgba(158,220,143,0.32);
}

.admin-badge.trial,
.admin-badge.pending{
    color:var(--neon);
}

.admin-badge.expired,
.admin-badge.cancelled{
    color:var(--warm);
    border-color:rgba(216,176,109,0.32);
}

.admin-badge.no_subscription{
    color:var(--muted);
}

.admin-badge.banned,
.admin-badge.suspended,
.admin-badge.deleted{
    color:#ffb6a3;
    border-color:rgba(255,182,163,0.34);
}

.admin-list{
    display:grid;
    gap:10px;
}

.admin-section{
    display:grid;
    gap:12px;
}

.admin-grid{
    display:grid;
    gap:12px;
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.admin-card{
    padding:14px;
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    background:rgba(255,255,255,0.02);
}

.form-checkbox{
    display:flex;
    align-items:flex-start;
    gap:10px;
    color:var(--muted-strong);
    font-size:0.92rem;
}

.form-checkbox input{
    margin-top:3px;
}

.admin-panel .auth-form{
    display:grid;
    gap:10px;
}

.admin-panel textarea.auth-input{
    min-height:140px;
    padding:10px;
    resize:vertical;
    line-height:1.45;
}

.notice-success{
    border-color:rgba(158,220,143,0.34);
    background:rgba(158,220,143,0.08);
    color:#cde6bf;
}

.notice-error{
    border-color:rgba(255,128,128,0.34);
    background:rgba(255,128,128,0.08);
    color:#f1c0c0;
}

/* =========================
   Footer
========================= */

.footer{
    position:relative;
    margin-top:clamp(36px,6vw,72px);
    padding-block:54px 30px;
    border-top:1px solid rgba(36,48,58,0.12);
    background:var(--bg);
}

.footer::before{
    content:"";
    position:absolute;
    top:0;
    left:50%;
    width:min(640px,72vw);
    height:1px;
    transform:translateX(-50%);
    background:var(--border);
}

.footer-grid{
    display:grid;
    grid-template-columns:1.35fr repeat(2,minmax(160px,0.7fr));
    gap:34px;
}

.footer-logo{
    margin-bottom:13px;
    font-size:1.15rem;
}

.footer-text{
    max-width:360px;
    color:var(--muted);
    font-size:0.96rem;
}

.footer-block h4{
    margin-bottom:12px;
    color:var(--neon);
}

.footer-link{
    display:block;
    width:max-content;
    max-width:100%;
    color:var(--muted);
    font-size:0.95rem;
    text-decoration:none;
    transition:color var(--ease);
}

.footer-link + .footer-link{
    margin-top:9px;
}

.footer-link:hover{
    color:var(--neon);
}

.footer-link.onion{
    color:var(--warm);
}

.footer-link.onion:hover{
    color:#ffd28d;
}

.footer-bottom{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
    margin-top:42px;
    color:var(--muted);
    font-size:0.86rem;
    text-align:center;
}

.footer-bottom .dot{
    color:var(--neon);
}

/* =========================
   Simplified Visual Mode
========================= */

*,
*::before,
*::after{
    text-shadow:none !important;
    box-shadow:none !important;
}

body{
    background:var(--bg);
}

h1,
.section-title,
.logo span,
.footer-logo span,
.price,
.auth-message.success,
.auth-message.error,
.footer-link:hover,
.footer-link.onion:hover{
    text-shadow:none;
}

.navbar{
    background:rgba(11,16,22,0.96);
    backdrop-filter:none;
}

.nav-btn,
.language-switcher summary,
.secondary-btn,
.key-download-link,
.feature,
.device-row,
.client-plan{
    background:rgba(255,255,255,0.025);
}

.nav-btn.active,
.cta{
    background:var(--neon);
    box-shadow:none;
}

.nav-btn.active:hover,
.cta:hover{
    transform:none;
    background:#6FA596;
    box-shadow:none;
}

.badge,
.price-badge,
.captcha-refresh,
.language-switcher[open] summary,
.language-switcher summary:hover,
.nav-btn:hover,
.secondary-btn:hover,
.key-download-link:hover{
    background:rgba(127,184,168,0.055);
    box-shadow:none;
}

.language-menu,
.hero-status,
.card,
.price-card,
.service-card,
.how-step,
.faq-card,
.i18n-debug,
.pgp-box,
.canary-box,
.auth-card,
.account-card,
.captcha-box,
.dashboard-hero,
.dashboard-panel,
.metric-card{
    background:var(--surface);
    box-shadow:none;
}

.card:hover,
.price-card:hover,
.faq-card:hover,
.faq-card[open],
.captcha-tile:hover{
    transform:none;
    box-shadow:none;
}

.featured-price{
    box-shadow:none;
}

.status-dot{
    box-shadow:none;
}

.how-step::before,
.auth-card::before,
.account-card::before,
.footer::before{
    display:none;
}

.auth-input,
.key-output,
.copy-scroll-field{
    background:var(--bg);
    box-shadow:none;
}

.auth-input:hover,
.key-output:hover,
.auth-input:focus,
.key-output:focus,
.copy-scroll-field:focus{
    box-shadow:none;
}

.nojs-key-panel{
    background:var(--surface);
}

.captcha-box{
    background:var(--bg);
}

.captcha-tile{
    background:var(--surface-strong);
}

.captcha-tile.selected,
.captcha-tile.failed{
    box-shadow:none;
}

.footer{
    background:var(--bg);
}

/* =========================
   Document Pages
========================= */

.document-shell{
    max-width:1120px;
    margin-inline:auto;
}

.document-hero{
    padding-top:clamp(46px,6vw,68px);
    padding-bottom:clamp(30px,4vw,42px);
}

.document-meta-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin-top:20px;
}

.document-meta-card{
    padding:14px 16px;
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    background:var(--surface);
}

.document-meta-card span{
    display:block;
    color:var(--muted);
    font-size:0.84rem;
}

.document-meta-card strong{
    display:block;
    margin-top:6px;
    color:var(--text);
    font-size:0.95rem;
}

.document-layout{
    display:grid;
    grid-template-columns:minmax(250px,280px) minmax(0,1fr);
    gap:16px;
    align-items:start;
}

.document-sidebar{
    position:sticky;
    top:88px;
}

.document-main{
    display:grid;
    gap:12px;
}

.document-card{
    padding:18px 20px;
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    background:var(--surface);
}

.document-card h2,
.document-card h3{
    color:var(--neon);
}

.document-card ul{
    margin:12px 0 0;
    padding-left:18px;
    color:var(--muted-strong);
    line-height:1.72;
}

.document-card a{
    color:var(--muted-strong);
    text-decoration:none;
}

.document-card a:hover{
    color:var(--neon);
}

.document-section p{
    margin-top:12px;
    color:var(--muted-strong);
}

.document-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.status-label{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:26px;
    padding:0 10px;
    border:1px solid var(--border);
    border-radius:999px;
    font-size:0.74rem;
    font-weight:800;
    text-transform:uppercase;
}

.status-available{
    color:var(--green);
    border-color:rgba(158,220,143,0.34);
    background:rgba(158,220,143,0.1);
}

.status-row-group{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.document-hero h1{
    margin-top:10px;
    margin-inline:0;
    max-width:900px;
    font-size:clamp(2.1rem,4.2vw,3.1rem);
    text-shadow:none;
}

.document-hero .badge{
    margin-bottom:12px;
}

.legal-document{
    padding:0;
    overflow:hidden;
}

.legal-document .document-section{
    padding:20px;
}

.legal-document .document-section + .document-section{
    border-top:1px solid rgba(36,48,58,0.18);
}

.legal-document .document-section p:first-of-type{
    margin-top:10px;
}

.legal-note{
    margin:0;
    padding:18px 20px 20px;
    border-top:1px solid rgba(36,48,58,0.18);
    color:var(--muted);
    font-size:0.9rem;
}

.guide-client-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-top:14px;
}

.guide-client-card{
    display:grid;
    gap:10px;
    padding:14px;
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    background:rgba(255,255,255,0.02);
}

.guide-client-card h3{
    color:var(--text);
    font-size:1rem;
}

.guide-client-card p{
    margin:0;
    color:var(--muted);
    font-size:0.92rem;
    line-height:1.6;
}

.code-panel{
    margin:12px 0 0;
    padding:12px 14px;
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    background:var(--bg);
    color:var(--muted-strong);
    font:0.88rem/1.5 Consolas,'SFMono-Regular','Liberation Mono',monospace;
    overflow-x:auto;
}

.notice{
    margin-top:12px;
    padding:12px 14px;
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    background:rgba(255,255,255,0.02);
    color:var(--muted-strong);
}

.notice-warning{
    border-color:rgba(216,176,109,0.34);
    background:rgba(216,176,109,0.08);
    color:#e8d3ad;
}

.notice-muted{
    border-color:var(--border);
    background:rgba(255,255,255,0.02);
    color:var(--muted-strong);
}

.contact-channel-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-top:14px;
}

.contact-channel-card{
    display:grid;
    gap:10px;
    padding:14px;
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    background:rgba(255,255,255,0.02);
}

.contact-channel-card h3{
    color:var(--text);
    font-size:1rem;
}

.contact-channel-card p{
    margin:0;
    color:var(--muted);
    font-size:0.92rem;
    line-height:1.6;
}

.contact-value{
    width:100%;
    min-height:42px;
    padding:0 12px;
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    background:var(--bg);
    color:var(--muted-strong);
    font:0.87rem/1.2 Consolas,'SFMono-Regular','Liberation Mono',monospace;
    white-space:nowrap;
    overflow-x:auto;
}

.pgp-fingerprint{
    display:grid;
    gap:8px;
    margin-top:12px;
    padding:14px;
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    background:rgba(255,255,255,0.02);
}

.pgp-fingerprint h3{
    color:var(--text);
    font-size:1rem;
}

.canary-status-list{
    display:grid;
    gap:8px;
    margin:12px 0 0;
    padding:0;
    list-style:none;
}

.canary-status-list li{
    display:flex;
    justify-content:space-between;
    gap:14px;
    padding:10px 12px;
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    background:rgba(255,255,255,0.02);
}

.canary-status-list span{
    color:var(--muted);
}

.canary-status-list strong{
    color:var(--muted-strong);
    text-align:right;
}

.canary-info-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-top:14px;
}

.canary-info-card{
    display:grid;
    gap:8px;
    padding:14px;
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    background:rgba(255,255,255,0.02);
}

.canary-info-card h3{
    color:var(--text);
    font-size:1rem;
}

.canary-info-card p{
    margin:0;
    color:var(--muted);
    font-size:0.92rem;
    line-height:1.6;
}

.canary-archive-list{
    margin:12px 0 0;
    padding:0;
    list-style:none;
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    overflow:hidden;
}

.canary-archive-list li{
    display:grid;
    grid-template-columns:1.4fr .8fr 1fr .8fr;
    gap:10px;
    padding:12px 14px;
    background:rgba(255,255,255,0.02);
    color:var(--muted-strong);
    font-size:0.9rem;
}

.canary-archive-list li + li{
    border-top:1px solid rgba(36,48,58,0.18);
}

/* =========================
   Responsive
========================= */

@media (max-width:900px){
    h1{
        font-size:3.25rem;
    }

    h2{
        font-size:1.8rem;
    }

    .home-hero{
        min-height:auto;
    }

    .home-hero .hero-content{
        grid-template-columns:1fr;
    }

    .hero-service-card{
        justify-self:start;
        max-width:420px;
    }

    .document-meta-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .invoice-layout{
        grid-template-columns:1fr;
    }

    .invoice-right-col{
        order:-1;
    }

    .guide-client-grid{
        grid-template-columns:1fr;
    }

    .contact-channel-grid{
        grid-template-columns:1fr;
    }

    .canary-info-grid{
        grid-template-columns:1fr;
    }

    .canary-archive-list li{
        grid-template-columns:1fr;
    }

    .document-layout{
        grid-template-columns:1fr;
    }

    .document-sidebar{
        position:static;
    }

    .home-hero h1{
        font-size:3.1rem;
    }

    .hero-status{
        max-width:420px;
    }

    .home-feature-section .grid{
        grid-template-columns:1fr;
    }

    .services-grid{
        grid-template-columns:1fr;
    }

    .service-feature-list--muted{
        grid-template-columns:1fr;
    }

    .benefit-card{
        min-height:auto;
    }

    .how-grid{
        grid-template-columns:1fr;
    }

    .faq-grid{
        grid-template-columns:1fr;
    }

    .auth-grid{
        grid-template-columns:1fr;
    }

    .dashboard-metrics{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .dashboard-grid{
        grid-template-columns:1fr;
    }

    .admin-grid{
        grid-template-columns:1fr;
    }

    .payment-shell{
        grid-template-columns:1fr;
    }

    .client-plan-grid{
        grid-template-columns:1fr;
    }

    .auth-card:nth-child(2){
        position:relative;
        top:auto;
    }

    .nav-wrapper{
        gap:12px;
    }

    .nav-links{
        flex-wrap:nowrap;
    }

    .nav-btn{
        padding-inline:12px;
        font-size:0.9rem;
        white-space:nowrap;
    }

    .footer-grid{
        grid-template-columns:1fr 1fr;
    }

    .footer-block:first-child{
        grid-column:1 / -1;
    }
}

@media (max-width:800px){
    .payment-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width:680px){
    h1{
        font-size:2.45rem;
    }

    h2{
        font-size:1.55rem;
    }

    h3{
        font-size:1.05rem;
    }

    .section-sub,
    .section-text,
    .hero p{
        font-size:1rem;
    }

    .home-hero{
        padding-block:44px 42px;
    }

    .home-hero h1{
        font-size:2.35rem;
    }

    .home-hero .hero-buttons{
        justify-content:stretch;
    }

    .home-hero .hero-buttons .cta,
    .home-hero .hero-buttons .secondary-btn,
    .hero-service-card{
        width:100%;
    }

    .document-meta-grid{
        grid-template-columns:1fr;
    }

    .hero-status{
        max-width:none;
        padding:20px;
    }

    .account-hero{
        padding-block:30px 24px;
    }

    .account-hero h1{
        font-size:2.2rem;
    }

    .account-section{
        padding-top:18px;
    }

    .auth-actions{
        display:grid;
        grid-template-columns:1fr;
    }

    .auth-actions .cta,
    .auth-actions .secondary-btn{
        width:100%;
    }

    .key-save-actions{
        align-items:stretch;
        flex-direction:column;
    }

    .key-save-actions .secondary-btn,
    .key-save-actions .key-download-link{
        width:100%;
    }

    .captcha-topline{
        align-items:flex-start;
        flex-direction:column;
    }

    .captcha-refresh{
        width:100%;
    }

    .captcha-grid{
        grid-template-columns:repeat(3,56px);
        justify-content:center;
    }

    .support-captcha .captcha-grid{
        grid-template-columns:repeat(2,56px);
    }

    .dashboard-hero,
    .dashboard-actions,
    .dashboard-header-actions,
    .panel-title-row{
        align-items:stretch;
        flex-direction:column;
    }

    .dashboard-hero{
        padding:18px;
    }

    .admin-hero{
        align-items:flex-start;
    }

    .admin-hero__logout,
    .admin-hero__logout .secondary-btn{
        width:100%;
    }

    .dashboard-hero h2{
        font-size:1.35rem;
    }

    .dashboard-actions .cta,
    .dashboard-actions .secondary-btn{
        width:100%;
    }

    .admin-table{
        min-width:860px;
    }

    .admin-section-cards{
        grid-template-columns:1fr;
    }

    .admin-nav-card{
        padding:10px;
    }

    .admin-nav-list{
        flex-wrap:nowrap;
        min-width:max-content;
    }

    .admin-nav-item{
        min-height:44px;
        padding-inline:14px;
    }

    .admin-user-stats{
        grid-template-columns:1fr;
    }

    .admin-user-filters{
        grid-template-columns:1fr;
    }

    .admin-user-filters .form-label{
        display:block;
    }

    .admin-support-stats{
        grid-template-columns:1fr;
    }

    .admin-support-filters{
        grid-template-columns:1fr;
    }

    .admin-support-filters .form-label{
        display:block;
    }

    .admin-support-table-wrap{
        display:none;
    }

    .admin-support-card-list{
        display:grid;
        gap:12px;
    }

    .admin-ticket-layout,
    .admin-ticket-compose{
        grid-template-columns:1fr;
    }

    .admin-thread-message header,
    .admin-support-card > div{
        display:grid;
    }

    .admin-actions{
        min-width:210px;
    }

    .admin-actions form{
        grid-template-columns:1fr;
    }

    .compact-btn{
        width:100%;
    }

    .dashboard-metrics{
        grid-template-columns:1fr;
    }

    .summary-row{
        display:grid;
        gap:4px;
    }

    .summary-row strong{
        text-align:left;
    }

    .container,
    .nav-wrapper{
        width:min(100% - 24px,var(--container));
    }

    .nav-wrapper{
        display:grid;
        grid-template-columns:1fr auto;
        align-items:center;
        min-height:58px;
        gap:8px 12px;
        padding-block:8px;
    }

    .logo{
        min-height:40px;
        margin-inline:0;
        font-size:1.05rem;
    }

    .nav-toggle-btn{
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:5px;
        justify-self:end;
    }

    .nav-links{
        grid-column:1 / -1;
        display:grid;
        grid-template-columns:1fr;
        width:100%;
        max-height:0;
        gap:6px;
        overflow:hidden;
        opacity:0;
        pointer-events:none;
        transform:translateY(-4px);
        transition:
            max-height var(--ease),
            opacity var(--ease),
            padding var(--ease),
            transform var(--ease);
    }

    .nav-toggle:checked ~ .nav-links{
        max-height:520px;
        padding-top:6px;
        opacity:1;
        pointer-events:auto;
        transform:translateY(0);
    }

    .language-switcher summary{
        justify-content:flex-start;
        width:100%;
        min-height:38px;
        padding-inline:14px;
    }

    .language-menu{
        position:static;
        margin-top:6px;
        box-shadow:none;
    }

    .hero{
        padding-block:58px 38px;
    }

    .hero-buttons{
        width:100%;
        flex-direction:column;
    }

    .hero-buttons .cta,
    .hero-buttons .secondary-btn{
        width:100%;
    }

    .nav-btn{
        justify-content:flex-start;
        width:100%;
        min-height:38px;
        padding-inline:14px;
        border-radius:var(--radius-md);
        background:rgba(255,255,255,0.04);
        font-size:0.92rem;
    }

    .grid,
    .contact-grid,
    .info-grid,
    .price-grid{
        gap:16px;
    }

    .faq-card summary{
        min-height:auto;
        padding:20px;
        font-size:0.96rem;
    }

    .faq-answer p{
        padding:0 20px 20px;
    }

    .pricing-grid{
        grid-template-columns:minmax(0,340px);
        max-width:340px;
        justify-content:center;
    }

    .pricing-grid .price-card{
        padding:22px 20px;
    }

    .feature{
        grid-template-columns:1fr;
    }

    .footer-grid{
        grid-template-columns:1fr;
        gap:26px;
    }
}

@media (max-width:420px){
    html{
        font-size:15px;
    }

    h1{
        font-size:2.12rem;
    }

    h2{
        font-size:1.42rem;
    }

    .home-hero h1{
        font-size:2.05rem;
    }

    .container,
    .nav-wrapper{
        width:min(100% - 20px,var(--container));
    }

    .nav-links{
        grid-template-columns:1fr;
        gap:6px;
    }

    .logo{
        min-height:38px;
        font-size:1rem;
    }

    .nav-btn{
        min-height:40px;
        padding-inline:12px;
        font-size:0.9rem;
    }

    .pricing-grid{
        max-width:320px;
        grid-template-columns:minmax(0,320px);
    }

    .document-meta-grid{
        grid-template-columns:1fr;
    }

    .card,
    .price-card,
    .service-card{
        border-radius:var(--radius-lg);
    }

    .dashboard-nav{
        width:calc(100vw - 40px);
    }

    .dashboard-actions.dashboard-nav .secondary-btn{
        min-height:38px;
        padding-inline:11px;
        font-size:0.8rem;
    }
}

.billing-card-list{
    display:none;
}

.support-ticket-list{
    display:grid;
    gap:12px;
}

.support-ticket-card,
.support-message{
    display:grid;
    gap:8px;
    padding:14px;
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    background:rgba(255,255,255,0.025);
}

.support-ticket-card strong,
.support-message strong{
    color:var(--text);
}

.support-ticket-card span,
.support-message span{
    color:var(--muted);
    font-size:0.88rem;
}

.support-message > div{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.support-message p{
    margin:0;
    color:var(--muted);
    line-height:1.6;
    overflow-wrap:anywhere;
    word-break:break-word;
}

.support-message-admin{
    border-color:rgba(127,184,168,0.32);
    background:rgba(127,184,168,0.07);
}

.support-message-system{
    border-color:rgba(216,176,109,0.32);
    background:rgba(216,176,109,0.07);
}

.support-message-internal{
    border-style:dashed;
    border-color:rgba(157,168,178,0.34);
    background:rgba(255,255,255,0.018);
}

.admin-message-thread{
    display:grid;
    gap:12px;
}

.admin-message-thread .support-message{
    display:grid;
    gap:10px;
    padding:14px;
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    background:rgba(255,255,255,0.025);
}

.admin-message-thread .support-message header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.admin-message-thread .support-message header strong{
    color:var(--text);
}

.admin-message-thread .support-message header span{
    color:var(--muted);
    font-size:0.88rem;
}

.admin-message-thread .support-message .message-body{
    margin:0;
    color:var(--muted-strong);
    line-height:1.6;
    white-space:pre-wrap;
    overflow-wrap:anywhere;
    word-break:break-word;
}

.admin-message-thread .support-message-admin{
    border-color:rgba(127,184,168,0.32);
    background:rgba(127,184,168,0.07);
}

.admin-message-thread .support-message-system{
    border-color:rgba(216,176,109,0.32);
    background:rgba(216,176,109,0.07);
}

.admin-message-thread .support-message-internal{
    border-style:dashed;
    border-color:rgba(216,176,109,0.38);
    background:rgba(216,176,109,0.06);
}

@media (max-width:768px){
    html,
    body{
        max-width:100%;
        overflow-x:hidden;
    }

    .container,
    .page,
    .shell,
    .content,
    .document-shell,
    .hero-content{
        width:100%;
        max-width:100%;
        padding-left:16px;
        padding-right:16px;
    }

    .nav-wrapper{
        width:100%;
        max-width:100%;
        padding-left:16px;
        padding-right:16px;
    }

    .section{
        padding-block:28px;
    }

    .account-section{
        padding-top:12px;
    }

    h1{
        max-width:100%;
        font-size:clamp(2rem,8vw,3rem);
        line-height:1.08;
    }

    h2{
        font-size:clamp(1.4rem,5vw,2rem);
        line-height:1.12;
    }

    h3{
        font-size:clamp(1.05rem,4vw,1.35rem);
        line-height:1.15;
    }

    .section-sub,
    .roadmap-description,
    .document-hero p,
    .hero p{
        max-width:100%;
        font-size:0.98rem;
        line-height:1.5;
    }

    .dashboard-shell{
        gap:12px;
    }

    .dashboard-hero,
    .dashboard-panel,
    .metric-card{
        border-radius:var(--radius-lg);
    }

    .dashboard-hero{
        gap:12px;
        padding:16px;
    }

    .dashboard-hero h2,
    .section-title{
        font-size:clamp(1.3rem,6vw,1.7rem);
    }

    .dashboard-hero p{
        margin-top:4px;
        font-size:0.88rem;
        line-height:1.45;
    }

    .dashboard-panel,
    .card,
    .service-card,
    .auth-card,
    .document-card,
    .contact-channel-card,
    .guide-client-card{
        padding:16px;
        border-radius:var(--radius-lg);
    }

    .panel-title-row{
        gap:6px;
        margin-bottom:10px;
    }

    .panel-title-row span{
        text-align:left;
        font-size:0.82rem;
    }

    .dashboard-actions{
        gap:8px;
    }

    .dashboard-actions .cta,
    .dashboard-actions .secondary-btn,
    .auth-form .cta,
    .auth-form .secondary-btn{
        min-height:48px;
    }

    .dashboard-nav{
        display:flex;
        flex-direction:row;
        align-items:center;
        justify-content:flex-start;
        flex-wrap:nowrap;
        width:calc(100vw - 64px);
        max-width:100%;
        gap:8px;
        overflow-x:auto;
        margin-inline:-2px;
        padding:2px 2px 8px;
        scrollbar-width:thin;
        -webkit-overflow-scrolling:touch;
        overscroll-behavior-inline:contain;
    }

    .dashboard-actions.dashboard-nav .secondary-btn{
        flex:0 0 auto;
        width:auto;
        max-width:none;
        min-height:40px;
        padding:0 13px;
        border-radius:999px;
        white-space:nowrap;
        font-size:0.84rem;
    }

    .dashboard-header-actions{
        width:100%;
        align-items:stretch;
    }

    .dashboard-metrics{
        gap:10px;
    }

    .dashboard-service-row{
        grid-template-columns:1fr;
        align-items:start;
        gap:8px;
    }

    .dashboard-service-row .status-pill{
        width:max-content;
    }

    .metric-card{
        padding:14px;
    }

    .metric-card strong{
        font-size:1rem;
    }

    .client-plan-grid{
        grid-template-columns:1fr;
        gap:10px;
    }

    .next-step-list{
        grid-template-columns:1fr;
    }

    .client-plan{
        gap:8px;
        padding:14px;
        border-radius:var(--radius-lg);
    }

    .client-plan h4{
        font-size:1rem;
    }

    .client-plan strong{
        font-size:1.2rem;
    }

    .billing-payment-form{
        width:100%;
        max-width:100%;
        overflow:hidden;
        gap:10px;
    }

    .billing-payment-form .form-label{
        margin-top:0;
    }

    .billing-payment-form .admin-select{
        width:100%;
        max-width:100%;
        min-height:46px;
    }

    .billing-payment-form .cta{
        width:100%;
        min-width:0;
        padding-inline:14px;
        white-space:normal;
        overflow-wrap:anywhere;
        text-align:center;
    }

    input,
    select,
    textarea,
    button,
    .btn,
    .cta,
    .secondary-btn,
    .key-download-link{
        max-width:100%;
    }

    .auth-form,
    .form-row,
    .form-grid,
    .auth-actions,
    .document-actions{
        grid-template-columns:1fr;
        gap:10px;
    }

    .auth-input,
    .copy-scroll-field,
    .contact-value,
    textarea,
    select{
        width:100%;
        max-width:100%;
        min-height:46px;
        overflow-wrap:anywhere;
    }

    .copy-scroll-field,
    .contact-value,
    .key-output,
    .code-panel,
    .code-panel code,
    .payment-value,
    .payment-address,
    .payment-uri,
    .summary-value,
    .invoice-mono{
        white-space:normal;
        overflow-wrap:anywhere;
        word-break:break-word;
        max-width:100%;
    }

    .admin-table-wrap,
    .table-wrap{
        width:100%;
        max-width:100%;
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
    }

    .billing-history-panel .admin-table-wrap{
        display:none;
    }

    .billing-card-list{
        display:grid;
        gap:10px;
    }

    .billing-history-card{
        display:grid;
        gap:9px;
        padding:14px;
        border:1px solid rgba(36,48,58,0.16);
        border-radius:var(--radius-lg);
        background:rgba(255,255,255,0.025);
    }

    .billing-card-head,
    .billing-card-row{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
    }

    .billing-card-head strong,
    .billing-card-row strong{
        color:var(--text);
        text-align:right;
        overflow-wrap:anywhere;
    }

    .billing-card-head span{
        display:inline-flex;
        align-items:center;
        min-height:26px;
        padding:0 9px;
        border:1px solid rgba(36,48,58,0.16);
        border-radius:999px;
        color:var(--neon);
        background:rgba(127,184,168,0.07);
        font-size:0.78rem;
        font-weight:800;
    }

    .billing-card-row span{
        color:var(--muted);
        font-size:0.86rem;
    }

    .billing-card-actions{
        justify-content:stretch;
        margin-top:2px;
    }

    .billing-card-actions .secondary-btn,
    .billing-card-actions form,
    .billing-card-actions button{
        width:100%;
    }

    .home-hero{
        padding-block:34px 28px;
    }

    .home-hero h1{
        font-size:clamp(2rem,10vw,2.45rem);
    }

    .hero-status{
        padding:16px;
    }

    .pricing-grid{
        grid-template-columns:1fr;
        max-width:380px;
        gap:12px;
    }

    .pricing-grid .price-card{
        min-height:auto;
        gap:12px;
        padding:18px;
    }

    .pricing-grid .price-card p{
        min-height:auto;
        line-height:1.5;
    }

    .price{
        font-size:2rem;
    }

    .document-hero{
        padding-block:30px 24px;
    }

    .document-layout{
        grid-template-columns:1fr;
        gap:12px;
    }

    .document-sidebar{
        position:relative;
        top:auto;
    }

    .document-meta-grid,
    .contact-channel-grid,
    .guide-client-grid,
    .dashboard-grid,
    .auth-grid{
        grid-template-columns:1fr;
        gap:12px;
    }

    .document-section{
        padding-block:16px;
    }

    .captcha-grid{
        max-width:100%;
        overflow:hidden;
    }

    .payment-grid{
        grid-template-columns:1fr;
        gap:12px;
    }

    .invoice-qr-panel{
        align-items:stretch;
    }

    .invoice-qr-panel img{
        width:220px;
        height:220px;
        margin-inline:auto;
    }

    .invoice-summary-panel,
    .invoice-help-panel{
        min-width:0;
    }

    .device-row{
        padding:12px;
    }

    .account-summary.compact{
        min-width:0;
    }
}

@media (max-height:460px) and (orientation:landscape){
    .navbar{
        position:relative;
    }

    .hero{
        padding-block:42px 30px;
    }
}

/* Billing history has two renderings: desktop table and mobile cards. */
@media (min-width:769px){
    .billing-history-panel .admin-table-wrap{
        display:block !important;
    }

    .billing-card-list{
        display:none !important;
    }
}

@media (max-width:768px){
    .billing-history-panel .admin-table-wrap{
        display:none !important;
    }

    .billing-card-list{
        display:grid !important;
    }
}

@media (prefers-reduced-motion:reduce){
    *,
    *::before,
    *::after{
        transition-duration:0.01ms !important;
        animation-duration:0.01ms !important;
        animation-iteration-count:1 !important;
        scroll-behavior:auto !important;
    }

    .card:hover,
    .price-card:hover,
    .cta:hover{
        transform:none;
    }
}

/* =========================
   Dashboard Mobile Overflow Fixes
========================= */
.dashboard-shell,
.dashboard-hero,
.dashboard-panel,
.dashboard-email-prompt,
.metric-card,
.dashboard-actions,
.dashboard-service-row,
.settings-email-panel,
.settings-email-form,
.captcha-box,
.server-captcha-box{
    width:100%;
    max-width:100%;
    box-sizing:border-box;
    min-width:0;
}

.dashboard-shell *,
.dashboard-panel *,
.dashboard-email-prompt *,
.settings-email-panel *,
.captcha-box *{
    max-width:100%;
    box-sizing:border-box;
}

.dashboard-shell,
.dashboard-hero,
.dashboard-panel,
.dashboard-email-prompt,
.metric-card,
.panel-title-row,
.summary-row,
.device-row,
.dashboard-service-row,
.settings-email-panel,
.settings-email-form,
.captcha-box{
    overflow-wrap:anywhere;
}

.dashboard-email-prompt{
    display:flex;
    align-items:flex-start;
    gap:16px;
    margin:0 0 18px;
    padding:18px 20px;
    border:1px solid var(--border-strong);
    border-radius:var(--radius-lg);
    background:var(--surface);
    color:var(--text);
}

.dashboard-email-prompt__content{
    display:grid;
    gap:10px;
    min-width:0;
}

.dashboard-email-prompt strong{
    display:block;
    color:var(--neon);
    font-size:1.05rem;
    line-height:1.3;
}

.dashboard-email-prompt p{
    max-width:820px;
    color:var(--muted);
    line-height:1.58;
}

.dashboard-email-prompt .cta{
    justify-self:start;
    margin-top:2px;
}

.cf-turnstile,
.cf-turnstile iframe,
iframe[src*="challenges.cloudflare.com"]{
    max-width:100% !important;
}

.cf-turnstile{
    width:100%;
    overflow:hidden;
}

.captcha-box .cf-turnstile{
    min-width:0;
}

@media (max-width:680px){
    .container,
    .dashboard-shell,
    .dashboard-hero,
    .dashboard-panel,
    .dashboard-email-prompt,
    .metric-card,
    .settings-email-panel,
    .captcha-box{
        max-width:100%;
        min-width:0;
    }

    .dashboard-email-prompt{
        display:block;
        margin-bottom:14px;
        padding:16px;
    }

    .dashboard-email-prompt__content{
        gap:9px;
    }

    .dashboard-email-prompt strong{
        font-size:1rem;
    }

    .dashboard-email-prompt p{
        line-height:1.5;
        font-size:0.92rem;
    }

    .dashboard-email-prompt .cta{
        width:100%;
        justify-self:stretch;
        min-width:0;
        margin-top:4px;
        white-space:normal;
        text-align:center;
    }

    .dashboard-grid,
    .dashboard-metrics{
        grid-template-columns:1fr;
    }

    .summary-row{
        align-items:flex-start;
        flex-direction:column;
        gap:4px;
    }

    .summary-row strong{
        text-align:left;
    }

    .settings-email-panel .settings-email-form{
        grid-template-columns:1fr;
        align-items:stretch;
    }

    .settings-email-panel .secondary-btn,
    .settings-email-submit,
    .settings-email-remove{
        width:100%;
    }
}

@media (max-width:480px){
    .section.account-section{
        padding-inline:0;
    }

    .dashboard-shell{
        gap:12px;
    }

    .dashboard-hero,
    .dashboard-panel,
    .dashboard-email-prompt,
    .metric-card,
    .captcha-box{
        padding:14px;
    }

    .dashboard-actions .cta,
    .dashboard-actions .secondary-btn,
    .auth-form .cta,
    .auth-form .secondary-btn{
        width:100%;
        min-width:0;
        padding-inline:12px;
        white-space:normal;
        text-align:center;
    }

    .panel-title-row{
        gap:8px;
    }

    .settings-email-pending,
    .settings-email-verified-value,
    .metric-card strong,
    .device-row strong{
        overflow-wrap:anywhere;
        word-break:break-word;
    }

    .captcha-box{
        gap:12px;
        overflow:hidden;
    }

    .cf-turnstile,
    .cf-turnstile iframe,
    iframe[src*="challenges.cloudflare.com"]{
        width:100% !important;
        min-width:0 !important;
    }
}
