/*
Theme Name: Afford App Studio
Theme URI: https://affordapp.greatlab.store/
Author: Afford App Studio
Description: A modern portfolio theme for an independent software developer and app studio.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: afford-app-studio
*/

:root{--ink:#121a2b;--muted:#5e697d;--blue:#4255e8;--blue-dark:#2737ba;--pale:#f4f6fb;--line:#e5e9f1;--white:#fff;--lime:#dcf889;--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}img{max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.13;letter-spacing:-.045em}h1{font-size:clamp(3.4rem,8vw,7.7rem);max-width:1050px;margin-bottom:26px}h2{font-size:clamp(2.4rem,5vw,4.5rem);margin-bottom:18px}h3{font-size:1.48rem;margin-bottom:12px}.container{width:min(1200px,calc(100% - 48px));margin:auto}.skip-link{position:absolute;left:-9999px;top:10px;background:var(--ink);color:white;padding:10px;z-index:100}.skip-link:focus{left:10px}.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:inline-flex;align-items:center;gap:11px;font-weight:800;font-size:1.15rem;letter-spacing:-.04em}.brand-mark{display:grid;place-items:center;width:34px;height:34px;background:var(--blue);color:white;border-radius:11px;font-size:1.28rem;line-height:1}.nav-links{display:flex;align-items:center;gap:30px;font-weight:600;font-size:.91rem}.nav-links a:not(.button):hover,.footer-links a:hover{color:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 20px;border:1px solid transparent;border-radius:12px;background:var(--blue);color:white;font-weight:700;line-height:1.2;transition:transform .2s,background .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);background:var(--blue-dark);box-shadow:0 10px 25px rgba(66,85,232,.2)}.button-light{background:#fff;color:var(--ink)}.button-light:hover{background:var(--lime);color:var(--ink)}.button-outline{background:transparent;border-color:#cbd3e2;color:var(--ink)}.button-outline:hover{background:#edf0ff;color:var(--blue)}.menu-toggle{display:none;border:0;background:transparent;font-weight:700;color:var(--ink);cursor:pointer}.hero{background:radial-gradient(circle at 82% 20%,#e9edff 0,transparent 34%),linear-gradient(150deg,#fff 35%,#f7f8ff 100%);padding:100px 0 88px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1fr 360px;gap:30px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--blue);font-size:.8rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:22px}.eyebrow:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--blue)}.hero h1 span{color:var(--blue)}.hero-copy{font-size:1.18rem;color:var(--muted);max-width:620px;margin-bottom:30px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.hero-note{color:var(--muted);font-size:.88rem;margin-top:24px}.hero-visual{position:relative;min-height:440px;display:grid;place-items:center}.visual-orbit{position:absolute;width:355px;height:355px;border:1px dashed #bac4ec;border-radius:50%;transform:rotate(-18deg)}.visual-orbit:after,.visual-orbit:before{content:"";position:absolute;background:#c5d4ff;border-radius:50%}.visual-orbit:before{width:20px;height:20px;top:30px;right:56px}.visual-orbit:after{width:11px;height:11px;bottom:33px;left:60px}.mock-window{position:relative;width:305px;background:#fff;border:1px solid #e0e5f2;border-radius:22px;box-shadow:0 30px 80px rgba(27,39,93,.15);overflow:hidden;transform:rotate(-5deg)}.mock-top{height:42px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:5px;padding:0 17px}.mock-top i{width:7px;height:7px;background:#c4ccdc;border-radius:50%}.mock-body{padding:20px}.mock-chart{height:125px;border-radius:12px;background:linear-gradient(135deg,#e8eaff,#f7f8ff);display:flex;align-items:end;gap:8px;padding:16px}.mock-chart i{display:block;flex:1;background:linear-gradient(0deg,#4255e8,#8b96fb);border-radius:5px 5px 0 0}.mock-chart i:nth-child(1){height:33%}.mock-chart i:nth-child(2){height:64%}.mock-chart i:nth-child(3){height:48%}.mock-chart i:nth-child(4){height:82%}.mock-chart i:nth-child(5){height:69%}.mock-chart i:nth-child(6){height:100%}.mock-row{display:flex;gap:9px;margin-top:14px}.mock-row i{height:28px;background:#eef1f8;border-radius:7px;flex:1}.mock-row i:first-child{flex:2}.float-card{position:absolute;background:#fff;border:1px solid #e1e5f0;border-radius:14px;padding:12px 15px;box-shadow:0 12px 34px rgba(32,47,101,.12);font-size:.79rem;font-weight:800}.float-card.one{top:47px;right:-3px;transform:rotate(6deg)}.float-card.two{bottom:63px;left:-22px;transform:rotate(5deg)}.float-card span{display:inline-grid;place-items:center;width:23px;height:23px;border-radius:7px;background:#ebf8cd;margin-right:5px}.section{padding:100px 0}.section-soft{background:var(--pale)}.section-heading{max-width:740px;margin-bottom:44px}.section-heading p{color:var(--muted);font-size:1.08rem}.kicker{color:var(--blue);font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;font-weight:800;margin-bottom:13px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:32px;min-height:272px;transition:transform .2s,box-shadow .2s}.service-card:hover,.project-card:hover{transform:translateY(-5px);box-shadow:0 18px 45px rgba(30,45,90,.09)}.service-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:#ebedff;color:var(--blue);font-weight:800;font-size:1.35rem;margin-bottom:34px}.service-card p{color:var(--muted);margin-bottom:0}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;transition:transform .2s,box-shadow .2s}.project-image{aspect-ratio:16/10;background:linear-gradient(135deg,#d9ddff,#edf5ff);display:grid;place-items:center;overflow:hidden}.project-image img{width:100%;height:100%;object-fit:cover}.project-image .placeholder{color:var(--blue);font-size:4rem;font-weight:800}.project-content{padding:25px}.project-content p{color:var(--muted);margin-bottom:18px}.project-link{font-weight:800;color:var(--blue)}.empty-projects{border:1px dashed #b9c4dc;border-radius:var(--radius);padding:44px;background:#fbfcff}.empty-projects p{color:var(--muted);max-width:620px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}.process-item{border-top:2px solid #cbd3e2;padding-top:20px}.process-number{color:var(--blue);font-weight:800;font-size:.85rem;margin-bottom:22px}.process-item p{color:var(--muted)}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.about-panel{background:#17213a;color:#fff;border-radius:28px;padding:50px;min-height:365px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.about-panel:after{content:"✳";position:absolute;right:-12px;bottom:-85px;font-size:340px;line-height:1;color:rgba(220,248,137,.12)}.about-panel strong{font-size:2.2rem;line-height:1.15;letter-spacing:-.045em;position:relative;z-index:1}.about-panel span{color:var(--lime);font-size:.9rem;font-weight:800;position:relative;z-index:1}.about-copy p{font-size:1.07rem;color:var(--muted)}.check-list{list-style:none;padding:0;margin:27px 0 0}.check-list li{padding:8px 0;font-weight:700}.check-list li:before{content:"✓";color:var(--blue);margin-right:12px}.contact-section{background:#4255e8;color:#fff;padding:88px 0}.contact-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center}.contact-section .kicker{color:var(--lime)}.contact-section h2{max-width:690px}.contact-section p{color:#e3e6ff;max-width:620px;font-size:1.08rem}.contact-actions{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.contact-actions a:not(.button){font-size:1.13rem;font-weight:700;overflow-wrap:anywhere}.contact-actions a:not(.button):hover{text-decoration:underline}.contact-label{color:#d9ddff;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:800;margin:7px 0 -7px}.contact-pending{border:1px solid #afbbff;border-radius:12px;padding:16px;color:white}.site-footer{background:#111a2c;color:white;padding:46px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-inner p{color:#b8c1d4;font-size:.9rem;margin:6px 0 0}.footer-links{display:flex;gap:22px;font-size:.9rem;color:#d7deed}.footer-links a:hover{color:var(--lime)}.page-header{background:var(--pale);padding:75px 0}.page-header h1{font-size:clamp(2.8rem,6vw,5rem);margin-bottom:13px}.page-header p{color:var(--muted);font-size:1.1rem;max-width:650px}.entry-content{max-width:850px;margin:auto}.entry-content p,.entry-content li{color:#3d495f}.entry-content h2{font-size:2.1rem;margin-top:42px}.entry-image{width:100%;border-radius:20px;margin:0 0 30px}.meta{color:var(--blue);font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.project-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.screen-reader-text{position:absolute;left:-10000px}a:focus-visible,button:focus-visible{outline:3px solid var(--lime);outline-offset:3px}@media(max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-visual{display:none}.service-grid,.project-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(2,1fr)}.about-layout{gap:35px}}@media(max-width:650px){.container{width:min(100% - 36px,1200px)}.nav-inner{height:68px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;left:0;right:0;top:68px;background:white;border-bottom:1px solid var(--line);padding:20px 18px 26px;flex-direction:column;align-items:stretch;gap:15px}.nav-links.is-open{display:flex}.nav-links .button{width:100%}.hero{padding:72px 0}.hero h1{font-size:clamp(3rem,13vw,5rem)}.section{padding:72px 0}.service-grid,.project-grid,.process-grid,.about-layout,.contact-layout{grid-template-columns:1fr}.about-panel{min-height:300px;padding:35px}.footer-inner{align-items:flex-start;flex-direction:column}.footer-links{flex-wrap:wrap}.contact-section{padding:70px 0}}
