/* ==========================================================================
   Awayly SEO Landing Pages
   Shared styles for commercial SEO pages
   ========================================================================== */

.seo-hero{
    padding-bottom:72px;
}

.seo-hero-grid{
    display:grid;
    grid-template-columns:1.08fr .92fr;
    gap:52px;
    align-items:center;
}

.seo-hero-copy h1{
    margin:9px 0 18px;
}

.seo-hero-copy h1 span{
    display:block;
    color:var(--blue);
}

.seo-hero-copy > p{
    max-width:720px;
    color:#65778c;
    line-height:1.75;
}

.seo-hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:26px;
}

.seo-proof-row{
    display:flex;
    flex-wrap:wrap;
    gap:11px 22px;
    margin-top:21px;
}

.seo-proof-row span{
    color:#65778d;
    font-size:.74rem;
    font-weight:750;
}

.seo-proof-row span::before{
    content:"✓";
    margin-right:7px;
    color:#0b9e67;
    font-weight:900;
}

.seo-hero-card{
    padding:30px;
    border:1px solid #dfe8f2;
    border-radius:24px;
    background:
        radial-gradient(circle at 90% 10%,rgba(37,99,235,.08),transparent 34%),
        linear-gradient(145deg,#f8fbff,#fff);
    box-shadow:0 22px 52px rgba(15,42,73,.07);
}

.seo-hero-card-label{
    display:block;
    margin-bottom:17px;
    color:var(--blue);
    font-size:.67rem;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.seo-hero-mini{
    padding:23px;
    border-radius:18px;
    background:linear-gradient(145deg,#2b75ef,#348cf6);
    color:#fff;
}

.seo-hero-mini strong,
.seo-hero-mini span{
    display:block;
}

.seo-hero-mini strong{
    font-size:1.45rem;
    line-height:1.2;
}

.seo-hero-mini span{
    margin-top:8px;
    color:#d5e5ff;
    font-size:.72rem;
    line-height:1.5;
}

.seo-mini-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:11px;
}

.seo-mini-grid div{
    padding:15px;
    border:1px solid #e2eaf3;
    border-radius:14px;
    background:#fff;
}

.seo-mini-grid span,
.seo-mini-grid strong{
    display:block;
}

.seo-mini-grid span{
    margin-bottom:4px;
    color:#8895a5;
    font-size:.64rem;
}

.seo-mini-grid strong{
    color:var(--navy);
    font-size:.78rem;
}

.seo-topic-strip{
    padding:0 0 20px;
}

.seo-topic-scroller{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:9px;
}

.seo-topic-scroller span{
    padding:9px 13px;
    border:1px solid #dfe7f0;
    border-radius:999px;
    background:#fff;
    color:#56697e;
    font-size:.68rem;
    font-weight:800;
}

.seo-intro{
    padding-top:68px;
}

.seo-intro-grid{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:62px;
    align-items:start;
}

.seo-intro-grid p{
    margin:0;
    color:#68798d;
    line-height:1.78;
}

.seo-intro-grid p + p{
    margin-top:16px;
}

.seo-section-heading{
    max-width:820px;
    margin-bottom:31px;
}

.seo-problems,
.seo-audience{
    background:#f8fbff;
}

.seo-card-grid{
    display:grid;
    gap:16px;
}

.seo-card-grid--4{
    grid-template-columns:repeat(4,minmax(0,1fr));
}

.seo-card-grid--3{
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.seo-card-grid article{
    padding:27px;
    border:1px solid #dfe7f0;
    border-radius:20px;
    background:#fff;
}

.seo-card-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    margin-bottom:18px;
    border-radius:11px;
    background:#edf4ff;
    color:var(--blue);
    font-size:.66rem;
    font-weight:900;
}

.seo-card-grid h3{
    margin:0 0 10px;
    color:var(--navy);
    font-size:1rem;
}

.seo-card-grid p{
    margin:0;
    color:#718094;
    font-size:.78rem;
    line-height:1.65;
}

.seo-feature-row--tint{
    background:#f8fbff;
}

.seo-feature-grid{
    display:grid;
    grid-template-columns:.86fr 1.14fr;
    gap:50px;
    align-items:center;
}

.seo-feature-grid--reverse .seo-feature-copy{
    order:2;
}

.seo-feature-grid--reverse .seo-feature-image{
    order:1;
}

.seo-feature-copy h2{
    margin:8px 0 14px;
    color:var(--navy);
    font-size:clamp(1.7rem,3vw,2.55rem);
    line-height:1.12;
    letter-spacing:-.03em;
}

.seo-feature-copy > p{
    color:#6b7c90;
    line-height:1.75;
}

.seo-feature-copy .check-list{
    margin-top:19px;
}

.seo-feature-image{
    min-width:0;
}

.seo-feature-image img{
    display:block;
    width:100%;
    height:auto;
    border:1px solid #dfe7f0;
    border-radius:21px;
    box-shadow:0 20px 48px rgba(15,42,73,.08);
}

.seo-inline-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:19px;
    color:var(--blue);
    font-size:.79rem;
    font-weight:850;
}

.seo-allowances,
.seo-types{
    background:
        radial-gradient(circle at 12% 12%,rgba(37,99,235,.07),transparent 28%),
        #f8fbff;
}

.seo-allowances-grid,
.seo-types-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:58px;
    align-items:center;
}

