/*
Theme Name: Meeting Point
Description: Clear and Contemporary for Meeting Point Psychotherapy.
Version: 0.1.6
Requires at least: 6.4
Requires PHP: 8.1
Text Domain: meeting-point
*/

*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f6f3eb;color:#253c35;font:16px/1.65 Arial,sans-serif;--paper:#f6f3eb;--ink:#253c35;--accent:#32594b;--muted:#e3e8db;--line:#cbd1c3;--serif:Georgia,serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{outline-offset:5px}button{cursor:pointer}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12}h1{font-size:clamp(46px,5.6vw,82px);letter-spacing:-3px}h2{font-size:clamp(34px,4vw,52px);letter-spacing:-1.5px}h3{font-size:25px}p{max-width:590px}.review{background:#1c2925;color:white;display:flex;align-items:center;gap:20px;padding:12px 5%;font-size:12px;position:relative;z-index:2}.review strong{letter-spacing:1.5px;white-space:nowrap}.choices{display:flex;gap:6px;flex-wrap:wrap}.choices button{border:1px solid #64766c;background:transparent;color:white;border-radius:25px;padding:6px 14px;font-size:12px}.choices button[aria-pressed=true]{background:#e7ecdc;color:#21382e}.review small{margin-left:auto;color:#c4cec7}header{max-width:1280px;margin:auto;padding:26px 36px;display:flex;align-items:center;gap:40px}.brand{font-family:Georgia,serif;line-height:1.1;font-size:24px;letter-spacing:-1px}.brand span{display:block;font:10px/2 Arial,sans-serif;letter-spacing:3.5px;text-transform:uppercase}.mark{display:inline-block;font-size:33px;vertical-align:middle;margin-right:10px}.logo{display:flex;align-items:center}nav{margin-left:auto;display:flex;gap:28px;font-size:13px;align-items:center}.btn{display:inline-block;background:var(--accent);color:#fff;padding:13px 22px;border:1px solid var(--accent);border-radius:4px;font-size:13px;font-weight:600;line-height:1.5}.btn.outline{background:transparent;color:var(--ink);border-color:var(--line)}.eyebrow{font-size:11px;font-weight:bold;text-transform:uppercase;letter-spacing:2.3px;display:block;margin-bottom:23px}.hero{max-width:1280px;padding:42px 36px 64px;margin:auto;display:grid;grid-template-columns:1.12fr 1fr;gap:65px;align-items:center}.hero p{margin:25px 0;color:var(--ink);opacity:.85;font-size:17px}.hero .actions{display:flex;gap:12px;flex-wrap:wrap}.micro{font-size:12px!important;margin:18px 0 0!important;opacity:.7}.visual{height:490px;background:var(--muted);position:relative;border-radius:180px 180px 4px 4px;overflow:hidden}.visual svg{width:100%;height:100%}.visual .caption{position:absolute;bottom:22px;left:25px;background:var(--paper);padding:12px 18px;font-size:12px;line-height:1.5}.visual .caption b{display:block;font-family:Georgia;font-weight:400;font-size:19px}.ribbon{border-block:1px solid var(--line);display:flex;justify-content:center;gap:65px;flex-wrap:wrap;padding:21px 24px;font-size:12px;letter-spacing:.4px}.ribbon span:before{content:'✧';margin-right:10px}.wrap{max-width:1208px;margin:auto;padding:78px 36px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:32px}.section-head p{max-width:360px;font-size:14px;opacity:.8}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}.service{padding:27px 22px 27px 0;border-bottom:1px solid var(--line);margin-right:28px}.service small{opacity:.6;font-size:10px;letter-spacing:2px}.service h3{margin:12px 0}.service p{font-size:14px;opacity:.8}.service a{display:inline-block;font-size:12px;font-weight:bold;margin-top:19px}.meet{background:var(--muted)}.meet-inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:center}.portrait{width:100%;height:420px;object-fit:cover;object-position:center 25%;border-radius:5px}.meet p{margin:22px 0;font-size:15px}.meet .credentials{font-size:12px;border-top:1px solid var(--line);padding-top:18px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:40px}.steps b{font-family:Georgia;font-size:36px;font-weight:400;color:var(--accent)}.steps h3{margin:15px 0}.steps p{font-size:14px;opacity:.8}.faq{display:grid;grid-template-columns:1fr 1.15fr;gap:80px;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:18px 0}summary{cursor:pointer;font-size:15px}details p{font-size:14px;margin-top:14px;opacity:.8}.articles{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.article{border-top:4px solid var(--accent);padding-top:21px}.article small{font-size:10px;letter-spacing:1.8px}.article h3{font-size:25px;margin:14px 0 20px}.article a{font-size:inherit}.contact{background:var(--accent);color:white}.contact .wrap{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact h2{font-size:46px}.contact p{margin:20px 0;font-size:14px}.contact .btn{background:var(--paper);color:var(--ink)}.contact form{display:grid;gap:12px}.contact label{font-size:12px}.contact input,.contact textarea{width:100%;border:1px solid #ffffff66;background:#ffffff0d;color:white;border-radius:3px;padding:9px}.contact textarea{min-height:85px}.contact button{justify-self:start}.form-note{font-size:11px!important;margin:0!important;opacity:.8}.form-result{font-size:13px}footer{max-width:1208px;margin:auto;padding:35px 36px;display:flex;gap:35px;align-items:start;font-size:12px}footer .footlinks{margin-left:auto;display:flex;gap:22px}.concept-note{max-width:1208px;margin:auto;padding:18px 36px 30px;font-size:12px;opacity:.75}.mobile-cta{display:none}.blue{--paper:#f3f7f8;--ink:#173750;--accent:#205574;--muted:#dfebee;--line:#bed1d8;background:var(--paper);color:var(--ink)}.blue h1,.blue h2,.blue h3{font-family:Arial,sans-serif;font-weight:500;letter-spacing:-2px}.blue .visual{border-radius:16px}.blue .hero{grid-template-columns:1fr 1.1fr}.blue .service{padding:25px;background:#fff;border-radius:10px;margin:0;border:1px solid var(--line)}.blue .services{gap:16px;border:0}.blue .portrait{border-radius:16px}.blue .btn{border-radius:25px}.clay{--paper:#fbf3eb;--ink:#49382f;--accent:#915840;--muted:#eee0d0;--line:#d9bfae;background:var(--paper);color:var(--ink)}.clay .hero{grid-template-columns:1fr;text-align:center;gap:35px;padding-top:24px}.clay .hero .copy{max-width:850px;margin:auto}.clay .hero h1{font-size:clamp(45px,5.2vw,72px)}.clay .hero p{margin:22px auto;max-width:620px}.clay .hero .actions{justify-content:center}.clay .visual{height:280px;border-radius:150px 150px 4px 4px;max-width:1050px;width:100%;margin:auto}.clay .visual .caption{bottom:18px;left:28px;text-align:left}.clay .ribbon{gap:40px}.clay .btn{border-radius:0}.clay .service h3{font-style:italic}.clay .portrait{border-radius:170px 170px 0 0}.clay .hero .eyebrow{margin-bottom:18px} @media(max-width:760px){.review{padding:12px 20px;display:block}.choices{margin-top:8px}.review small{display:block;margin-top:8px}header{padding:20px}.brand{font-size:20px}nav a:not(.btn){display:none}nav{gap:0}nav .btn{font-size:11px;padding:10px}.hero,.blue .hero{grid-template-columns:1fr;padding:30px 22px 40px;gap:30px}h1{font-size:49px;letter-spacing:-2px}.visual{height:330px;border-radius:140px 140px 4px 4px}.ribbon{gap:12px 25px;font-size:10px;justify-content:flex-start}.wrap{padding:50px 22px}.section-head{display:block}.section-head p{margin-top:18px}.services{grid-template-columns:1fr 1fr}.service{margin-right:16px;padding:22px 8px 22px 0}.service h3{font-size:23px}.service p{font-size:12px}.meet-inner,.faq,.contact .wrap{grid-template-columns:1fr;gap:30px}.portrait{height:370px;max-width:400px}.steps,.articles{grid-template-columns:1fr;gap:26px}.steps{margin-top:25px}.steps h3{display:inline-block;margin:0 0 8px 20px}.contact h2{font-size:39px}footer{flex-wrap:wrap;padding:28px 22px 80px}footer .footlinks{margin:0;flex-wrap:wrap}.concept-note{padding:0 22px 90px}.mobile-cta{display:block;position:fixed;bottom:0;left:0;right:0;background:var(--paper);padding:10px 20px;border-top:1px solid var(--line);z-index:5}.mobile-cta a{display:block;text-align:center}.clay .hero{padding:25px 22px 40px}.clay .hero h1{font-size:45px}.clay .visual{height:220px}.blue .service{padding:18px}.eyebrow{line-height:1.6}}

