/*
Theme Name: Nyraa Solutions
Version: 1.0.0
Author: Nyraa Solutions
Description: Production-ready WordPress theme based on the supplied Nyraa Solutions PDF.
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: nyraa-solutions
*/
:root{--ink:#090909;--muted:#666;--line:#dedede;--blue:#1648d8;--soft:#f7f7f7;--max:1280px;--pad:clamp(20px,4vw,64px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.5}a{color:inherit}.container{width:min(var(--max),calc(100% - 2*var(--pad)));margin:auto}.skip{position:absolute;top:-50px;left:10px;background:#000;color:#fff;padding:10px}.skip:focus{top:10px}.site-header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #eee}.header-inner{height:70px;display:flex;align-items:center;justify-content:space-between}.brand{text-decoration:none;font-weight:800;font-size:16px;display:flex;gap:8px;align-items:center}.brand-muted{font-weight:500;color:#666}.brand .custom-logo-link{display:flex;align-items:center}.brand .custom-logo{max-height:30px;width:auto;display:block}.mark{width:21px;height:21px;background:linear-gradient(135deg,#1648d8 0 45%,#0d36ab 46%);clip-path:polygon(0 0,35% 0,100% 100%,65% 100%)}nav ul{display:flex;gap:32px;list-style:none;margin:0;padding:0}nav a{font-size:11px;font-weight:700;text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:#fff;text-decoration:none;border:1px solid var(--blue);padding:12px 20px;font-size:11px;font-weight:700}.outline{background:#fff;color:#111;border-color:#ccc}.menu{display:none;background:none;border:0}.hero{padding:110px 0 90px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:9vw;align-items:center}.eyebrow,.kicker{font-size:9px;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:var(--blue)}h1{font-size:clamp(54px,7.3vw,96px);line-height:.89;letter-spacing:-.065em;margin:18px 0 24px}.hero p{max-width:530px;color:var(--muted);font-size:14px}.actions{display:flex;gap:9px;margin-top:28px;flex-wrap:wrap}.metrics{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0}.metric{min-height:100px;display:grid;grid-template-columns:170px 1fr;align-items:center;border-bottom:1px solid var(--line)}.metric:last-child{border:0}.metric b{font-size:clamp(38px,4vw,58px);letter-spacing:-.06em}.metric span{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#777;font-weight:800}.section{padding:100px 0}.section h2,.cta h2{font-size:clamp(40px,5vw,66px);line-height:.96;letter-spacing:-.055em;margin:12px 0 45px}.services{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.service{display:grid;grid-template-columns:70px 1fr;gap:18px;padding:28px 20px 28px 0;border-bottom:1px solid var(--line)}.service:nth-child(odd){border-right:1px solid var(--line)}.service:nth-child(even){padding-left:30px}.service .no{font-size:31px;font-weight:800;color:#888}.service h3{font-size:14px;margin:3px 0 8px}.service p{font-size:11px;color:#777;margin:0}.stats{background:#0b0b0b;color:#fff;padding:46px 0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}.stat{text-align:center;border-right:1px solid #333}.stat:last-child{border:0}.stat b{display:block;font-size:clamp(38px,4vw,58px);letter-spacing:-.06em}.stat em{font-style:normal;color:var(--blue)}.stat small{font-size:8px;letter-spacing:.15em;color:#aaa;text-transform:uppercase}.approach{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.step{padding:30px 28px 0 0;border-right:1px solid var(--line)}.step+.step{padding-left:28px}.step:last-child{border:0}.step h3{font-size:12px}.step p{font-size:11px;color:#777;line-height:1.6}.cta{padding:85px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.cta h2{margin:0 0 10px;max-width:650px}.cta p{color:#777;font-size:12px}.footer{padding:50px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}.footer p,.footer li,.footer a{font-size:10px}.footer p,.footer li{color:#777}.footer ul{list-style:none;padding:0;margin:0}.footer li{margin:7px 0}.footer a{text-decoration:none}.bottom{border-top:1px solid var(--line);margin-top:40px;padding-top:16px;display:flex;justify-content:space-between;color:#888;font-size:9px}.page-hero{padding:80px 0 55px;background:#fafafa;border-bottom:1px solid var(--line)}.page-hero h1{margin-bottom:0}.content{padding:70px 0}.lead{max-width:720px;color:var(--muted);font-size:15px;margin:0 0 45px}.work-intro{max-width:700px;margin:-20px 0 45px}.work-intro p{font-size:14px;color:var(--muted);line-height:1.7}.work-cards .card{min-height:220px}.notice{padding:14px 16px;background:#f2f7ff;border-left:3px solid var(--blue);font-size:12px;margin-bottom:20px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{border:1px solid var(--line);padding:25px}.card h3{font-size:17px}.card p{font-size:11px;color:#666}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}.field{margin-bottom:14px}.field label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;margin-bottom:6px}.field input,.field textarea{width:100%;border:1px solid #ccc;padding:12px}.field textarea{min-height:140px}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:850px){nav{display:none}nav.open{display:block;position:absolute;top:70px;left:0;right:0;background:#fff;padding:20px var(--pad);border-bottom:1px solid #ddd}nav.open ul{display:block}nav.open li{margin:15px 0}.menu{display:block}.header-cta{display:none}.hero-grid,.contact{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr;gap:30px}.stat:nth-child(2){border:0}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.hero{padding-top:65px}.services,.approach{grid-template-columns:1fr}.service:nth-child(odd){border-right:0}.service:nth-child(even){padding-left:0}.step,.step+.step{padding:25px 0;border-right:0;border-bottom:1px solid var(--line)}.step:last-child{border:0}.cta-inner{display:block}.cta .btn{margin-top:20px}.footer-grid,.cards,.row{grid-template-columns:1fr}.bottom{display:block}.bottom span{display:block;margin:8px 0}.metric{grid-template-columns:125px 1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* =========================================
   WORK PAGE
   ========================================= */

.page-intro{
    max-width:760px;
    margin:28px 0 0;
    color:var(--muted);
    font-size:15px;
    line-height:1.7;
}

.work-page{
    padding-top:95px;
    padding-bottom:100px;
}

.work-page .kicker{
    margin-bottom:14px;
}

.work-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    border-top:1px solid var(--line);
    border-left:1px solid var(--line);
    margin-top:30px;
}