.seo-allowances-grid p,
.seo-types-grid p{
    color:#6b7c90;
    line-height:1.75;
}

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

.seo-stat-card div{
    padding:24px;
    border:1px solid #dfe7f0;
    border-radius:18px;
    background:#fff;
}

.seo-stat-card span,
.seo-stat-card strong{
    display:block;
}

.seo-stat-card span{
    margin-bottom:5px;
    color:#7b899a;
    font-size:.7rem;
}

.seo-stat-card strong{
    color:var(--navy);
    font-size:1.65rem;
}

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

.seo-type-grid span{
    padding:17px 18px;
    border:1px solid #dfe7f0;
    border-radius:14px;
    background:#fff;
    color:var(--navy);
    font-size:.77rem;
    font-weight:800;
}

.seo-type-grid span::before{
    content:"✓";
    margin-right:8px;
    color:#0b9d73;
}

.seo-working .seo-section-heading{
    margin-inline:auto;
    text-align:center;
}

.seo-week-grid{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:10px;
    max-width:780px;
    margin:30px auto 0;
}

.seo-week-grid span{
    padding:18px 10px;
    border:1px solid #dfe7f0;
    border-radius:14px;
    background:#f7f9fb;
    color:#8a97a7;
    text-align:center;
    font-size:.75rem;
    font-weight:850;
}

.seo-week-grid span.is-active{
    border-color:#c8dcf7;
    background:#edf4ff;
    color:var(--blue);
}

.seo-comparison{
    background:#f8fbff;
}

.seo-comparison-table{
    overflow:hidden;
    border:1px solid #dfe7f0;
    border-radius:20px;
    background:#fff;
}

.seo-comparison-head,
.seo-comparison-table > div{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
}

.seo-comparison-head{
    background:#f0f5fb;
}

.seo-comparison-table > div + div{
    border-top:1px solid #e5ecf3;
}

.seo-comparison-table span,
.seo-comparison-table strong,
.seo-comparison-table b,
.seo-comparison-table em{
    padding:16px 18px;
}

.seo-comparison-table span{
    color:var(--navy);
    font-size:.76rem;
    font-weight:800;
}

.seo-comparison-table strong{
    color:#7f8b99;
    font-size:.72rem;
    font-weight:900;
}

.seo-comparison-table b{
    color:#7a8797;
    font-size:.74rem;
    font-weight:650;
}

.seo-comparison-table em{
    color:#0b8e68;
    font-size:.74rem;
    font-style:normal;
    font-weight:850;
}

.seo-comparison-head strong:last-child{
    color:var(--blue);
}

.seo-price{
    padding-top:38px;
}

.seo-price-card{
    display:grid;
    grid-template-columns:1fr auto auto;
    gap:34px;
    align-items:center;
    padding:38px 42px;
    border:1px solid #dce6f2;
    border-radius:24px;
    background:#fff;
    box-shadow:0 16px 44px rgba(15,42,73,.06);
}

.seo-price-card h2{
    margin:7px 0 10px;
    color:var(--navy);
    font-size:2rem;
    line-height:1.18;
}

.seo-price-card p{
    max-width:680px;
    margin:0;
    color:#6b7c90;
    line-height:1.7;
}

.seo-price-amount{
    display:flex;
    align-items:flex-end;
    white-space:nowrap;
}

.seo-price-amount small{
    align-self:flex-start;
    margin-top:8px;
    color:var(--navy);
    font-weight:850;
}

.seo-price-amount strong{
    color:var(--navy);
    font-size:3.8rem;
    line-height:.9;
    letter-spacing:-.05em;
}

.seo-price-amount span{
    margin:0 0 5px 5px;
    color:#74859a;
    font-size:.8rem;
}