/* Design 02: original brand integration */
.blue{--paper:#f5f9fb;--ink:#173750;--accent:#1255ac;--muted:#e4f1f3;--line:#c6dce2}
.original-logo{display:block;width:214px;height:auto}.footer-logo{width:180px;height:auto;display:block}
header{padding-top:18px;padding-bottom:18px;gap:36px}nav{gap:27px}.blue .btn{border-radius:6px}
.blue .hero{padding-top:30px;padding-bottom:58px;gap:65px}.blue .hero h1{font-size:clamp(48px,5.5vw,76px);line-height:1.08;font-weight:500;letter-spacing:-3px}
.blue .eyebrow{color:#14777e}.blue .visual{border-radius:140px 16px 16px 16px;height:460px}.blue .visual .caption{background:#f5f9fbef;border-left:3px solid #2fbfc5;border-radius:2px}
.blue .ribbon{background:#e9f3f6}.blue .ribbon span:before{color:#159da4}.blue .service{border-top:3px solid #38bdc4;box-shadow:0 4px 16px #17375004}.blue .service h3{font-size:24px;letter-spacing:-.7px}.blue .service a{color:#1255ac}
.blue .article{border-top-color:#37bbc1}.blue .contact{background:#153d68}.blue .contact .eyebrow{color:#89e5e3}
.blue .contact .btn{border-color:var(--paper)}footer{align-items:center}.menu-toggle{display:none}.review span{font-size:12px;color:#dce9ec}
@media(max-width:760px){header{position:relative;flex-wrap:wrap;gap:12px;padding:16px 20px}.original-logo{width:158px}.menu-toggle{display:block;margin-left:auto;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:5px;padding:7px 12px;font-size:12px}nav{margin:0;width:100%;display:none;flex-direction:column;align-items:stretch;gap:0}header.menu-open nav{display:flex}nav a:not(.btn){display:block;padding:10px 0}nav .btn{text-align:center;margin-top:8px}.blue .hero{padding:24px 22px 40px;gap:26px}.blue .hero h1{font-size:49px;letter-spacing:-2px}.blue .visual{height:300px;border-radius:90px 10px 10px 10px}.review span{display:block;margin-top:3px}.blue .service h3{font-size:21px}footer{align-items:flex-start}.footer-logo{width:150px}}


body.blue{margin:0}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:12px;top:12px;z-index:99;background:white;padding:12px}.entry{max-width:800px;margin:auto;padding:68px 24px}.entry h1{margin-bottom:30px}.entry p,.entry li{max-width:none}.entry p,.entry ul,.entry ol,.entry h2,.entry h3{margin:0 0 20px}.entry a:not(.btn){text-decoration:underline;text-underline-offset:3px}.entry img{max-width:100%;height:auto}.entry .btn{margin-top:20px}.entry-list{display:grid;gap:25px}.entry-list li{padding-bottom:18px;border-bottom:1px solid var(--line)}.contact a:not(.btn){text-decoration:underline}.contact .wrap{align-items:center}.resources h3 a:hover,.service a:hover{text-decoration:underline}.site-search{display:flex;gap:8px;flex-wrap:wrap}.site-search input{padding:10px;border:1px solid var(--line)}@media(max-width:760px){.entry{padding-bottom:85px}}

/* Journal cards: match title and link typography across widths. */
.blue .articles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.blue .articles .article small { display: block; font-size: .75rem; line-height: 1.4; letter-spacing: .09em; }
.blue .articles .article h3 { margin: .6rem 0 0; font-size: clamp(1.125rem, 1rem + .5vw, 1.4rem); line-height: 1.35; letter-spacing: normal; overflow-wrap: break-word; }
.blue .articles .article h3 a { font: inherit; letter-spacing: inherit; }
@media (max-width: 760px) { .blue .articles { grid-template-columns: minmax(0, 1fr); } }

/* Journal archive and search. */
.journal-page { padding-bottom: 72px; }
.journal-width { width: min(100% - 48px, 1160px); margin-inline: auto; }
.journal-intro { padding: clamp(34px, 6vw, 76px) 0; background: #e6f2f6; border-block: 1px solid #d2e5ec; }
.journal-intro .eyebrow { margin-bottom: 12px; }
.journal-intro h1 { font-size: clamp(2.5rem, 6vw, 4.75rem); margin-bottom: 12px; }
.journal-intro p { font-size: clamp(1rem, 2vw, 1.2rem); line-height: 1.5; }
.journal-search { display: flex; gap: 6px; align-items: stretch; width: min(100%, 460px); margin-top: 22px; padding: 5px; background: #fff; border: 1px solid #aecbd8; border-radius: 12px; }
.journal-search input[type=search] { flex: 1; min-width: 0; font: inherit; color: inherit; padding: 5px 10px; border: 0; border-radius: 7px; }
.journal-search .btn { flex: none; min-height: 40px; padding: 8px 16px; font: inherit; font-weight: 600; border-radius: 8px; cursor: pointer; }
.journal-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.journal-list { padding-top: clamp(28px, 5vw, 55px); }
.journal-list h2 { font-size: 1.7rem; letter-spacing: -.02em; margin: 0 0 20px; }
.journal-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%, 290px),1fr)); gap: 20px; }
.journal-card { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(18px, 3vw, 27px); background: #fff; border: 1px solid #d7e6ec; border-top: 3px solid #37bbc1; border-radius: 13px; }
.journal-card .journal-date { font-size: .875rem; color: #425d6b; }
.blue .journal-card h3 { font-size: 1.3rem; line-height: 1.35; letter-spacing: normal; margin: 10px 0; overflow-wrap: break-word; }
.journal-card p { font-size: 1rem; line-height: 1.55; margin-bottom: 18px; color: #354f5e; }
.journal-card h3 a:hover, .journal-read:hover, .journal-back a:hover { text-decoration: underline; }
.journal-read { color: #174b8e; font-weight: 600; margin-top: auto; }
.journal-back, .journal-list .pagination { margin-top: 24px; }
.journal-page a:focus-visible, .journal-page input:focus-visible, .journal-page button:focus-visible { outline: 2px solid #174b8e; outline-offset: 3px; }
@media (max-width: 480px) { .journal-width { width: calc(100% - 32px); } }

.mp-enquiry{margin:2rem 0;padding:clamp(1rem,4vw,2rem);border:1px solid #c6dce2;border-radius:.8rem;background:#fff}
.mp-enquiry form,.mp-enquiry label{display:grid;gap:.45rem}.mp-enquiry form{gap:1rem}.mp-enquiry input:not([type=checkbox]),.mp-enquiry textarea{width:100%;min-width:0;font:inherit;color:inherit;background:#fff;border:1px solid #8ca9ba;border-radius:.35rem;padding:.6rem .7rem}
.mp-enquiry label.mp-enquiry-check{display:flex;align-items:flex-start;gap:.6rem;line-height:1.4}.mp-enquiry-check input{margin-top:.3rem}.mp-enquiry form .btn{justify-self:start;margin-top:0}.mp-enquiry-status{background:#e6f2f6;padding:.65rem .8rem;border-radius:.35rem}

/* Editorial detail pages for services and the journal. */
.detail-page { padding-bottom: clamp(56px, 8vw, 96px); }
.detail-width { width: min(calc(100% - 48px), 1050px); margin-inline: auto; }
.blue .detail-intro { display: block; width: 100%; max-width: none; margin: 0; padding: clamp(30px, 6vw, 76px) 0; background: #e6f2f6; border-block: 1px solid #d2e5ec; }
.detail-back { display: inline-block; color: #174b8e; font-weight: 600; margin-bottom: 24px; }
.detail-back:hover, .detail-contact:hover { text-decoration: underline; }
.detail-kicker { font-size: .82rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: #31586c; }
.blue .detail-intro h1 { font-size: clamp(2.25rem, 6vw, 4.4rem); line-height: 1.08; letter-spacing: -.035em; margin: .45rem 0 .8rem; overflow-wrap: break-word; }
.detail-summary { font-size: clamp(1.05rem, 2.2vw, 1.3rem); line-height: 1.5; }
.detail-intro time { color: #425d6b; }
.detail-layout { padding-top: clamp(28px, 5vw, 58px); }
.detail-layout-service { display: grid; grid-template-columns: minmax(0, 1fr) minmax(245px, 320px); gap: clamp(24px, 5vw, 64px); align-items: start; }
.detail-content { max-width: 68ch; font-size: 1.05rem; line-height: 1.7; }
.blue .detail-content h2, .blue .detail-content h3, .blue .detail-next h2 { font-size: 1.4rem; line-height: 1.3; letter-spacing: -.015em; margin: 0 0 .8rem; }
.detail-content p, .detail-content ul, .detail-content ol { margin: 0 0 1rem; }
.detail-content a { color: #174b8e; text-decoration: underline; text-underline-offset: 3px; }
.detail-content img { max-width: 100%; height: auto; }
.detail-next { padding: 23px; background: #fff; border: 1px solid #d7e6ec; border-top: 3px solid #37bbc1; border-radius: 12px; }
.detail-next p { margin-bottom: 16px; line-height: 1.55; }
.detail-next .btn { display: inline-block; }
.detail-contact { display: block; margin-top: 12px; color: #174b8e; font-weight: 600; }
@media (max-width: 760px) { .detail-layout-service { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 480px) { .detail-width { width: calc(100% - 32px); } }
