/*
Theme Name: JA Studio
Theme URI: https://jeremy-allard.com/
Author: Jeremy Allard
Description: Theme editorial noir, blanc et vert pour le blog, la newsletter et les guides EDD.
Version: 0.1.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: ja-studio
*/
:root{--green:#156327;--green-dark:#0d481c;--ink:#141714;--muted:#667067;--line:#dfe4df;--paper:#fff;--soft:#f5f8f4;--max:1160px;--narrow:760px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--green);text-decoration-thickness:1px;text-underline-offset:.18em}a:hover{color:var(--green-dark)}
button,input,textarea,select{font:inherit}
button,a,input{touch-action:manipulation}
img{max-width:100%;height:auto}
h1,h2,h3,h4{color:var(--ink);line-height:1.12;letter-spacing:-.045em;margin:0 0 .6em;font-weight:850}
h1{font-size:clamp(2.8rem,6vw,5.7rem)}h2{font-size:clamp(1.9rem,3vw,3.1rem)}h3{font-size:1.5rem}
p{margin:0 0 1.4em}
:focus-visible{outline:3px solid #4b9b61;outline-offset:4px}
::selection{background:#d2ebd5;color:var(--ink)}
.container{width:min(var(--max),calc(100% - 48px));margin-inline:auto}
.narrow{width:min(var(--narrow),calc(100% - 48px));margin-inline:auto}
.skip-link{position:absolute;top:-80px;left:16px;z-index:999;background:var(--ink);color:#fff;padding:12px 18px}.skip-link:focus{top:12px;color:#fff}
.site-header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:20}
.header-inner{min-height:88px;display:flex;align-items:center;gap:34px}
.brand{font-size:clamp(1.33rem,2vw,1.68rem);font-weight:900;line-height:1;letter-spacing:-.07em;color:var(--ink);text-decoration:none;white-space:nowrap}
.brand:hover{color:var(--ink)}.brand-dot{color:var(--green)}
.site-nav{margin-left:auto;display:flex;align-items:center;gap:30px}
.site-nav a{font-size:.85rem;text-decoration:none;color:var(--ink);font-weight:730}
.site-nav a:hover,.site-nav .current-menu-item>a{color:var(--green)}
.site-nav ul{display:flex;align-items:center;gap:30px;margin:0;padding:0;list-style:none}
.header-cta,.button-primary,.edd-submit.button,.edd-submit,.edd-add-to-cart{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-align:center;background:var(--green);color:white!important;padding:13px 21px;border:1px solid var(--green);border-radius:4px;text-decoration:none;font-size:.86rem;font-weight:800;cursor:pointer;transition:transform .18s ease,background .18s ease}
.header-cta:hover,.button-primary:hover,.edd-submit:hover,.edd-add-to-cart:hover{background:var(--green-dark);transform:translateY(-2px);color:#fff!important}
.button-outline{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:var(--ink);border:1px solid var(--ink);padding:12px 22px;border-radius:4px;font-size:.9rem;font-weight:750;transition:background .18s}
.button-outline:hover{background:var(--ink);color:#fff}
.menu-toggle{display:none}
.kicker{display:inline-flex;align-items:center;gap:10px;font-size:.72rem;line-height:1.4;font-weight:850;letter-spacing:.16em;text-transform:uppercase;color:var(--green)}
.kicker:before{content:"";width:24px;height:2px;background:var(--green);flex:none}
.lede{font-size:clamp(1.06rem,1.45vw,1.28rem);line-height:1.65;color:#414b42;max-width:690px}
.hero{padding:86px 0 88px;border-bottom:1px solid var(--line);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.7fr);gap:clamp(36px,5.2vw,90px);align-items:center}
.hero h1{margin:23px 0 26px;font-size:clamp(3.25rem,6.4vw,6.5rem);line-height:.98;max-width:760px}
.hero h1 em{font-style:normal;color:var(--green);display:inline-block;position:relative}
.hero .lede{margin-bottom:26px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.hero-number{display:block;font-size:.76rem;font-weight:780;letter-spacing:.15em;color:#6b736c;margin-top:35px}
.news-card{border:1px solid #cad7ca;background:var(--soft);padding:33px;box-shadow:13px 13px 0 #e6f0e5;position:relative}
.news-card:before{content:"NEWSLETTER";position:absolute;top:-13px;left:22px;background:var(--green);color:#fff;padding:4px 11px;font-size:.65rem;letter-spacing:.14em;font-weight:850}
.news-card h2{font-size:clamp(1.8rem,2.8vw,2.55rem);margin:0 0 15px}
.news-card p{font-size:.94rem;color:#475248}
.news-card .boss-mail-form,.news-card form{max-width:100%}
.news-card input[type=email],.news-card input[type=text]{display:block;width:100%;max-width:100%;min-height:49px;background:#fff;border:1px solid #b9c7b9;color:var(--ink);padding:12px;border-radius:3px;margin:0 0 10px}
.news-card button,.news-card input[type=submit]{background:var(--green);border:0;color:#fff;border-radius:3px;cursor:pointer;padding:13px 18px;font-size:.85rem;font-weight:800;max-width:100%}
.news-card small{display:block;margin-top:14px;color:#607061;font-size:.76rem}
.section{padding:85px 0}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:35px}
.section-head h2{margin:12px 0 0}
.section-link{font-size:.88rem;font-weight:800;white-space:nowrap;text-decoration:none}
.topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.topic-card{min-height:218px;display:flex;flex-direction:column;justify-content:space-between;padding:27px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:background .18s,border-color .18s,transform .18s}
.topic-card:hover{background:var(--soft);color:var(--ink);border-color:#b5c9b6;transform:translateY(-4px)}
.topic-number{font-size:.78rem;color:var(--green);font-weight:900}
.topic-card strong{font-size:clamp(1.3rem,2vw,2.05rem);line-height:1.13;letter-spacing:-.045em}
.topic-card .topic-bottom{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:.78rem;color:#5b655c}
.topic-arrow{display:grid;place-items:center;border:1px solid #becbbe;border-radius:50%;width:37px;height:37px;color:var(--green);font-size:1.4rem}
.soft-section{background:#f8faf8;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.story-card{display:flex;flex-direction:column;border-top:3px solid var(--ink);padding-top:19px;min-width:0}
.story-card:hover{border-color:var(--green)}
.story-card .post-top{font-size:.71rem;font-weight:820;letter-spacing:.12em;text-transform:uppercase;color:var(--green);margin-bottom:19px}
.story-card h3{font-size:clamp(1.3rem,2vw,1.85rem);margin-bottom:16px}
.story-card h3 a{color:var(--ink);text-decoration:none}
.story-card h3 a:hover{color:var(--green)}
.story-card p{font-size:.9rem;color:#59625a;line-height:1.65;flex:1;margin-bottom:22px}
.story-card .read-more{font-size:.82rem;font-weight:840;text-decoration:none}
.story-card .post-thumb{display:block;aspect-ratio:16/10;overflow:hidden;margin-bottom:20px;background:#e8eee8}
.story-card .post-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.story-card:hover .post-thumb img{transform:scale(1.04)}
.feature-band{display:grid;grid-template-columns:1fr auto;gap:35px;align-items:center;border-top:1px solid var(--line);padding:50px 0}
.feature-band h2{margin:13px 0;font-size:clamp(2rem,3.4vw,3.45rem);max-width:800px}
.feature-band p{max-width:640px;color:#525b53}
.site-footer{background:#121612;color:#fff;padding:55px 0 28px}
.site-footer .brand{color:#fff}
.footer-top{display:grid;grid-template-columns:1fr auto;gap:35px;align-items:start;padding-bottom:35px}
.site-footer p{color:#b9c1b8;font-size:.88rem;margin:20px 0 0;max-width:460px}
.footer-links{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:flex-end}
.footer-links a,.footer-bottom a{font-size:.83rem;color:#dbe2d9;text-decoration:none}
.footer-links a:hover,.footer-bottom a:hover{color:#9bdd9b}
.footer-bottom{border-top:1px solid #3a4239;display:flex;justify-content:space-between;gap:20px;padding-top:24px;color:#aab6a9;font-size:.75rem}
.archive-head{padding:69px 0 43px;border-bottom:1px solid var(--line)}
.archive-head h1{font-size:clamp(2.6rem,5vw,5rem);margin:15px 0}
.archive-list{padding:52px 0 80px}
.pagination{margin:45px 0 0;display:flex;gap:8px;flex-wrap:wrap}
.pagination .page-numbers{min-width:40px;padding:10px 15px;text-decoration:none;border:1px solid var(--line);color:var(--ink);font-weight:700;font-size:.88rem}
.pagination .current,.pagination .page-numbers:hover{background:var(--green);color:#fff;border-color:var(--green)}
.article-head{padding:70px 0 35px}
.article-head h1{font-size:clamp(2.7rem,5.4vw,5.25rem);margin:21px 0}
.article-meta{font-size:.82rem;color:#667066;display:flex;flex-wrap:wrap;gap:16px}
.article-meta a{text-decoration:none;font-weight:750}
.article-cover{display:block;width:min(1020px,calc(100% - 48px));margin:14px auto 45px;max-height:570px;object-fit:cover}
.content-area{padding-bottom:75px}
.entry-content{font-size:1.1rem;line-height:1.86;overflow-wrap:anywhere}
.entry-content p,.entry-content ul,.entry-content ol{margin:0 0 1.6em}
.entry-content h2{font-size:clamp(1.9rem,3.2vw,2.85rem);margin:1.85em 0 .58em}
.entry-content h3{font-size:1.6rem;margin:1.6em 0 .55em}
.entry-content h4{font-size:1.27rem;margin:1.5em 0 .4em}
.entry-content ul,.entry-content ol{padding-left:1.4em}
.entry-content li{padding-left:.15em;margin-bottom:.45em}
.entry-content blockquote{border-left:4px solid var(--green);padding:7px 0 7px 24px;margin:38px 0;color:#344337;font-size:1.25rem}
.entry-content img{border-radius:3px}
.entry-content :where(table){width:100%;border-collapse:collapse;display:block;overflow-x:auto}
.entry-content th,.entry-content td{padding:12px;border:1px solid var(--line);text-align:left}
.entry-content pre{background:#151b15;color:#f1f5f1;border-radius:4px;padding:20px;overflow:auto;font-size:.85rem;line-height:1.55}
.entry-content code{overflow-wrap:anywhere}
.entry-content a{text-decoration-thickness:1.5px}
.entry-content .alignwide{max-width:var(--max);width:min(var(--max),calc(100vw - 48px));margin-left:50%;transform:translateX(-50%)}
.entry-content .alignfull{max-width:none;width:100vw;margin-left:50%;transform:translateX(-50%)}
.page-shell{padding:70px 0 85px}
.page-shell .page-heading{font-size:clamp(2.5rem,4vw,4.5rem);margin-bottom:32px}
.page-shell.page-wide .entry-content{max-width:var(--max);margin:auto}
.page-shell.page-wide{width:min(var(--max),calc(100% - 48px))}
.article-subscribe{background:var(--soft);border:1px solid #cbdccc;padding:25px 30px;margin:10px 0 38px}
.article-subscribe .kicker{font-size:.64rem}.article-subscribe h2{font-size:1.45rem;margin:12px 0 8px}
.article-subscribe p{font-size:.85rem;color:#58655a;margin:0 0 12px}
.article-subscribe input[type=email],.article-subscribe input[type=text]{padding:9px;border:1px solid #bbc9bb;min-height:42px}
.article-subscribe input[type=submit],.article-subscribe button{background:var(--green);color:#fff;border:0;padding:10px 17px;font-weight:800;cursor:pointer}
.article-end{border-top:1px solid var(--line);margin-top:50px;padding-top:40px}
.article-end h2{font-size:2rem}
.guide-hero{padding:75px 0;border-bottom:1px solid var(--line)}
.guide-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,.75fr);gap:70px;align-items:center}
.guide-hero h1{font-size:clamp(2.65rem,5.3vw,5.4rem);margin:20px 0 24px}
.guide-subtitle{font-size:1.2rem;line-height:1.65;color:#475247}
.guide-price-row{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:31px}
.guide-price{font-size:2rem;letter-spacing:-.04em;font-weight:900;line-height:1.1}
.guide-price small{display:block;font-size:.73rem;color:#677467;font-weight:500;letter-spacing:0;margin-top:4px}
.guide-cover{padding:8px;background:#f4f7f4}
.guide-cover img{width:100%;height:auto;display:block;box-shadow:18px 20px 42px #0c290c1a}
.guide-cover-placeholder{aspect-ratio:3/4;display:grid;place-items:center;text-align:center;background:var(--green);color:#fff;font-size:2rem;font-weight:900;line-height:1.1;padding:22px}
.guide-proof{border-bottom:1px solid var(--line)}
.guide-proof-inner{display:grid;grid-template-columns:repeat(3,1fr)}
.guide-proof-item{padding:22px 24px;text-align:center;font-size:.8rem;color:#59665a}
.guide-proof-item+.guide-proof-item{border-left:1px solid var(--line)}
.guide-proof strong{display:block;color:var(--ink);font-size:.98rem}
.guide-main{padding:70px 0 90px}
.guide-final{background:var(--soft);border:1px solid #cbdccc;text-align:center;padding:44px 25px;margin-top:70px}
.guide-final h2{font-size:2rem}.guide-final p{color:#586659}
.guide-final .edd_download_purchase_form{display:flex;justify-content:center}
.edd_downloads_list{gap:22px}
.edd_download{margin-bottom:20px}
.edd_download_title a{color:var(--ink);text-decoration:none}
.edd_download_title a:hover{color:var(--green)}
.error-404{padding:100px 0;text-align:center}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}
@media(max-width:900px){
 .header-inner{min-height:75px}
 .hero{padding:60px 0}
 .hero-grid{grid-template-columns:1fr;gap:50px}
 .hero h1{font-size:clamp(3.1rem,8vw,5.3rem)}
 .news-card{max-width:620px}
 .story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .guide-grid{gap:34px}
}
@media(max-width:650px){
 .container,.narrow{width:calc(100% - 34px)}
 .header-inner{gap:10px}
 .header-cta{display:none}
 .menu-toggle{margin-left:auto;display:inline-flex;padding:9px 12px;background:#fff;border:1px solid var(--line);border-radius:3px;color:var(--ink);font-size:.85rem;font-weight:800}
 .site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:20px 17px;margin:0;box-shadow:0 14px 20px #0000000e}
 .site-nav.is-open{display:block}
 .site-nav ul,.site-nav{gap:0}
 .site-nav ul{flex-direction:column;align-items:stretch}
 .site-nav a{display:block;padding:11px 0}
 .hero h1{font-size:clamp(2.75rem,12vw,4.25rem)}
 .hero{padding:49px 0 55px}
 .news-card{padding:26px 20px;box-shadow:7px 7px 0 #e6f0e5}
 .section{padding:53px 0}
 .section-head{align-items:start;flex-direction:column}
 .topic-grid,.story-grid{grid-template-columns:1fr}
 .topic-card{min-height:165px}
 .feature-band,.footer-top{grid-template-columns:1fr}
 .footer-links{justify-content:start}
 .footer-bottom{flex-direction:column}
 .article-head{padding-top:46px}
 .article-head h1{font-size:clamp(2.4rem,10vw,3.9rem)}
 .entry-content{font-size:1.04rem}
 .article-cover{width:calc(100% - 34px)}
 .article-subscribe{padding:23px 18px}
 .guide-grid{grid-template-columns:1fr}
 .guide-cover{max-width:360px;grid-row:1}
 .guide-hero{padding:47px 0}
 .guide-proof-inner{grid-template-columns:1fr}
 .guide-proof-item+.guide-proof-item{border-left:0;border-top:1px solid var(--line)}
 .page-shell{padding:45px 0 65px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
