
.web-landing{
    --web-ink:#20332c;
    --web-muted:#66766f;
    --web-line:#dce8e3;
    --web-soft:#f2f8f5;
    --web-accent:#23775c;
    --web-accent-dark:#195d48;
    max-width:1040px;
    margin:0 auto;
    padding:30px 18px 64px;
    color:var(--web-ink);
}
.web-breadcrumbs{
    margin:0 0 18px;
    font-size:13px;
    color:var(--web-muted);
}
.web-breadcrumbs a{color:inherit}
.web-hero{
    padding:34px;
    border:1px solid var(--web-line);
    border-radius:28px;
    background:linear-gradient(180deg,#f8fcfa 0%,#eff8f4 100%);
}
.web-eyebrow{
    display:inline-flex;
    margin:0 0 12px;
    padding:6px 11px;
    border-radius:999px;
    background:#fff;
    border:1px solid var(--web-line);
    color:var(--web-accent);
    font-size:13px;
    font-weight:800;
}
.web-hero h1{
    margin:0;
    font-size:clamp(30px,6vw,54px);
    line-height:1.18;
    letter-spacing:.01em;
}
.web-lead{
    max-width:780px;
    margin:18px 0 0;
    font-size:clamp(16px,2.2vw,20px);
    line-height:1.9;
}
.web-trust{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:20px 0 0;
    padding:0;
    list-style:none;
}
.web-trust li{
    padding:8px 12px;
    border-radius:999px;
    background:#fff;
    border:1px solid var(--web-line);
    font-size:14px;
    font-weight:800;
}
.web-cta-row{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:24px;
}
.web-cta{
    display:inline-flex;
    min-height:50px;
    align-items:center;
    justify-content:center;
    padding:0 22px;
    border-radius:15px;
    background:var(--web-ink);
    color:#fff;
    text-decoration:none;
    font-weight:900;
}
.web-cta:hover{background:#111f1a}
.web-cta--secondary{
    background:#fff;
    color:var(--web-accent);
    border:1px solid #b9d8cd;
}
.web-section{
    margin-top:48px;
}
.web-section h2{
    margin:0 0 18px;
    font-size:clamp(24px,4vw,34px);
    line-height:1.35;
}
.web-section h3{
    margin:26px 0 8px;
    font-size:20px;
}
.web-section p,
.web-section li{
    font-size:16px;
    line-height:1.9;
}
.web-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}
.web-card{
    padding:22px;
    border:1px solid var(--web-line);
    border-radius:20px;
    background:#fff;
}
.web-card h2,.web-card h3{margin-top:0}
.web-card p:last-child{margin-bottom:0}
.web-card-link{
    display:block;
    height:100%;
    color:inherit;
    text-decoration:none;
}
.web-card-link:hover{border-color:#a9cec0;box-shadow:0 8px 24px rgba(32,51,44,.07)}
.web-number{
    display:inline-grid;
    width:34px;height:34px;
    place-items:center;
    border-radius:50%;
    background:#e8f4ef;
    color:var(--web-accent);
    font-weight:900;
}
.web-note{
    padding:20px 22px;
    border-left:4px solid #81bda7;
    border-radius:12px;
    background:var(--web-soft);
}
.web-app-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.web-app{
    padding:18px;
    border:1px solid var(--web-line);
    border-radius:18px;
}
.web-app strong{display:block;font-size:18px;margin-bottom:6px}
.web-faq{
    border-top:1px solid var(--web-line);
}
.web-faq details{
    border-bottom:1px solid var(--web-line);
    padding:16px 2px;
}
.web-faq summary{
    cursor:pointer;
    font-weight:800;
    line-height:1.6;
}
.web-faq p{margin-bottom:0}
.web-final{
    padding:30px;
    border-radius:24px;
    background:var(--web-ink);
    color:#fff;
}
.web-final h2{color:#fff}
.web-final .web-cta{
    background:#fff;
    color:var(--web-ink);
}
.web-small{font-size:13px;color:var(--web-muted)}

/* Tablet reading comfort: keep mobile density, add breathing room on larger touch screens. */
@media (min-width:761px) and (max-width:1100px){
    .web-landing{max-width:900px;padding:28px 30px 64px}
    .web-hero{padding:30px 32px}
    .web-hero h1{font-size:clamp(34px,4.4vw,44px);line-height:1.24}
    .web-lead{max-width:720px;font-size:17px;line-height:1.8}
    .web-section{margin-top:54px}
    .web-section h2{font-size:clamp(26px,3.2vw,31px);line-height:1.4}
    .web-section p,.web-section li{font-size:16px;line-height:1.82}
    .web-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
    .web-card{padding:24px}
    .web-final{padding:34px 36px}
}
@media(max-width:760px){
    .web-landing{padding:20px 14px 48px}
    .web-hero{padding:24px 20px;border-radius:22px}
    .web-grid,.web-app-list{grid-template-columns:1fr}
    .web-cta-row{display:grid}
    .web-cta{width:100%}
}

.web-effort{
    padding:30px;
    border:1px solid var(--web-line);
    border-radius:28px;
    background:var(--web-soft);
}
.web-effort-copy{
    max-width:820px;
}
.web-effort-copy .web-eyebrow{
    margin-bottom:10px;
}
.web-effort-copy h2{
    margin-bottom:14px;
}
.web-effort-gallery{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    margin-top:24px;
}
.web-effort-item{
    margin:0;
    padding:10px;
    border:1px solid var(--web-line);
    border-radius:22px;
    background:#fff;
}
.web-effort-item img{
    display:block;
    width:100%;
    height:auto;
    border-radius:15px;
}
.web-effort-item figcaption{
    padding:10px 6px 4px;
    color:var(--web-muted);
    font-size:13px;
    line-height:1.6;
    text-align:center;
}
@media(max-width:760px){
    .web-effort{
        padding:24px 18px;
        border-radius:22px;
    }
    .web-effort-gallery{
        grid-template-columns:1fr;
        gap:14px;
    }
}

.web-effort-compact{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(240px,.65fr);gap:28px;align-items:center;padding:28px;border:1px solid var(--web-line);border-radius:26px;background:var(--web-soft)}
.web-effort-compact-copy h2{margin-bottom:12px}
.web-effort-compact-figure{margin:0;padding:8px;border:1px solid var(--web-line);border-radius:20px;background:#fff}
.web-effort-compact-figure img{display:block;width:100%;height:auto;border-radius:14px}
.web-effort-compact-figure figcaption{padding:8px 4px 2px;color:var(--web-muted);font-size:12px;line-height:1.5;text-align:center}
@media(max-width:760px){.web-effort-compact{grid-template-columns:1fr;gap:18px;padding:22px 18px;border-radius:22px}.web-effort-compact-figure{max-width:440px;margin:0 auto}}


/* Real screenshots — same presentation logic as /web/how-to-use/ */
.web-real-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    margin-top:22px;
}
.web-real-card{
    display:grid;
    grid-template-columns:minmax(0,.78fr) minmax(250px,1.22fr);
    gap:20px;
    align-items:center;
    padding:20px;
    border:1px solid var(--web-line);
    border-radius:20px;
    background:#fff;
    text-decoration:none;
    color:inherit;
}
.web-real-card__copy h3{margin:0 0 8px}
.web-real-card__copy p{margin:0;color:var(--web-muted);font-size:14px;line-height:1.7}
.web-real-shot{
    margin:0;
    overflow:hidden;
    border:1px solid #dbe3ec;
    border-radius:16px;
    background:#f7f9fc;
    box-shadow:0 10px 24px rgba(25,46,78,.07);
}
.web-real-shot img{
    display:block;
    width:100%;
    height:auto;
}
.web-real-shot figcaption{
    padding:9px 11px;
    font-size:12px;
    line-height:1.5;
    color:#647184;
    font-weight:700;
    background:#fff;
}
.web-real-mode{
    display:grid;
    grid-template-columns:minmax(0,.78fr) minmax(420px,1.22fr);
    gap:34px;
    align-items:center;
}
.web-real-mode--reverse{
    grid-template-columns:minmax(420px,1.22fr) minmax(0,.78fr);
}
.web-real-mode--reverse .web-real-copy{grid-column:2}
.web-real-mode--reverse > .web-real-shot,
.web-real-mode--reverse > .web-real-stack{
    grid-column:1;
    grid-row:1;
}
.web-real-copy h2{margin-top:0}
.web-real-stack{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}
.web-real-stack .web-real-shot{align-self:start}

@media(max-width:900px){
    .web-real-grid{grid-template-columns:1fr}
}
@media(max-width:800px){
    .web-real-card,
    .web-real-mode,
    .web-real-mode--reverse{
        grid-template-columns:1fr;
        gap:20px;
    }
    .web-real-mode--reverse .web-real-copy,
    .web-real-mode--reverse > .web-real-shot,
    .web-real-mode--reverse > .web-real-stack{
        grid-column:auto;
        grid-row:auto;
    }
    .web-real-copy{order:1}
    .web-real-mode > .web-real-shot,
    .web-real-mode > .web-real-stack{order:2}
}
@media(max-width:520px){
    .web-real-card{padding:14px}
    .web-real-stack{grid-template-columns:1fr}
}
