/*
Theme Name: Stephen Allsopp — Twenty Twenty-Five Child
Template: twentytwentyfive
Version: 1.0.0
Description: A block-editable counselling website child theme based on the approved static prototype.
Text Domain: stephen-allsopp
*/
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&display=swap');

:root{--ink:#243b37;--muted:#64746d;--bg:#f8f7f2;--paper:#fffefa;--accent:#cf754d;--sage:#dce8df;--line:#d9dfd7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.7}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.wrap{width:min(1100px,calc(100% - 44px));margin:auto}.header{background:rgba(248,247,242,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:82px}.brand{text-decoration:none;font-family:Fraunces,Georgia,serif;font-size:1.5rem;line-height:1.15}.brand small{display:block;font:500 .66rem 'DM Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:6px}.links{display:flex;gap:23px;align-items:center}.links a{text-decoration:none;font-size:.9rem}.links a:hover,.textlink:hover{color:#ad5734}.links .contactlink{background:var(--ink);color:white;padding:10px 18px;border-radius:30px}.menu{display:none;background:none;border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:1.2rem;color:var(--ink)}.hero{padding:95px 0 80px;display:grid;grid-template-columns:1.25fr .75fr;gap:65px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.75rem;font-weight:700;color:#ad674c}.hero h1,h1,h2,h3{font-family:Fraunces,Georgia,serif;line-height:1.13;font-weight:500}h1{font-size:clamp(2.7rem,6vw,5.4rem);letter-spacing:-.035em;margin:14px 0 24px}h2{font-size:clamp(2rem,3.7vw,3.25rem);letter-spacing:-.025em;margin:12px 0 24px}h3{font-size:1.5rem;margin:0 0 12px}.lead{font-size:1.23rem;color:#435a53;max-width:660px}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:var(--ink);color:#fff;padding:13px 24px;border-radius:30px;font-weight:600;font-size:.93rem;transition:transform .15s}.btn:hover{transform:translateY(-2px)}.btn.light{background:transparent;border:1px solid var(--ink);color:var(--ink)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.illustration{min-height:420px;background:var(--sage);border-radius:190px 190px 18px 18px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.illustration svg{width:83%;height:auto}.illustration .tag{position:absolute;bottom:20px;left:20px;right:20px;text-align:center;background:rgba(255,254,250,.86);padding:12px;border-radius:12px;font-size:.82rem}.section{padding:78px 0}.tint{background:#eaf0e9}.cream{background:#f2eee4}.intro{max-width:720px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:35px}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:30px}.card{background:var(--paper);padding:32px;border:1px solid var(--line);border-radius:18px}.card p{color:#52635b}.card a{font-weight:700;text-decoration-color:var(--accent);text-underline-offset:5px}.feature{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.terminal{background:#263d38;color:#dceadf;border-radius:19px;padding:28px;font-family:monospace;box-shadow:15px 18px 0 #c9d7cb}.terminal .dots{color:#efab8b;letter-spacing:6px;margin-bottom:22px}.terminal .line{margin:10px 0}.terminal .prompt{color:#a7d8bc}.terminal .cursor{color:#e3aa82}.quote{font-family:Fraunces,Georgia,serif;font-size:clamp(1.7rem,3.4vw,2.6rem);line-height:1.3}.pagehead{padding:80px 0 45px}.pagehead h1{font-size:clamp(2.8rem,5vw,4.5rem);max-width:850px}.prose{max-width:750px;font-size:1.06rem}.prose p{margin:0 0 23px}.prose h2{font-size:2rem;margin-top:50px}.prose ul{padding-left:23px}.article{max-width:750px;margin:0 auto;padding:70px 0 90px}.article h1{font-size:clamp(2.7rem,5vw,4.4rem)}.article p{font-size:1.08rem;margin:0 0 22px}.article .back{display:inline-block;margin-bottom:25px}.note{border-left:4px solid var(--accent);padding:14px 22px;background:#f1eee6;margin:30px 0}.footer{background:#233a35;color:#f8f7f2;padding:55px 0 28px}.footer a{color:#f8f7f2}.footgrid{display:grid;grid-template-columns:1.5fr 1fr;gap:40px}.small{font-size:.83rem;color:var(--muted)}.footer .small{color:#c4d0c9}.divider{border:0;border-top:1px solid var(--line);margin:30px 0}.footer .divider{border-color:#4b625a}.pill{display:inline-block;padding:6px 12px;border-radius:30px;background:#e6ebe4;font-size:.8rem;margin-bottom:12px}.contact-panel{background:var(--paper);padding:36px;border:1px solid var(--line);border-radius:18px}.contact-panel .btn{margin-top:15px}.formhint{font-size:.85rem;color:var(--muted)}@media(max-width:850px){.hero,.feature{grid-template-columns:1fr;gap:35px}.hero{padding:60px 0}.illustration{min-height:300px;max-width:500px}.grid3{grid-template-columns:1fr}.grid2{grid-template-columns:1fr}.menu{display:block}.links{display:none;position:absolute;top:82px;left:0;right:0;background:var(--bg);padding:24px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.links.open{display:flex}.footgrid{grid-template-columns:1fr}.section{padding:55px 0}.pagehead{padding:55px 0 25px}}
/* Gutenberg integration */
body .wp-site-blocks{overflow-x:clip} .wp-site-blocks > main{margin-block-start:0}
.sa-section{padding:78px max(22px,calc((100vw - 1100px)/2))} .sa-section.is-tint{background:#eaf0e9}.sa-section.is-cream{background:#f2eee4}
.sa-section > .wp-block-group{max-width:1100px;margin-inline:auto}
.sa-hero{padding:85px max(22px,calc((100vw - 1100px)/2));} .sa-hero > .wp-block-columns{max-width:1100px;margin:auto;align-items:center;gap:55px}
.sa-card{background:var(--paper);padding:30px;border:1px solid var(--line);border-radius:18px;height:100%}
.sa-eyebrow{font-size:.75rem!important;text-transform:uppercase;letter-spacing:.17em;font-weight:700;color:#ad674c}
.sa-lead{font-size:1.23rem;color:#435a53}.sa-quote{font-family:Fraunces,Georgia,serif;font-size:clamp(1.7rem,3.4vw,2.6rem);line-height:1.3}
.sa-terminal{background:#263d38;color:#dceadf;border-radius:19px;padding:28px;font-family:monospace;box-shadow:15px 18px 0 #c9d7cb;white-space:pre-wrap}
.sa-illustration{min-height:350px;background:#dce8df;border-radius:180px 180px 18px 18px;display:flex;align-items:center;justify-content:center;padding:20px}
.sa-illustration svg{width:100%;max-width:350px}
.sa-pagehead{padding:70px max(22px,calc((100vw - 1100px)/2)) 25px}.sa-pagehead > *{max-width:900px}
.sa-prose{max-width:750px;margin-inline:auto;padding:25px 22px 75px}
.sa-prose p{margin-bottom:1.25em}
.sa-site-header{border-bottom:1px solid #d9dfd7;background:#f8f7f2;padding:18px max(22px,calc((100vw - 1100px)/2))}
.sa-site-footer{background:#233a35;color:#f8f7f2;padding:45px max(22px,calc((100vw - 1100px)/2))}
.sa-site-footer a{color:#f8f7f2}.sa-site-footer p{color:#d8e2dc}
.sa-site-header .wp-block-site-title{font-family:Fraunces,Georgia,serif;font-size:1.5rem}
.wp-block-button__link{border-radius:30px!important;background:#243b37;color:#fff;padding:13px 24px}
.sa-outline .wp-block-button__link{background:transparent;color:#243b37;border:1px solid #243b37}
.sa-site-header .wp-block-navigation-item__content{font-size:.92rem}
.sa-placeholder{border-left:4px solid #cf754d;background:#f1eee6;padding:16px 22px}
@media(max-width:782px){.sa-hero{padding-top:50px;padding-bottom:45px}.sa-section{padding-top:48px;padding-bottom:48px}.sa-illustration{min-height:260px}.sa-terminal{box-shadow:8px 10px 0 #c9d7cb}}