.seo-faq{
    background:#f8fbff;
}

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

.seo-related-grid a{
    display:flex;
    flex-direction:column;
    min-height:190px;
    padding:26px;
    border:1px solid #dfe7f0;
    border-radius:20px;
    background:#fff;
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

.seo-related-grid a:hover{
    transform:translateY(-3px);
    border-color:#c9daf0;
    box-shadow:0 15px 35px rgba(15,42,73,.07);
}

.seo-related-grid span{
    margin-bottom:14px;
    color:var(--blue);
    font-size:.66rem;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.seo-related-grid strong{
    color:var(--navy);
    font-size:1.05rem;
    line-height:1.4;
}

.seo-related-grid b{
    margin-top:auto;
    padding-top:22px;
    color:var(--blue);
    font-size:.74rem;
}

.seo-final{
    padding:28px 0 88px;
}

.seo-final-card{
    padding:58px 34px;
    border-radius:27px;
    background:
        radial-gradient(circle at 10% 15%,rgba(95,226,211,.15),transparent 28%),
        radial-gradient(circle at 90% 85%,rgba(56,125,255,.18),transparent 30%),
        #0c2d54;
    text-align:center;
    box-shadow:0 25px 65px rgba(12,45,84,.17);
}

.seo-final-card h2{
    max-width:790px;
    margin:10px auto 14px;
    color:#fff;
    font-size:clamp(2rem,4vw,3.2rem);
    line-height:1.08;
    letter-spacing:-.04em;
}

.seo-final-card p{
    max-width:660px;
    margin:0 auto;
    color:#c4d3e4;
    line-height:1.7;
}

.seo-final-card > div{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:12px;
    margin-top:27px;
}

@media(max-width:1050px){

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

    .seo-hero-card{
        max-width:720px;
    }

    .seo-card-grid--4{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

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

    .seo-feature-grid--reverse .seo-feature-copy,
    .seo-feature-grid--reverse .seo-feature-image{
        order:initial;
    }

    .seo-price-card{
        grid-template-columns:1fr auto;
    }

    .seo-price-card .btn{
        grid-column:1 / -1;
        width:max-content;
    }

}

@media(max-width:850px){

    .seo-intro-grid,
    .seo-allowances-grid,
    .seo-types-grid{
        grid-template-columns:1fr;
        gap:24px;
    }

    .seo-card-grid--3{
        grid-template-columns:1fr;
    }

    .seo-related-grid{
        grid-template-columns:1fr;
    }

    .seo-week-grid{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }

}

@media(max-width:700px){

    .seo-hero{
        padding-bottom:50px;
    }

    .seo-hero-actions{
        align-items:stretch;
        flex-direction:column;
    }

    .seo-hero-actions .btn{
        width:100%;
    }

    .seo-proof-row{
        align-items:flex-start;
        flex-direction:column;
    }

    .seo-hero-card{
        padding:22px 18px;
    }

    .seo-topic-strip{
        overflow:hidden;
    }

    .seo-topic-strip .container{
        padding-right:0;
    }

    .seo-topic-scroller{
        flex-wrap:nowrap;
        justify-content:flex-start;
        overflow-x:auto;
        scroll-snap-type:x mandatory;
        scrollbar-width:none;
        padding:0 18px 4px 0;
    }

    .seo-topic-scroller::-webkit-scrollbar{
        display:none;
    }

    .seo-topic-scroller span{
        flex:0 0 auto;
        scroll-snap-align:start;
    }

    .seo-card-grid--4{
        grid-template-columns:1fr;
    }

    .seo-feature-grid{
        gap:26px;
    }

    .seo-stat-card{
        grid-template-columns:1fr 1fr;
    }

    .seo-type-grid{
        grid-template-columns:1fr;
    }

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

    .seo-comparison-table{
        overflow-x:auto;
    }

    .seo-comparison-head,
    .seo-comparison-table > div{
        min-width:720px;
    }

    .seo-price-card{
        grid-template-columns:1fr;
        gap:23px;
        padding:28px 22px;
    }

    .seo-price-card h2{
        font-size:1.6rem;
    }

    .seo-price-card .btn{
        grid-column:auto;
        width:100%;
    }

    .seo-final{
        padding-bottom:55px;
    }

    .seo-final-card{
        padding:42px 20px;
        border-radius:22px;
    }

    .seo-final-card > div{
        align-items:stretch;
        flex-direction:column;
    }

    .seo-final-card .btn{
        width:100%;
    }

}