.work-card{
    min-height:330px;
    padding:34px 38px 38px;
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    transition:background .2s ease;
}

.work-card:hover{
    background:var(--soft);
}

.work-number{
    font-size:31px;
    font-weight:800;
    color:#888;
    letter-spacing:-.04em;
}

.work-content{
    max-width:520px;
}

.work-category{
    font-size:9px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.16em;
    color:var(--blue);
    margin-bottom:10px;
}

.work-card h2{
    font-size:clamp(25px,3vw,42px);
    line-height:1;
    letter-spacing:-.045em;
    margin:0 0 18px;
}

.work-card p{
    font-size:12px;
    line-height:1.7;
    color:#777;
    max-width:470px;
    margin:0 0 20px;
}

.work-link{
    display:inline-block;
    font-size:10px;
    font-weight:800;
    text-decoration:none;
    color:var(--ink);
}


/* =========================================
   HOW WE WORK
   ========================================= */

.work-approach{
    padding-top:100px;
    padding-bottom:100px;
    border-top:1px solid var(--line);
}

.work-approach > .container > h2{
    max-width:700px;
    margin-bottom:55px;
}

.approach-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border-top:1px solid var(--line);
}

.approach-grid > div{
    padding:30px 30px 20px 0;
    border-right:1px solid var(--line);
}

.approach-grid > div + div{
    padding-left:30px;
}

.approach-grid > div:last-child{
    border-right:0;
}

.approach-grid span{
    display:block;
    font-size:30px;
    font-weight:800;
    color:#888;
    letter-spacing:-.04em;
    margin-bottom:25px;
}

.approach-grid h3{
    font-size:16px;
    margin:0 0 10px;
}

.approach-grid p{
    font-size:11px;
    line-height:1.7;
    color:#777;
    max-width:320px;
    margin:0;
}


