/*
Theme Name: The Lazy Makers
Theme URI: https://www.thelazymakers.com
Description: Custom theme for The Lazy Makers, an app-development brand of Teekton B.V. Built lean and privacy-first: no external requests, no webfont CDN, no author exposure.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.2
Text Domain: lazymakers
*/

/* ── design tokens ───────────────────────────────────────────────────────── */
:root{
  --ink:#14161b;
  --ink-2:#252932;
  --muted:#5d6472;
  --cream:#f7f4ee;
  --cream-2:#efeae0;
  --line:#e2dcd0;
  --brand:#1f9e7f;          /* canopy green — fresh, not eco-cliché */
  --brand-deep:#15705a;
  --warm:#f0a23c;           /* slow-afternoon amber */
  --card:#ffffff;
  --shadow:0 1px 2px rgba(20,22,27,.04), 0 8px 24px -12px rgba(20,22,27,.18);
  --radius:16px;
  --wrap:1120px;
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme:dark){
  :root{
    --ink:#f2efe9; --ink-2:#cdd3dd; --muted:#98a1b0;
    --cream:#101216; --cream-2:#171a20; --line:#272c35;
    --card:#171a20; --brand:#35c39d; --brand-deep:#2aa084;
    --shadow:0 1px 2px rgba(0,0,0,.4), 0 10px 30px -14px rgba(0,0,0,.7);
  }
}

/* ── base ────────────────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--cream); color:var(--ink);
  font-family:var(--font); font-size:17px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img,svg{max-width:100%; height:auto}
a{color:var(--brand-deep); text-underline-offset:3px}
@media (prefers-color-scheme:dark){a{color:var(--brand)}}
h1,h2,h3{line-height:1.12; letter-spacing:-.022em; margin:0 0 .5em; font-weight:680}
h1{font-size:clamp(2.4rem,6vw,4.1rem)}
h2{font-size:clamp(1.7rem,3.4vw,2.5rem)}
h3{font-size:1.16rem; letter-spacing:-.01em}
p{margin:0 0 1.1em}
.wrap{max-width:var(--wrap); margin-inline:auto; padding-inline:24px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;background:var(--card);padding:10px 16px;border-radius:8px;z-index:99}

/* ── header ──────────────────────────────────────────────────────────────── */
.site-head{position:sticky; top:0; z-index:50; background:color-mix(in srgb,var(--cream) 88%, transparent);
  backdrop-filter:saturate(1.4) blur(10px); border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex; align-items:center; gap:28px; height:70px}
.brand{display:flex; align-items:center; gap:11px; text-decoration:none; color:var(--ink); font-weight:670; letter-spacing:-.02em}
.brand .mark{width:36px; height:36px; color:var(--brand); flex:none}
.brand:hover .mark{transform:rotate(-6deg)}
.brand .mark{transition:transform .5s cubic-bezier(.2,.8,.2,1)}   /* slowly, of course */
.nav{margin-left:auto; display:flex; gap:26px; align-items:center}
.nav a{color:var(--ink-2); text-decoration:none; font-size:.96rem; font-weight:520}
.nav a:hover{color:var(--brand-deep)}
@media (prefers-color-scheme:dark){.nav a:hover{color:var(--brand)}}
@media(max-width:640px){.nav{gap:16px} .nav .hide-sm{display:none}}

/* ── buttons ─────────────────────────────────────────────────────────────── */
.btn{display:inline-flex; align-items:center; gap:9px; padding:12px 22px; border-radius:999px;
  font-weight:600; font-size:.97rem; text-decoration:none; border:1px solid transparent; cursor:pointer}
.btn-primary{background:var(--brand-deep); color:#fff}
.btn-primary:hover{background:var(--brand)}
.btn-ghost{border-color:var(--line); color:var(--ink)}
.btn-ghost:hover{border-color:var(--brand); color:var(--brand-deep)}
@media (prefers-color-scheme:dark){.btn-primary{background:var(--brand); color:#06231c} .btn-ghost:hover{color:var(--brand)}}

/* ── hero ────────────────────────────────────────────────────────────────── */
.hero{padding:clamp(56px,9vw,110px) 0 clamp(40px,6vw,72px)}
.hero-grid{display:grid; grid-template-columns:1.15fr .85fr; gap:56px; align-items:center}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr; gap:36px}}
.eyebrow{display:inline-flex; align-items:center; gap:8px; font-size:.82rem; font-weight:640;
  letter-spacing:.08em; text-transform:uppercase; color:var(--brand-deep);
  background:color-mix(in srgb,var(--brand) 12%, transparent); padding:6px 13px; border-radius:999px; margin-bottom:20px}
@media (prefers-color-scheme:dark){.eyebrow{color:var(--brand)}}
.lede{font-size:clamp(1.06rem,1.7vw,1.24rem); color:var(--muted); max-width:56ch}
.hero-actions{display:flex; gap:14px; flex-wrap:wrap; margin-top:30px}
.hero-art{display:flex; justify-content:center}
.hero-art svg{width:min(340px,80%); color:var(--brand)}

/* ── sections ────────────────────────────────────────────────────────────── */
section{padding:clamp(48px,7vw,86px) 0}
.section-head{max-width:62ch; margin-bottom:44px}
.section-head p{color:var(--muted); margin:0}
.alt{background:var(--cream-2); border-block:1px solid var(--line)}

.cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(272px,1fr)); gap:22px}
.card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
  padding:28px; box-shadow:var(--shadow); position:relative}
.card h3{margin-bottom:.45em}
.card p{color:var(--muted); margin:0; font-size:.97rem}
.card .ico{width:34px;height:34px;color:var(--brand);margin-bottom:16px}

/* app cards: the sloth peeks over the corner */
.app-card{position:relative; overflow:visible}
.app-card .peek{position:absolute; top:-19px; right:16px; width:40px; height:40px; color:var(--brand); opacity:.85}
.badge{display:inline-block; font-size:.72rem; font-weight:660; letter-spacing:.06em; text-transform:uppercase;
  color:var(--warm); background:color-mix(in srgb,var(--warm) 15%, transparent); padding:4px 10px; border-radius:999px; margin-bottom:12px}

/* ── contact ─────────────────────────────────────────────────────────────── */
.contact-box{background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
  padding:clamp(28px,4vw,44px); box-shadow:var(--shadow); text-align:center}
.contact-box .mail{font-size:clamp(1.2rem,2.6vw,1.7rem); font-weight:650; letter-spacing:-.02em}

/* ── footer ──────────────────────────────────────────────────────────────── */
.site-foot{border-top:1px solid var(--line); background:var(--cream-2); padding:44px 0 30px}
.foot-grid{display:flex; gap:24px; align-items:flex-start; justify-content:space-between; flex-wrap:wrap}
.site-foot p{color:var(--muted); font-size:.92rem; margin:0 0 .4em}
.site-foot a{color:var(--muted)}
.site-foot .brand{margin-bottom:12px}
.foot-sloth{width:30px;height:30px;color:var(--brand);opacity:.75}

/* ── content pages ───────────────────────────────────────────────────────── */
.page-body{max-width:70ch; margin-inline:auto}
.page-body h2{margin-top:1.6em}
.page-body ul{padding-left:1.15em}
.page-body li{margin-bottom:.5em}
hr{border:0;border-top:1px solid var(--line);margin:2.5em 0}

/* honour reduced motion */
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
