/*
Theme Name: Fama Modern
Theme URI: https://famatechnologies.co.in/
Author: Fama Technologies
Description: Modern theme for Fama Technologies. Brand colours green #34c209, black and white. Hero slider, solution cards, careers and contact forms.
Version: 1.1.0
Requires at least: 5.8
Requires PHP: 7.4
Text Domain: fama-modern
*/
.fm{--g:#34c209;--k:#0A0A0A;--k2:#171917;--soft:#F3F5F1;--line:#DFE3DC;--mut:#585E55;font-family:'Nunito Sans','Proxima Nova',system-ui,sans-serif;color:var(--k);background:#fff;line-height:1.6;overflow:hidden}
body{margin:0}
.fm *{box-sizing:border-box;margin:0;padding:0}
.fm img{max-width:100%;display:block}
.fm a{color:inherit;text-decoration:none}
.fm h1,.fm h2,.fm h3{font-family:'Nunito Sans','Proxima Nova',sans-serif;font-weight:600;line-height:1.25;letter-spacing:-.01em}
.fm .wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.fm .btn{display:inline-block;padding:14px 26px;border-radius:999px;font-weight:700;font-size:15px;border:0;cursor:pointer;font-family:inherit;transition:transform .2s,background .2s}
.fm .btn-p{background:var(--g);color:var(--k)}.fm .btn-p:hover{background:#4ad81c;transform:translateY(-2px)}
.fm .btn-g{border:1.5px solid rgba(255,255,255,.4);color:#fff}.fm .btn-g:hover{background:rgba(255,255,255,.12)}
.fm .btn-k{background:var(--k);color:#fff}.fm .btn-k:hover{background:#222}
.fm a:focus-visible,.fm button:focus-visible,.fm input:focus-visible,.fm select:focus-visible,.fm textarea:focus-visible{outline:3px solid var(--g);outline-offset:3px}
/* header */
.fm .top{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.admin-bar .fm .top{top:32px}
.fm .top .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:76px}
.fm .top .logo img,.fm .top .custom-logo{height:46px;width:auto}
.fm .top ul{display:flex;gap:30px;list-style:none;font-weight:500;font-size:15px}
.fm .top li{position:relative}
.fm .top ul a{display:block;padding:6px 0;border-bottom:2px solid transparent}
.fm .top ul a:hover,.fm .top .current-menu-item>a,.fm .top .current-menu-ancestor>a,.fm .top a.act{border-color:var(--g)}
.fm .top .sub-menu{display:none;position:absolute;top:100%;left:-16px;min-width:260px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--g);border-radius:0 0 14px 14px;padding:8px 0;flex-direction:column;gap:0;box-shadow:0 18px 40px rgba(0,0,0,.12)}
.fm .top li:hover>.sub-menu,.fm .top li:focus-within>.sub-menu{display:flex}
.fm .top .sub-menu a{padding:10px 20px;border:0}.fm .top .sub-menu a:hover{background:var(--soft)}
.fm .top .sub-menu .sub-menu{left:100%;top:0}
.fm .burger{display:none;background:none;border:0;font-size:28px;cursor:pointer}
@media(max-width:900px){.fm .burger{display:block}.fm .top .btn{display:none}
.fm .top .nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);max-height:75vh;overflow:auto}
.fm .top .nav.open{display:block}.fm .top ul{flex-direction:column;gap:0}.fm .top ul a{padding:14px 24px}
.fm .top .sub-menu{display:flex;position:static;border:0;box-shadow:none;padding:0 0 0 16px}}
/* blocks */
.fm section{padding:88px 0}
.fm .head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:40px;flex-wrap:wrap}
.fm .head h2{font-size:25px;font-weight:600;max-width:640px}
.fm .head p{color:var(--mut);max-width:380px}
.fm .ph{background:var(--k);color:#fff;padding:84px 0 72px;border-bottom:6px solid var(--g)}
.fm .ph h1{font-size:35px;font-weight:600;margin-bottom:12px}
.fm .ph p{color:#C5CCC2;max-width:560px;font-size:17px}
/* hero */
.fm .hero{position:relative;background:var(--k);color:#fff;min-height:640px;background-image:radial-gradient(circle at 80% 40%,rgba(52,194,9,.22),transparent 55%)}
.fm .slide{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;opacity:0;visibility:hidden;transition:opacity .7s,visibility .7s;padding:50px max(24px,calc((100% - 1200px)/2 + 24px)) 100px}
.fm .slide.on{opacity:1;visibility:visible}
.fm .slide h1{font-size:35px;font-weight:600;margin-bottom:16px}
.fm .slide p{font-size:17px;color:#C5CCC2;max-width:480px;margin-bottom:32px}
.fm .acts{display:flex;gap:12px;flex-wrap:wrap}
.fm .shot{position:relative;aspect-ratio:4/3;border-radius:28px;background:var(--k2) center/cover no-repeat;box-shadow:0 30px 80px rgba(0,0,0,.55);transform:translateX(30px);transition:transform .9s}
.fm .slide.on .shot{transform:none}
.fm .shot::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.fm .tag{position:absolute;left:-16px;bottom:28px;background:var(--g);color:var(--k);font-weight:700;font-size:14px;padding:10px 18px;border-radius:12px}
.fm .ctrl{position:absolute;z-index:4;left:0;right:0;bottom:34px}
.fm .ctrl .wrap{display:flex;align-items:center;gap:14px}
.fm .bar{flex:1;max-width:120px;height:4px;border-radius:4px;background:rgba(255,255,255,.2);overflow:hidden;border:0;cursor:pointer}
.fm .bar span{display:block;height:100%;width:0;background:var(--g)}
.fm .bar.on span{animation:fmfill 6s linear forwards}
.fm .bar.done span{width:100%}
.fm .hero.paused .bar.on span{animation-play-state:paused}
@keyframes fmfill{to{width:100%}}
.fm .arr{margin-left:auto;display:flex;gap:10px}
.fm .arr button{width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(255,255,255,.35);background:transparent;color:#fff;font-size:18px;cursor:pointer}
.fm .arr button:hover{background:var(--g);border-color:var(--g);color:var(--k)}
@media(max-width:820px){.fm .hero{min-height:780px}.fm .slide{grid-template-columns:1fr;padding-top:36px;gap:24px;align-content:start}.fm .shot{order:-1;aspect-ratio:16/10;transform:none}.fm .tag{left:12px}.fm .bar{max-width:60px}}
/* cards */
.fm .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.fm .card{position:relative;border-radius:22px;overflow:hidden;background:var(--k);color:#fff;min-height:300px;display:flex;align-items:end;isolation:isolate;border-bottom:5px solid var(--g)}
.fm .card .bg{position:absolute;inset:0;z-index:-2;background:var(--k2) center/cover;transition:transform .6s}
.fm .card::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,10,10,0) 25%,rgba(10,10,10,.92))}
.fm .card:hover .bg{transform:scale(1.07)}
.fm .card .in{padding:24px;width:100%}
.fm .card h3{font-size:20px;font-weight:600;margin-bottom:6px}
.fm .card p{font-size:14px;color:#C5CCC2;max-height:0;opacity:0;overflow:hidden;transition:max-height .4s,opacity .4s}
.fm .card:hover p,.fm .card:focus-visible p,.fm .full .card p{max-height:90px;opacity:1}
.fm .card.big{grid-column:span 2;min-height:360px}
.fm .full .card.big{grid-column:auto;min-height:300px}
.fm .card.it{background:var(--g);color:var(--k)}
.fm .card.it::before{background:none}.fm .card.it p{color:#10300a}
.fm .more{display:inline-block;margin-top:28px;font-weight:700;border-bottom:3px solid var(--g);padding-bottom:2px}
@media(max-width:980px){.fm .grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.fm .grid{grid-template-columns:1fr}.fm .card.big{grid-column:auto}.fm .card p{max-height:none;opacity:1}}
.fm .soft{background:var(--soft)}
.fm .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.fm .col{background:#fff;border:1px solid var(--line);border-top:5px solid var(--g);border-radius:18px;padding:28px}
.fm .col h3{font-size:20px;font-weight:600;margin-bottom:10px}
.fm .col p{color:var(--mut)}
.fm .two{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}
.fm .two h2{font-size:25px;font-weight:600;margin-bottom:16px}
.fm .two p{color:var(--mut);margin-bottom:14px}
.fm .pic{aspect-ratio:4/3;border-radius:24px;background:var(--k) center/cover;border-bottom:6px solid var(--g)}
.fm .chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.fm .chips span{background:var(--soft);border:1px solid var(--line);padding:8px 16px;border-radius:999px;font-size:14px;font-weight:500}
@media(max-width:820px){.fm .cols{grid-template-columns:1fr}.fm .two{grid-template-columns:1fr;gap:28px}}
.fm .clients{padding:64px 0;overflow:hidden}
.fm .clients h2{font-size:25px;font-weight:600;text-align:center;margin-bottom:6px}
.fm .clients .sub{text-align:center;color:var(--mut);margin-bottom:34px}
.fm .track{display:flex;gap:64px;width:max-content;animation:fmscroll 28s linear infinite}
.fm .track img{height:64px;width:auto;filter:grayscale(1);opacity:.65;transition:.3s}
.fm .track img:hover{filter:none;opacity:1}
@keyframes fmscroll{to{transform:translateX(-50%)}}
.fm .cta{background:var(--g);color:var(--k);text-align:center;padding:84px 0}
.fm .cta h2{font-size:25px;font-weight:600;margin-bottom:12px}
.fm .cta p{max-width:520px;margin:0 auto 24px;font-size:17px}
/* forms */
.fm .fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fm .fgrid .w{grid-column:1/-1}
.fm label{display:block;font-weight:700;font-size:14px;margin-bottom:6px}
.fm input,.fm select,.fm textarea{width:100%;padding:13px 14px;border:1.5px solid var(--line);border-radius:12px;font:inherit;background:#fff}
.fm input:focus,.fm select:focus,.fm textarea:focus{border-color:var(--g)}
.fm textarea{min-height:120px;resize:vertical}
.fm .hp{position:absolute;left:-9999px}
.fm .formbox{background:#fff;border:1px solid var(--line);border-radius:22px;padding:32px;border-top:6px solid var(--g)}
.fm .ok{margin:0 0 16px;font-weight:700;background:var(--soft);padding:14px 18px;border-radius:12px;border-left:5px solid var(--g)}
.fm .info{display:grid;gap:18px}
.fm .info div{padding:20px 22px;background:var(--soft);border-radius:16px;border-left:5px solid var(--g)}
.fm .info b{display:block;margin-bottom:2px}
@media(max-width:560px){.fm .fgrid{grid-template-columns:1fr}}
/* content (page.php / posts) */
.fm .entry{max-width:820px;margin:0 auto}
.fm .entry>*+*{margin-top:1em}
.fm .entry h2,.fm .entry h3{margin-top:1.4em}
.fm .entry a{border-bottom:2px solid var(--g)}
.fm .entry img{border-radius:14px}
.fm .posts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.fm .post{background:#fff;border:1px solid var(--line);border-top:5px solid var(--g);border-radius:18px;padding:24px}
.fm .post h2{font-size:20px;margin-bottom:8px}.fm .post p{color:var(--mut)}
@media(max-width:820px){.fm .posts{grid-template-columns:1fr}}
/* footer */
.fm footer{background:var(--k);color:#C5CCC2;padding:64px 0 28px;font-size:15px;border-top:6px solid var(--g)}
.fm .fg{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:40px;margin-bottom:44px}
.fm footer h4{color:#fff;font-weight:600;font-size:16px;margin-bottom:14px;font-family:'Nunito Sans','Proxima Nova',sans-serif}
.fm footer li{list-style:none;margin-bottom:8px}
.fm footer a:hover{color:var(--g)}
.fm .lg{display:inline-block;background:#fff;padding:8px 14px;border-radius:12px;margin-bottom:14px}.fm .lg img{height:40px;width:auto}
.fm .copy{border-top:1px solid rgba(255,255,255,.12);padding-top:22px;font-size:13px}
@media(max-width:820px){.fm .fg{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.fm .fg{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.fm .track{animation:none}.fm .bar.on span{animation:none;width:100%}.fm *{transition:none!important}}

/* mobile heading sizes */
@media(max-width:560px){.fm .slide h1,.fm .ph h1{font-size:28px}.fm .head h2,.fm .two h2,.fm .cta h2,.fm .clients h2{font-size:22px}}

/* dropdown arrow + link chips */
.fm .top .menu-item-has-children>a::after{content:"\25BE";margin-left:6px;font-size:12px}
.fm .chips a{background:var(--soft);border:1px solid var(--line);padding:8px 16px;border-radius:999px;font-size:14px;font-weight:600}
.fm .chips a:hover{background:var(--g);border-color:var(--g)}