/* =========================================
   WORK PAGE MOBILE
   ========================================= */

@media(max-width:850px){

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

    .work-card{
        min-height:280px;
        padding:28px 25px 30px;
    }

    .work-card h2{
        font-size:32px;
    }

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

    .approach-grid > div,
    .approach-grid > div + div{
        padding:28px 0;
        border-right:0;
        border-bottom:1px solid var(--line);
    }

    .approach-grid > div:last-child{
        border-bottom:0;
    }

}

@media(max-width:600px){

    .page-intro{
        font-size:13px;
    }

    .work-page{
        padding-top:70px;
        padding-bottom:70px;
    }

    .work-card{
        min-height:250px;
    }

    .work-card h2{
        font-size:27px;
    }

    .work-card p{
        font-size:11px;
    }

    .work-approach{
        padding-top:70px;
        padding-bottom:70px;
    }

    .work-approach > .container > h2{
        margin-bottom:35px;
    }

}

/* =========================================
   SERVICES PAGE
   ========================================= */

.services-page{
    padding-top:95px;
    padding-bottom:105px;
}

.services-intro{
    max-width:760px;
    margin-top:25px;
}


/* SERVICE GRID */

.services-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    border-top:1px solid var(--line);
    border-left:1px solid var(--line);
    margin-top:55px;
}

.services-card{
    min-height:330px;
    padding:34px 38px 38px;
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);

    display:flex;
    flex-direction:column;
    justify-content:space-between;

    transition:
        background .2s ease,
        transform .2s ease;
}

.services-card:hover{
    background:var(--soft);
}

.services-number{
    font-size:31px;
    font-weight:800;
    color:#888;
    letter-spacing:-.04em;
}

.services-card-content{
    max-width:520px;
}

.services-card h3{
    font-size:clamp(25px,3vw,40px);
    line-height:1.02;
    letter-spacing:-.045em;
    margin:0 0 18px;
}

.services-card p{
    font-size:12px;
    line-height:1.7;
    color:#777;
    max-width:480px;
    margin:0 0 22px;
}

.services-arrow{
    display:inline-block;
    font-size:10px;
    font-weight:800;
    color:var(--ink);
}


/* =========================================
   WHY NYRAA
   ========================================= */

.why-nyraa{
    padding-top:100px;
    padding-bottom:105px;
    border-top:1px solid var(--line);
}

.why-nyraa > .container > h2{
    max-width:700px;
    margin-bottom:55px;
}

.why-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border-top:1px solid var(--line);
}

.why-grid article{
    padding:30px 30px 20px 0;
    border-right:1px solid var(--line);
}

.why-grid article + article{
    padding-left:30px;
}

.why-grid article:last-child{
    border-right:0;
}

.why-grid span{
    display:block;
    font-size:30px;
    font-weight:800;
    color:#888;
    letter-spacing:-.04em;
    margin-bottom:25px;
}

.why-grid h3{
    font-size:16px;
    margin:0 0 10px;
}

.why-grid p{
    font-size:11px;
    line-height:1.7;
    color:#777;
    max-width:320px;
    margin:0;
}


/* =========================================
   SERVICES MOBILE
   ========================================= */

@media(max-width:850px){

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

    .services-card{
        min-height:280px;
        padding:28px 25px 30px;
    }

    .services-card h3{
        font-size:32px;
    }

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

    .why-grid article,
    .why-grid article + article{
        padding:28px 0;
        border-right:0;
        border-bottom:1px solid var(--line);
    }

    .why-grid article:last-child{
        border-bottom:0;
    }

}


@media(max-width:600px){

    .services-page{
        padding-top:70px;
        padding-bottom:70px;
    }

    .services-intro{
        font-size:13px;
    }

    .services-card{
        min-height:250px;
    }

    .services-card h3{
        font-size:27px;
    }

    .services-card p{
        font-size:11px;
    }

    .why-nyraa{
        padding-top:70px;
        padding-bottom:70px;
    }

    .why-nyraa > .container > h2{
        margin-bottom:35px;
    }

}
