/*
Theme Name: Toheeb — Jayden Dark Portfolio Blue
Theme URI: https://theedgestudioz.com/
Author: Toheeb Ayodeji
Description: Dark, editorial one-page portfolio inspired by the provided Jayden reference. Built for Elementor compatibility.
Version: 12.0
Text Domain: toheeb-jayden
*/
@font-face{font-family:'Fractul';src:url('./assets/fonts/Fractul-Hairline.woff2') format('woff2');font-weight:100;font-style:normal;font-display:swap} @font-face{font-family:'Fractul';src:url('./assets/fonts/Fractul-Thin.woff2') format('woff2');font-weight:200;font-style:normal;font-display:swap} @font-face{font-family:'Fractul';src:url('./assets/fonts/Fractul-Light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap} @font-face{font-family:'Fractul';src:url('./assets/fonts/Fractul-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap} @font-face{font-family:'Fractul';src:url('./assets/fonts/Fractul-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap} @font-face{font-family:'Fractul';src:url('./assets/fonts/Fractul-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap} @font-face{font-family:'Fractul';src:url('./assets/fonts/Fractul-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap} @font-face{font-family:'Fractul';src:url('./assets/fonts/Fractul-ExtraBold.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap} @font-face{font-family:'Fractul';src:url('./assets/fonts/Fractul-Black.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap} @font-face{font-family:'Fractul';src:url('./assets/fonts/Fractul-HairlineItalic.woff2') format('woff2');font-weight:100;font-style:italic;font-display:swap} @font-face{font-family:'Fractul';src:url('./assets/fonts/Fractul-ThinItalic.woff2') format('woff2');font-weight:200;font-style:italic;font-display:swap} @font-face{font-family:'Fractul';src:url('./assets/fonts/Fractul-LightItalic.woff2') format('woff2');font-weight:300;font-style:italic;font-display:swap} @font-face{font-family:'Fractul';src:url('./assets/fonts/Fractul-Italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap} @font-face{font-family:'Fractul';src:url('./assets/fonts/Fractul-MediumItalic.woff2') format('woff2');font-weight:500;font-style:italic;font-display:swap} @font-face{font-family:'Fractul';src:url('./assets/fonts/Fractul-SemiBoldItalic.woff2') format('woff2');font-weight:600;font-style:italic;font-display:swap} @font-face{font-family:'Fractul';src:url('./assets/fonts/Fractul-BoldItalic.woff2') format('woff2');font-weight:700;font-style:italic;font-display:swap} @font-face{font-family:'Fractul';src:url('./assets/fonts/Fractul-ExtraBoldItalic.woff2') format('woff2');font-weight:800;font-style:italic;font-display:swap} @font-face{font-family:'Fractul';src:url('./assets/fonts/Fractul-BlackItalic.woff2') format('woff2');font-weight:900;font-style:italic;font-display:swap}
:root{--bg:#030303;--panel:#101010;--panel2:#151515;--text:#f5f2ed;--muted:#898989;--line:#262626;--blue:#3FB6FE;--blue2:#76caff;--max:1120px;--radius:10px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:'Fractul',Arial,sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit}.site-wrap{overflow:hidden;background:radial-gradient(circle at 50% 13%,rgba(63,182,254,.10),transparent 19%),#030303}.container{width:min(calc(100% - 40px),var(--max));margin:auto}.topbar{position:fixed;top:0;left:0;right:0;z-index:50;padding:18px 0;background:linear-gradient(180deg,rgba(3,3,3,.96),rgba(3,3,3,.45),transparent);backdrop-filter:blur(10px)}.nav{display:flex;align-items:center;justify-content:space-between}.brand{font-size:16px;font-weight:800;letter-spacing:-.05em}.navlinks{display:flex;gap:28px;font-size:12px;color:#b8b8b8}.navlinks a:hover{color:#fff}.nav-cta{border:1px solid #3a3a3a;border-radius:999px;padding:8px 14px;font-size:11px;background:#0d0d0d}.hero{min-height:760px;padding:125px 0 80px;display:flex;align-items:center;text-align:center;position:relative}.hero:before{content:'';position:absolute;width:480px;height:420px;left:50%;top:180px;transform:translateX(-50%);background:radial-gradient(circle,rgba(63,182,254,.20),rgba(63,182,254,.07) 38%,transparent 70%);filter:blur(24px)}.hero-inner{position:relative;width:100%;display:flex;flex-direction:column;align-items:center}.availability{display:inline-flex;gap:8px;align-items:center;border:1px solid #282828;background:#0b0b0b;padding:6px 11px;border-radius:999px;color:#bdbdbd;font-size:10px;margin-bottom:25px}.dot{width:6px;height:6px;border-radius:50%;background:#44d36b;box-shadow:0 0 9px #44d36b}.portrait{width:190px;height:230px;border-radius:7px;object-fit:cover;object-position:center;position:relative;z-index:2;background:linear-gradient(145deg,#062238,#3FB6FE 48%,#071019);box-shadow:0 30px 80px rgba(63,182,254,.18),0 0 0 1px rgba(255,255,255,.06);filter:saturate(1.03)}.portrait-wrap{position:relative;margin-bottom:25px}.portrait-wrap:after{content:'';position:absolute;inset:-18px -22px;background:radial-gradient(circle,rgba(63,182,254,.26),transparent 62%);filter:blur(18px);z-index:0}.eyebrow{margin:0 0 7px;color:#9d9d9d;font-size:11px}.hero h1{font-size:clamp(38px,7vw,78px);line-height:.96;letter-spacing:-.075em;margin:0;max-width:850px}.hero h1 span{color:#fff}.hero-copy{max-width:560px;color:#929292;font-size:13px;margin:22px auto}.socials{display:flex;gap:8px;justify-content:center;margin:20px 0}.socials a{width:30px;height:30px;border:1px solid #292929;border-radius:50%;display:grid;place-items:center;color:#aaa;font-size:10px}.hero-actions{display:flex;gap:10px;justify-content:center;margin-top:5px}.pill{padding:11px 17px;border-radius:999px;background:#fff;color:#080808;font-size:11px;font-weight:700}.pill.dark{background:#111;border:1px solid #2b2b2b;color:#ddd}.section{padding:88px 0;border-top:1px solid #171717}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.section-label{font-size:11px;color:#777;text-transform:uppercase;letter-spacing:.12em}.section-title{font-size:34px;letter-spacing:-.06em;margin:0}.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:22px}.stat strong{display:block;font-size:38px;letter-spacing:-.07em}.stat span{font-size:10px;color:#777}.intro{display:grid;grid-template-columns:1fr 1.2fr;gap:55px;align-items:start}.intro p{color:#969696;font-size:14px;margin:0}.accent{color:var(--blue)}.works{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}.work-card{background:#101010 !important;border:1px solid #262626 !important;border-radius:22px !important;overflow:hidden;position:relative;padding:24px 28px 22px;cursor:pointer;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}.work-card:hover{transform:translateY(-4px);border-color:#343434;box-shadow:0 24px 70px rgba(0,0,0,.28)}.work-image{height:auto !important;aspect-ratio:16/9 !important;background:#0b0b0b;position:relative;overflow:hidden;border-radius:17px}.work-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.02),transparent 45%,rgba(0,0,0,.08));pointer-events:none}.work-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.work-card:hover .work-image img{transform:scale(1.025)}.work-meta{position:static !important;display:flex;justify-content:space-between;align-items:flex-start;padding:27px 0 0;background:none}.work-name{font-size:21px;font-weight:700;letter-spacing:-.045em;line-height:1.15}.work-cat{font-size:10px;color:#7f7f7f;margin-top:5px;letter-spacing:.08em;text-transform:uppercase}.work-description{font-size:12px;line-height:1.6;color:#8d8d8d;margin:14px 0 0;max-width:92%}.case-link{display:inline-flex;align-items:center;gap:7px;margin-top:18px;color:#3FB6FE;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.work-arrow{width:40px;height:40px;border:1px solid #303030;border-radius:50%;display:grid;place-items:center;background:#171717;color:#bcbcbc;flex:none}.work-footer{display:flex !important;justify-content:space-between;align-items:center;margin-top:24px;padding-top:18px;border-top:1px solid #262626;color:#686868;font-size:9px;text-transform:uppercase;letter-spacing:.06em}.work-footer strong{color:#ddd;font-weight:600;margin-left:4px}@media(max-width:850px){.works{grid-template-columns:1fr}.work-card{padding:18px 18px 18px;border-radius:18px}.work-image{border-radius:14px}.work-name{font-size:19px}}.services{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.service{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:24px;min-height:150px}.service-no{font-size:10px;color:var(--blue);margin-bottom:30px}.service h3{font-size:20px;margin:0 0 8px;letter-spacing:-.04em}.service p{font-size:11px;color:#777;margin:0}.stack{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.stack-card{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:18px}.stack-card b{font-size:13px}.stack-card small{display:block;color:#777;margin-top:4px}.quote{background:linear-gradient(145deg,#0b1117,#101010);border:1px solid #193246;border-radius:9px;padding:30px;position:relative;overflow:hidden}.quote:before{content:'“';position:absolute;right:18px;bottom:-35px;font-size:190px;line-height:1;color:rgba(63,182,254,.14)}.quote p{font-size:17px;max-width:680px;position:relative;z-index:2}.quote-author{display:flex;align-items:center;gap:10px;position:relative;z-index:2}.quote-author img{width:40px;height:40px;border-radius:7px;object-fit:cover;background:#333}.logos{display:flex;gap:10px;overflow:auto}.logo-chip{min-width:92px;height:70px;border-radius:50%;background:#111;border:1px solid #252525;display:grid;place-items:center;color:#777;font-size:10px}.process{display:grid;gap:10px}.step{display:grid;grid-template-columns:55px 1fr 45px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:15px}.step-no{color:#777;font-size:10px}.step h3{margin:0;font-size:15px}.step p{margin:2px 0 0;color:#707070;font-size:10px}.step-icon{width:36px;height:36px;border-radius:50%;background:#090909;border:1px solid #292929;display:grid;place-items:center;color:var(--blue);font-size:12px}.pricing{background:linear-gradient(145deg,#0d141b,#0d0d0d);border:1px solid #1b3a52;border-radius:9px;padding:26px}.price{font-size:52px;letter-spacing:-.08em;margin:8px 0}.faq{border-top:1px solid #222}.faq details{border-bottom:1px solid #222;padding:17px 0}.faq summary{cursor:pointer;font-size:12px}.faq p{color:#777;font-size:11px;max-width:700px}.contact-card{background:#101010;border:1px solid #272727;border-radius:9px;padding:28px}.contact-card input,.contact-card textarea{width:100%;background:transparent;border:0;border-bottom:1px solid #333;color:#fff;padding:15px 0;font:inherit;font-size:12px;outline:none}.contact-card textarea{min-height:90px;resize:vertical}.contact-card button{margin-top:18px;border:0}.footer{padding:80px 0 35px;border-top:1px solid #171717;text-align:center;position:relative;overflow:hidden}.footer:before{content:'';position:absolute;width:550px;height:220px;left:50%;bottom:-130px;transform:translateX(-50%);background:radial-gradient(circle,rgba(63,182,254,.30),transparent 68%);filter:blur(25px)}.footer-avatar{width:62px;height:62px;border-radius:50%;object-fit:cover;margin:0 auto 20px;background:#3FB6FE}.footer h2{font-size:clamp(38px,7vw,75px);line-height:.95;letter-spacing:-.08em;margin:0 auto 25px;max-width:850px;position:relative}.footer-links{display:flex;gap:15px;justify-content:center;color:#777;font-size:10px;position:relative}.copyright{margin-top:45px;color:#444;font-size:9px;position:relative}.mobile-menu{display:none}
@media(max-width:700px){.container{width:min(calc(100% - 28px),var(--max))}.navlinks{display:none}.mobile-menu{display:block;background:#111;border:1px solid #292929;color:#ddd;border-radius:50%;width:34px;height:34px}.hero{min-height:720px;padding-top:110px}.portrait{width:180px;height:220px}.hero h1{font-size:44px}.intro{grid-template-columns:1fr;gap:20px}.services{grid-template-columns:1fr}.work-image{height:300px}.section{padding:65px 0}.section-title{font-size:30px}.stack{grid-template-columns:1fr 1fr}.topbar{padding:12px 0}.nav-cta{display:none}}
.case-modal{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.82);backdrop-filter:blur(14px);display:none;align-items:center;justify-content:center;padding:20px}.case-modal.open{display:flex}.case-box{width:min(760px,100%);background:#101010;border:1px solid #333;border-radius:12px;padding:35px;position:relative;box-shadow:0 40px 120px rgba(0,0,0,.65)}.case-box h2{font-size:48px;letter-spacing:-.07em;margin:10px 0}.case-box p{color:#999;max-width:600px}.case-tags{display:inline-block;border:1px solid #333;border-radius:999px;padding:8px 12px;color:#aaa;font-size:10px}.modal-close{position:absolute;right:15px;top:12px;width:34px;height:34px;border-radius:50%;border:1px solid #333;background:#0a0a0a;color:#fff;font-size:20px;cursor:pointer}

.icon-arrow{width:1em;height:1em;display:inline-block;vertical-align:-.12em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.work-arrow .icon-arrow{width:16px;height:16px}.mobile-menu{font-size:0;display:grid;place-items:center}.menu-bars{display:block;width:13px;height:10px;position:relative}.menu-bars:before,.menu-bars:after,.menu-bars span{content:'';position:absolute;left:0;width:13px;height:1px;background:#ddd}.menu-bars:before{top:0}.menu-bars span{top:4px}.menu-bars:after{top:8px}

/* v8 interaction/mobile fixes */
body.modal-open{overflow:hidden}
.work-card:focus-visible,.mobile-menu:focus-visible,.modal-close:focus-visible,.navlinks a:focus-visible,.pill:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
@media(max-width:700px){
  .nav{position:relative}
  .navlinks.is-open{display:flex;position:absolute;top:calc(100% + 8px);left:0;right:0;flex-direction:column;gap:0;padding:8px;background:rgba(12,12,12,.98);border:1px solid #292929;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.55);z-index:60}
  .navlinks.is-open a{display:block;padding:13px 14px;color:#cfcfcf;border-radius:9px;font-size:12px}
  .navlinks.is-open a:hover,.navlinks.is-open a:active{background:#181818;color:#fff}
  .mobile-menu{position:relative;z-index:70;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
  .work-card{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
  .case-modal{padding:14px;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .case-box{max-height:calc(100vh - 28px);overflow-y:auto;padding:28px 22px}
  .case-box h2{font-size:36px}
  .case-link{pointer-events:none}
}

/* v9: CSS-first mobile navigation fallback. This keeps the menu tappable even if JS is delayed or unavailable. */
.mobile-nav-toggle{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;margin:0!important}
@media(max-width:700px){
  .mobile-menu{display:grid!important;align-items:center;justify-content:center;position:relative;z-index:80;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
  #mobile-nav-toggle:checked + .mobile-menu .menu-bars:before{top:4px;transform:rotate(45deg)}
  #mobile-nav-toggle:checked + .mobile-menu .menu-bars:after{top:4px;transform:rotate(-45deg)}
  #mobile-nav-toggle:checked + .mobile-menu .menu-bars span{opacity:0}
  #mobile-nav-toggle:checked ~ .navlinks{display:flex!important;position:absolute;top:calc(100% + 8px);left:0;right:0;flex-direction:column;gap:0;padding:8px;background:rgba(12,12,12,.99);border:1px solid #292929;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.6);z-index:75}
  #mobile-nav-toggle:checked ~ .navlinks a{display:block;padding:13px 14px;color:#cfcfcf;border-radius:9px;font-size:12px}
}

/* Elementor/page template compatibility */
.page-content { min-height: 40vh; }
.page-content > .container { width: min(1400px, calc(100% - 48px)); margin-inline:auto; }
.elementor-page-template { width:100%; }
.elementor-page-template > .elementor { width:100%; }
/* v13 native Elementor canvas styling */
.toheeb-section{box-sizing:border-box}.toheeb-section .elementor-widget-container{box-sizing:border-box}.toheeb-hero-inner{margin:0 auto}.toheeb-hero-photo{max-width:260px;margin:24px auto 18px}.toheeb-hero-image img{width:100%;max-width:240px;height:360px;object-fit:cover;border-radius:18px}.toheeb-status{max-width:max-content!important;margin:0 auto!important}.toheeb-status .elementor-widget-container{background:#0d0d0f;border:1px solid #242428;border-radius:999px;padding:10px 16px}.toheeb-work-grid,.toheeb-services-grid,.toheeb-process-grid,.toheeb-tools-grid{width:100%}.toheeb-project-image img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:14px}.toheeb-project-card{overflow:hidden}.toheeb-project-card .elementor-widget-button{margin-top:8px}.toheeb-project-card .elementor-button,.toheeb-btn .elementor-button{background:#3FB6FE!important;color:#050505!important;border:0!important}.toheeb-project-card .elementor-button:hover,.toheeb-btn .elementor-button:hover{opacity:.86}.toheeb-stat .elementor-heading-title,.toheeb-tool-card .elementor-heading-title{margin:0}.toheeb-testimonial .elementor-widget-container{max-width:900px;margin:0 auto}.toheeb-contact .elementor-button{font-size:16px;padding:16px 26px}.toheeb-text a{color:#3FB6FE}.toheeb-service-card,.toheeb-process-card,.toheeb-tool-card,.toheeb-stat{height:100%}@media(max-width:767px){.toheeb-section{padding-left:18px!important;padding-right:18px!important}.toheeb-hero{padding-top:45px!important}.toheeb-hero-image img{max-width:210px;height:300px}.toheeb-work-grid,.toheeb-services-grid,.toheeb-process-grid,.toheeb-tools-grid{grid-template-columns:1fr!important}.toheeb-heading .elementor-heading-title{font-size:42px!important;line-height:1.02!important}.toheeb-project-card{padding:8px!important}.toheeb-project-body{padding:20px!important}.toheeb-testimonial{padding:40px 24px!important}}
