/*
Theme Name: Taskmod Theme
Theme URI: https://taskmod.com/
Author: Taskmod
Author URI: https://taskmod.com/
Description: A lightweight, developer-focused starter theme for Taskmod with a custom header, footer, and homepage.
Version: 0.6.2
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: taskmod-theme
*/
:root{--tm-bg:#f7f8fa;--tm-surface:#fff;--tm-text:#151922;--tm-muted:#606978;--tm-line:#e2e6ec;--tm-accent:#3459e6;--tm-accent-dark:#2445c6;--tm-soft:#eef2ff;--tm-radius:18px;--tm-width:1160px;--tm-shadow:0 18px 55px rgba(20,30,55,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--tm-bg);color:var(--tm-text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto}a{color:var(--tm-accent);text-decoration:none}a:hover{color:var(--tm-accent-dark)}button,input,textarea,select{font:inherit}.tm-container{width:min(calc(100% - 40px),var(--tm-width));margin-inline:auto}.tm-skip-link{position:absolute;left:-9999px;top:10px;background:#fff;padding:10px 14px;z-index:999}.tm-skip-link:focus{left:10px}.tm-header{position:relative;z-index:20;background:rgba(255,255,255,.94);border-bottom:1px solid var(--tm-line)}.tm-header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}.tm-brand{display:inline-flex;align-items:center;gap:10px;min-width:150px;color:var(--tm-text);font-weight:800;letter-spacing:-.04em;font-size:24px}.tm-brand img{display:block;max-width:190px;max-height:48px;width:auto;height:auto;object-fit:contain}.tm-brand-text span{color:var(--tm-accent)}.tm-nav-wrap{display:flex;align-items:center;gap:30px}.tm-nav ul{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}.tm-nav a{display:block;color:#343b49;font-size:14px;font-weight:650;padding:10px 0}.tm-nav a:hover,.tm-nav .current-menu-item>a{color:var(--tm-accent)}.tm-header-cta,.tm-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--tm-accent);border-radius:10px;background:var(--tm-accent);color:#fff;padding:11px 17px;font-size:14px;font-weight:700;line-height:1.3;transition:background .18s ease,transform .18s ease}.tm-header-cta:hover,.tm-button:hover{background:var(--tm-accent-dark);color:#fff;transform:translateY(-1px)}.tm-button-secondary{background:transparent;color:var(--tm-text);border-color:#cfd5df}.tm-button-secondary:hover{background:#fff;color:var(--tm-text);border-color:#aeb7c7}.tm-menu-toggle{display:none;border:1px solid var(--tm-line);background:#fff;border-radius:10px;width:44px;height:42px;align-items:center;justify-content:center;color:var(--tm-text);cursor:pointer}.tm-menu-toggle svg{width:21px;height:21px}.tm-main{min-height:55vh}.tm-hero{padding:94px 0 78px;overflow:hidden}.tm-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:center;gap:70px}.tm-eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--tm-accent);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin:0 0 22px}.tm-eyebrow:before{content:"";width:24px;height:2px;background:currentColor}.tm-hero h1{font-size:clamp(42px,5.3vw,68px);line-height:1.04;letter-spacing:-.065em;max-width:760px;margin:0 0 24px;font-weight:800}.tm-hero h1 em{font-style:normal;color:var(--tm-accent)}.tm-hero-copy{font-size:18px;line-height:1.75;color:var(--tm-muted);max-width:610px;margin:0 0 30px}.tm-hero-actions{display:flex;flex-wrap:wrap;gap:12px}.tm-hero-note{font-size:12px;color:var(--tm-muted);margin-top:22px}.tm-hero-panel{position:relative;min-height:340px;border:1px solid #dfe4ed;border-radius:24px;background:linear-gradient(145deg,#fff 0%,#f0f3ff 100%);box-shadow:var(--tm-shadow);padding:25px;overflow:hidden}.tm-panel-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid #dfe4ed;color:#70798a;font-size:12px;font-weight:700}.tm-window-dots{display:flex;gap:5px}.tm-window-dots i{display:block;width:7px;height:7px;border-radius:50%;background:#c8cfdd}.tm-code-card{margin-top:24px;background:#171d2a;color:#d9e2f3;border-radius:14px;padding:22px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:2;box-shadow:0 12px 28px rgba(20,30,50,.13)}.tm-code-muted{color:#8794ab}.tm-code-blue{color:#a6b8ff}.tm-code-green{color:#9ee4c0}.tm-code-purple{color:#d4b8ff}.tm-panel-tag{display:inline-flex;margin-top:18px;background:#fff;border:1px solid #dfe4ed;border-radius:9px;padding:9px 12px;color:#3e4758;font-size:12px;font-weight:700}.tm-section{padding:78px 0}.tm-section-white{background:#fff;border-block:1px solid var(--tm-line)}.tm-section-heading{max-width:650px;margin-bottom:34px}.tm-section-heading .tm-eyebrow{margin-bottom:14px}.tm-section-heading h2{font-size:clamp(30px,4vw,44px);line-height:1.12;letter-spacing:-.05em;margin:0 0 15px}.tm-section-heading p{color:var(--tm-muted);margin:0}.tm-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.tm-service-card{display:flex;flex-direction:column;align-items:flex-start;background:var(--tm-surface);border:1px solid var(--tm-line);border-radius:var(--tm-radius);padding:26px;min-height:230px;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.tm-service-card:hover{transform:translateY(-3px);border-color:#c4ceef;box-shadow:var(--tm-shadow)}.tm-service-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--tm-soft);color:var(--tm-accent);margin-bottom:22px}.tm-service-icon svg{width:21px;height:21px}.tm-service-card h3{font-size:19px;letter-spacing:-.03em;margin:0 0 9px}.tm-service-card p{font-size:14px;color:var(--tm-muted);margin:0 0 18px}.tm-text-link{font-size:13px;font-weight:750;margin-top:auto}.tm-work-placeholder{border:1px dashed #cbd2df;border-radius:var(--tm-radius);padding:36px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:25px}.tm-work-placeholder h3{font-size:21px;margin:0 0 6px;letter-spacing:-.03em}.tm-work-placeholder p{color:var(--tm-muted);margin:0;font-size:14px}.tm-cta-band{background:#171d2a;color:#fff;border-radius:22px;padding:42px;display:flex;align-items:center;justify-content:space-between;gap:30px}.tm-cta-band h2{font-size:clamp(27px,3.5vw,38px);letter-spacing:-.05em;line-height:1.15;margin:0 0 10px}.tm-cta-band p{color:#bdc5d4;margin:0;max-width:610px}.tm-cta-band .tm-button{background:#fff;color:#171d2a;border-color:#fff;white-space:nowrap}.tm-cta-band .tm-button:hover{background:#e9edff;border-color:#e9edff}.tm-footer{background:#fff;border-top:1px solid var(--tm-line);margin-top:0}.tm-footer-main{padding:54px 0 45px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:55px}.tm-footer-brand{margin-bottom:13px}.tm-footer-about{font-size:14px;color:var(--tm-muted);max-width:300px;margin:0}.tm-footer h2{font-size:12px;text-transform:uppercase;letter-spacing:.11em;margin:6px 0 17px;color:#697282}.tm-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}.tm-footer li a{font-size:14px;color:#3f4755}.tm-footer li a:hover{color:var(--tm-accent)}.tm-footer-bottom{border-top:1px solid var(--tm-line);padding:18px 0;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#737c8b}.tm-footer-bottom p{margin:0}.tm-footer-bottom-brand .tm-brand{font-size:18px}.tm-footer-bottom-brand .tm-brand img{max-height:30px;max-width:135px}.tm-content{padding:55px 0 80px}.tm-content-inner{max-width:850px;margin-inline:auto}.tm-content h1{font-size:clamp(34px,5vw,54px);line-height:1.1;letter-spacing:-.05em}.tm-content h2,.tm-content h3{letter-spacing:-.03em}.tm-content p,.tm-content li{color:#414958}.tm-pagination{padding:25px 0}.tm-post-list{display:grid;gap:20px}.tm-post-card{background:#fff;border:1px solid var(--tm-line);border-radius:var(--tm-radius);padding:24px}.tm-post-card h2{margin-top:0}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;word-wrap:normal!important}.alignwide{max-width:var(--tm-width);margin-inline:auto}.alignfull{width:100%;max-width:none}.wp-caption{max-width:100%}.wp-caption-text{font-size:13px;color:var(--tm-muted)}.gallery{display:grid;gap:15px}.entry-content:after{content:"";display:block;clear:both}
@media(max-width:900px){.tm-hero{padding:70px 0 60px}.tm-hero-grid{grid-template-columns:1fr;gap:38px}.tm-hero-panel{max-width:570px}.tm-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tm-nav-wrap{gap:18px}.tm-nav ul{gap:18px}.tm-footer-main{gap:30px}.tm-cta-band{padding:32px}}
@media(max-width:700px){.tm-container{width:min(calc(100% - 32px),var(--tm-width))}.tm-header-inner{min-height:72px;gap:14px}.tm-brand{font-size:22px;min-width:0}.tm-brand img{max-width:160px;max-height:42px}.tm-menu-toggle{display:inline-flex;margin-left:auto}.tm-nav-wrap{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--tm-line);padding:15px 20px 20px;align-items:stretch;gap:14px;box-shadow:0 18px 28px rgba(20,30,55,.06)}.tm-nav-wrap.is-open{display:flex;flex-direction:column}.tm-nav ul{display:flex;flex-direction:column;align-items:stretch;gap:0}.tm-nav a{padding:12px 0;border-bottom:1px solid #f0f1f5}.tm-header-cta{text-align:center}.tm-hero{padding:58px 0 52px}.tm-hero h1{font-size:clamp(40px,11vw,56px)}.tm-hero-copy{font-size:16px}.tm-hero-panel{min-height:0;padding:18px}.tm-code-card{padding:17px;font-size:11px;overflow:auto}.tm-section{padding:58px 0}.tm-service-grid{grid-template-columns:1fr}.tm-service-card{min-height:0}.tm-work-placeholder{align-items:flex-start;flex-direction:column;padding:25px}.tm-cta-band{align-items:flex-start;flex-direction:column;padding:28px 23px}.tm-footer-main{grid-template-columns:1fr;gap:30px;padding:42px 0 32px}.tm-footer-bottom{flex-direction:column;gap:12px}.tm-content{padding:35px 0 55px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Editable footer navigation menus */
.tm-footer-column .tm-footer-menu { list-style: none; margin: 0; padding: 0; }
.tm-footer-column .tm-footer-menu li { margin: 0; padding: 0; }

/* Taskmod Theme 0.6.1: card spacing and service-specific code examples */
.tm-page-hero{padding:78px 0 72px;background:#f5f7fa;border-bottom:1px solid var(--tm-line);overflow:hidden}
.tm-page-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:center;gap:70px}
.tm-page-hero-inner{max-width:var(--tm-width)}
.tm-page-hero h1{font-size:clamp(40px,5vw,64px);line-height:1.05;letter-spacing:-.06em;max-width:760px;margin:0 0 24px;font-weight:800}
.tm-page-intro{font-size:18px;line-height:1.75;color:var(--tm-muted);max-width:650px;margin:0 0 30px}
.tm-page-hero .tm-hero-actions{margin-top:30px;gap:14px}
.tm-page-hero .tm-button{padding:14px 20px;min-height:46px}
.tm-detail-panel{position:relative;border:1px solid #dfe4ed;border-radius:24px;background:linear-gradient(145deg,#fff 0%,#f0f3ff 100%);box-shadow:var(--tm-shadow);padding:25px;overflow:hidden}
.tm-detail-panel h2{font-size:clamp(23px,2.5vw,30px);line-height:1.15;letter-spacing:-.04em;margin:6px 0 12px}
.tm-detail-panel p{color:var(--tm-muted);margin:0 0 18px}
.tm-detail-panel ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.tm-detail-panel li{font-size:14px;color:#3e4758;padding-left:22px;position:relative}
.tm-detail-panel li:before{content:"✓";position:absolute;left:0;color:var(--tm-accent);font-weight:800}
.tm-service-page .tm-page-hero .tm-button{padding:14px 20px}
.tm-service-page .tm-page-hero + .tm-section{padding-top:88px}
.tm-service-page .tm-section-heading{margin-bottom:38px}
.tm-detail-copy{max-width:850px}
.tm-detail-copy h2{font-size:clamp(26px,3.5vw,38px);line-height:1.2;letter-spacing:-.045em;margin:0 0 28px}
.tm-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tm-detail-list-item{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--tm-line);border-radius:14px;background:#fff;padding:18px}
.tm-detail-list-item span{color:var(--tm-accent);font-weight:800}
.tm-detail-list-item p{margin:0;color:#414958}
@media(max-width:900px){.tm-page-hero-grid{grid-template-columns:1fr;gap:38px}.tm-detail-panel{max-width:570px}.tm-page-hero{padding:65px 0 60px}}
@media(max-width:700px){.tm-page-hero{padding:54px 0 50px}.tm-page-hero h1{font-size:clamp(38px,10vw,54px)}.tm-page-intro{font-size:16px}.tm-service-page .tm-page-hero + .tm-section{padding-top:60px}.tm-detail-list{grid-template-columns:1fr}}

/* v0.6.1: keep card action links comfortably inset from the bottom edge */
.tm-home-service-grid .tm-service-card{padding:26px 26px 30px}
.tm-home-service-grid .tm-text-link{display:inline-block;padding:5px 0 2px;margin-top:auto;line-height:1.5}
.tm-home-service-grid .tm-service-card p{margin-bottom:22px}
.tm-code-card>div{white-space:pre-wrap;overflow-wrap:anywhere}

/* Taskmod Theme 0.6.2: add spacing to the homepage services section and its directory CTA */
.tm-home-services .tm-service-grid{margin-bottom:28px}
.tm-home-services .tm-services-more{padding-top:4px}
.tm-home-services .tm-services-more .tm-button{margin-top:0}
@media(max-width:700px){.tm-home-services .tm-service-grid{margin-bottom:24px}.tm-home-services .tm-services-more{padding-top:2px}}
