/*
Theme Name: AgencyPro
Theme URI: https://example.com/agencypro
Author: AgencyPro
Author URI: https://example.com
Description: A modern, flexible WordPress theme for creative and digital website agencies. Includes a customizable homepage, services, portfolio and contact page templates, full-width layouts, and block-editor support.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: agencypro
Tags: agency, business, portfolio, custom-menu, custom-logo, featured-images, full-width-template, block-styles, editor-style, threaded-comments, translation-ready
*/

:root{
  --ap-ink:#14151a;--ap-ink-soft:#3a3d47;--ap-muted:#6b6f7b;--ap-line:#e6e7ec;
  --ap-bg:#ffffff;--ap-bg-alt:#f5f5f2;--ap-accent:#00b39f;--ap-accent-ink:#00312c;
  --ap-radius:14px;--ap-maxw:1180px;--ap-gap:clamp(20px,4vw,48px);
  --ap-font-head:"Space Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --ap-font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{margin:0;font-family:var(--ap-font-body);color:var(--ap-ink);background:var(--ap-bg);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;}
img{max-width:100%;height:auto;display:block;}
a{color:var(--ap-accent-ink);text-decoration:none;}
a:hover{color:var(--ap-accent);}
h1,h2,h3,h4,h5,h6{font-family:var(--ap-font-head);color:var(--ap-ink);line-height:1.12;font-weight:700;letter-spacing:-.02em;margin:0 0 .5em;}
h1{font-size:clamp(2.4rem,5vw,4rem);}h2{font-size:clamp(1.8rem,3.4vw,2.8rem);}h3{font-size:clamp(1.3rem,2.2vw,1.7rem);}
p{margin:0 0 1.1em;}ul,ol{margin:0 0 1.1em;padding-left:1.2em;}
.ap-container{width:100%;max-width:var(--ap-maxw);margin-inline:auto;padding-inline:clamp(20px,5vw,40px);}
.ap-section{padding-block:clamp(48px,8vw,110px);}
.ap-section--alt{background:var(--ap-bg-alt);}
.ap-eyebrow{font-family:var(--ap-font-head);text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:600;color:var(--ap-accent-ink);margin:0 0 14px;}
.ap-lead{font-size:1.2rem;color:var(--ap-ink-soft);max-width:60ch;}
.ap-btn{display:inline-flex;align-items:center;gap:.55em;font-family:var(--ap-font-head);font-weight:600;font-size:1rem;padding:14px 26px;border-radius:999px;border:1.5px solid var(--ap-ink);background:var(--ap-ink);color:#fff;cursor:pointer;transition:transform .18s ease,background .18s ease,color .18s ease;}
.ap-btn:hover{background:var(--ap-accent);border-color:var(--ap-accent);color:var(--ap-accent-ink);transform:translateY(-2px);}
.ap-btn--ghost{background:transparent;color:var(--ap-ink);}
.ap-btn--ghost:hover{background:var(--ap-ink);color:#fff;border-color:var(--ap-ink);}
.ap-site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.85);backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid var(--ap-line);}
.ap-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:74px;}
.ap-brand{font-family:var(--ap-font-head);font-weight:700;font-size:1.35rem;letter-spacing:-.03em;color:var(--ap-ink);}
.ap-brand img{max-height:44px;width:auto;}
.ap-nav ul{list-style:none;display:flex;gap:28px;margin:0;padding:0;align-items:center;}
.ap-nav a{font-family:var(--ap-font-head);font-weight:500;font-size:.98rem;color:var(--ap-ink);position:relative;}
.ap-nav a:hover{color:var(--ap-accent-ink);}
.ap-nav .current-menu-item>a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--ap-accent);}
.ap-nav .sub-menu{position:absolute;background:#fff;border:1px solid var(--ap-line);border-radius:12px;padding:10px;min-width:200px;flex-direction:column;gap:4px;display:none;box-shadow:0 20px 40px -20px rgba(20,21,26,.25);}
.ap-nav li{position:relative;}
.ap-nav li:hover>.sub-menu{display:flex;}
.ap-menu-toggle{display:none;background:none;border:1.5px solid var(--ap-line);border-radius:10px;padding:9px 12px;cursor:pointer;font-family:var(--ap-font-head);font-weight:600;}
.ap-hero{padding-block:clamp(60px,10vw,130px);}
.ap-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--ap-gap);align-items:center;}
.ap-hero h1{margin-bottom:.35em;}
.ap-hero .ap-cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px;}
.ap-hero-art{aspect-ratio:4/3;border-radius:var(--ap-radius);background:repeating-linear-gradient(135deg,var(--ap-bg-alt),var(--ap-bg-alt) 14px,#ededea 14px,#ededea 28px);border:1px solid var(--ap-line);display:grid;place-items:center;overflow:hidden;}
.ap-hero-art img{width:100%;height:100%;object-fit:cover;}
.ap-ph{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;color:var(--ap-muted);}
.ap-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--ap-gap);border-top:1px solid var(--ap-line);padding-top:40px;margin-top:60px;}
.ap-stat .n{font-family:var(--ap-font-head);font-size:clamp(2rem,4vw,3rem);font-weight:700;letter-spacing:-.03em;}
.ap-stat .l{color:var(--ap-muted);font-size:.95rem;}
.ap-grid{display:grid;gap:var(--ap-gap);}
.ap-grid--3{grid-template-columns:repeat(3,1fr);}
.ap-grid--2{grid-template-columns:repeat(2,1fr);}
.ap-card{background:#fff;border:1px solid var(--ap-line);border-radius:var(--ap-radius);padding:32px;transition:transform .2s ease,box-shadow .2s ease;}
.ap-card:hover{transform:translateY(-4px);box-shadow:0 26px 50px -30px rgba(20,21,26,.35);}
.ap-card .num{font-family:var(--ap-font-head);font-weight:700;color:var(--ap-accent-ink);font-size:.9rem;letter-spacing:.1em;}
.ap-card h3{margin-top:14px;}
.ap-work{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--ap-gap);}
.ap-work-item{border-radius:var(--ap-radius);overflow:hidden;border:1px solid var(--ap-line);background:#fff;}
.ap-work-thumb{aspect-ratio:16/10;background:repeating-linear-gradient(135deg,var(--ap-bg-alt),var(--ap-bg-alt) 14px,#ededea 14px,#ededea 28px);display:grid;place-items:center;overflow:hidden;}
.ap-work-thumb img{width:100%;height:100%;object-fit:cover;}
.ap-work-body{padding:22px 26px 28px;}
.ap-work-body .cat{color:var(--ap-accent-ink);font-family:var(--ap-font-head);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;}
.ap-content{max-width:760px;margin-inline:auto;}
.ap-content.wide{max-width:var(--ap-maxw);}
.entry-content{font-size:1.08rem;}
.entry-content img{border-radius:var(--ap-radius);margin-block:1.6em;}
.entry-content blockquote{border-left:3px solid var(--ap-accent);margin:1.6em 0;padding:.4em 0 .4em 1.2em;font-family:var(--ap-font-head);font-size:1.35rem;color:var(--ap-ink);}
.entry-content h2,.entry-content h3{margin-top:1.6em;}
.ap-meta{color:var(--ap-muted);font-size:.9rem;display:flex;gap:16px;flex-wrap:wrap;margin-bottom:20px;}
.ap-featured{border-radius:var(--ap-radius);overflow:hidden;margin-bottom:34px;border:1px solid var(--ap-line);}
.ap-posts{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--ap-gap);}
.ap-post-card{border:1px solid var(--ap-line);border-radius:var(--ap-radius);overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease;}
.ap-post-card:hover{transform:translateY(-4px);box-shadow:0 26px 50px -30px rgba(20,21,26,.35);}
.ap-post-card .thumb{aspect-ratio:16/9;overflow:hidden;background:var(--ap-bg-alt);}
.ap-post-card .thumb img{width:100%;height:100%;object-fit:cover;}
.ap-post-card .body{padding:24px;flex:1;display:flex;flex-direction:column;}
.ap-post-card h3{font-size:1.25rem;}
.ap-post-card .more{margin-top:auto;font-family:var(--ap-font-head);font-weight:600;color:var(--ap-accent-ink);}
.ap-page-head{padding-block:clamp(48px,7vw,90px);border-bottom:1px solid var(--ap-line);}
.ap-page-head h1{margin:0;}
.ap-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--ap-gap);align-items:start;}
.ap-form label{display:block;font-family:var(--ap-font-head);font-weight:600;font-size:.92rem;margin-bottom:8px;}
.ap-form input,.ap-form textarea,.ap-form select{width:100%;padding:14px 16px;border:1.5px solid var(--ap-line);border-radius:12px;font:inherit;margin-bottom:20px;background:#fff;color:var(--ap-ink);}
.ap-form input:focus,.ap-form textarea:focus{outline:none;border-color:var(--ap-accent);}
.ap-layout{display:grid;grid-template-columns:1fr 300px;gap:var(--ap-gap);align-items:start;}
.widget{margin-bottom:36px;}
.widget-title{font-family:var(--ap-font-head);font-size:1.05rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px;}
.widget ul{list-style:none;padding:0;margin:0;}
.widget ul li{padding:8px 0;border-bottom:1px solid var(--ap-line);}
.ap-site-footer{background:var(--ap-ink);color:#c7c9d1;padding-block:70px 40px;}
.ap-site-footer a{color:#fff;}
.ap-site-footer a:hover{color:var(--ap-accent);}
.ap-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--ap-gap);}
.ap-site-footer .ap-brand{color:#fff;}
.ap-site-footer h4{color:#fff;font-size:1rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px;}
.ap-site-footer ul{list-style:none;padding:0;margin:0;}
.ap-site-footer li{padding:6px 0;}
.ap-footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:50px;padding-top:26px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.88rem;}
.ap-pagination{display:flex;gap:8px;justify-content:center;margin-top:60px;flex-wrap:wrap;}
.ap-pagination .page-numbers{padding:10px 16px;border:1px solid var(--ap-line);border-radius:10px;font-family:var(--ap-font-head);font-weight:600;color:var(--ap-ink);}
.ap-pagination .page-numbers.current{background:var(--ap-ink);color:#fff;border-color:var(--ap-ink);}
.ap-comments{max-width:760px;margin:60px auto 0;}
.comment-list{list-style:none;padding:0;}
.comment-list .comment{border:1px solid var(--ap-line);border-radius:var(--ap-radius);padding:22px;margin-bottom:16px;}
.comment-list .children{list-style:none;padding-left:30px;}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden;}
.skip-link{position:absolute;left:-9999px;}
.skip-link:focus{left:12px;top:12px;background:#fff;padding:10px 16px;z-index:999;border-radius:8px;}
.alignwide{width:100%;}
.alignfull{width:100vw;margin-left:calc(50% - 50vw);}
.aligncenter{margin-inline:auto;}
.alignleft{float:left;margin:0 1.5em 1em 0;}
.alignright{float:right;margin:0 0 1em 1.5em;}
.wp-caption-text{color:var(--ap-muted);font-size:.85rem;text-align:center;}
@media(max-width:900px){.ap-hero-grid,.ap-contact-grid,.ap-layout{grid-template-columns:1fr;}.ap-grid--3,.ap-work,.ap-posts{grid-template-columns:1fr 1fr;}.ap-footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:680px){.ap-nav{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--ap-line);padding:16px 20px;display:none;}.ap-nav.is-open{display:block;}.ap-nav ul{flex-direction:column;gap:6px;align-items:stretch;}.ap-menu-toggle{display:inline-flex;}.ap-grid--3,.ap-grid--2,.ap-work,.ap-posts,.ap-footer-grid{grid-template-columns:1fr;}}

/* ---- Projects & case studies ---------------------------------------- */
.ap-work--grid3{grid-template-columns:repeat(3,1fr);}
.ap-filter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:40px;}
.ap-filter-btn{font-family:var(--ap-font-head);font-weight:600;font-size:.92rem;padding:9px 18px;border-radius:999px;border:1.5px solid var(--ap-line);background:#fff;color:var(--ap-ink);cursor:pointer;transition:all .18s ease;}
.ap-filter-btn:hover{border-color:var(--ap-ink);}
.ap-filter-btn.is-active{background:var(--ap-ink);border-color:var(--ap-ink);color:#fff;}
.ap-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--ap-gap);background:var(--ap-bg-alt);border-radius:var(--ap-radius);padding:34px;margin-bottom:44px;}
.ap-metric .n{font-family:var(--ap-font-head);font-size:clamp(2rem,4vw,2.8rem);font-weight:700;letter-spacing:-.03em;color:var(--ap-accent-ink);}
.ap-metric .l{color:var(--ap-muted);font-size:.95rem;margin-top:4px;}
.ap-case-grid{display:grid;grid-template-columns:1fr 320px;gap:var(--ap-gap);align-items:start;}
.ap-case-meta{position:sticky;top:100px;display:flex;flex-direction:column;gap:18px;}
.ap-case-card{background:#fff;border:1px solid var(--ap-line);border-radius:var(--ap-radius);padding:26px;}
.ap-case-row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--ap-line);font-size:.95rem;}
.ap-case-row:last-child{border-bottom:0;}
.ap-case-row .k{color:var(--ap-muted);font-family:var(--ap-font-head);font-weight:600;}
.ap-case-row .v{text-align:right;font-weight:500;}
.ap-btn--block{display:flex;justify-content:center;width:100%;}
.ap-project-nav{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:56px;border-top:1px solid var(--ap-line);padding-top:26px;font-family:var(--ap-font-head);font-weight:600;color:var(--ap-accent-ink);}

/* ---- Form states ---------------------------------------------------- */
.ap-form-note{border-radius:12px;padding:14px 18px;margin-bottom:22px;font-weight:500;}
.ap-form-note--ok{background:#e6f7f4;border:1px solid var(--ap-accent);color:var(--ap-accent-ink);}
.ap-form-note--err{background:#fdeceb;border:1px solid #e2725b;color:#8a2b1c;}
.ap-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin-bottom:20px;}
.ap-check{display:flex;align-items:center;gap:8px;font-family:var(--ap-font-body);font-weight:400;margin:0;}
.ap-check input{width:auto;margin:0;}
@media(max-width:900px){.ap-work--grid3{grid-template-columns:1fr 1fr;}.ap-case-grid{grid-template-columns:1fr;}.ap-case-meta{position:static;}}
@media(max-width:680px){.ap-work--grid3{grid-template-columns:1fr;}.ap-checks{grid-template-columns:1fr;}}
