/*
Theme Name: PsyLewis
Description: The approved PsyLewis design, built with the WordPress block editor.
Version: 1.0.0
Requires at least: 6.8
Requires PHP: 8.2
Author: PsyLewis
Text Domain: psylewis
License: GNU General Public License v2 or later
*/
:root{--magenta:#af3086;--blue:#093973;--ink:#10213a;--body:#455064;--ivory:#faf8f5;--pink:#f6e7f0;--pale-blue:#e7f0f7;--line:#ced1d5;--serif:Georgia,'Times New Roman',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;--gutter:clamp(24px,5.7vw,82px);--max:1440px;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--ivory);color:var(--body);font-family:var(--sans);font-size:18px;line-height:1.5}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;color:var(--ink);line-height:1.08}h1{font-size:clamp(48px,5.25vw,76px);margin-bottom:22px}h2{font-size:clamp(32px,3.05vw,44px);margin-bottom:20px}h3{font-size:20px;line-height:1.35;font-weight:500;color:var(--ink);margin-bottom:12px}p{margin-bottom:20px}a{color:inherit;text-underline-offset:5px}button{font:inherit}img{max-width:100%;height:auto;display:block}.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}.eyebrow{font-size:13px;font-weight:500;letter-spacing:.23em;text-transform:uppercase;color:var(--magenta);margin-bottom:14px}.site-header{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:36px}.brand{width:246px;flex-shrink:0}.site-header nav{display:flex;gap:clamp(20px,2.65vw,38px);align-items:center}.site-header nav a{font-size:15px;text-decoration:none;color:var(--ink);padding-block:12px;border-bottom:1px solid transparent}.site-header nav a:hover,.site-header nav a[aria-current]{border-color:var(--blue)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:6px;border-radius:3px}.skip-link{position:absolute;left:24px;top:-100px;background:white;padding:14px;z-index:10}.skip-link:focus{top:10px}.hero{max-width:var(--max);margin:auto;background:var(--ivory) url('assets/hero-hummingbird.webp') center center/cover no-repeat}.hero-inner{min-height:445px;display:flex;align-items:center;padding-block:44px}.hero-copy{width:48%;max-width:570px}.hero-copy .eyebrow{font-size:12px;letter-spacing:.18em}.hero-copy .intro{font-size:23px;line-height:1.4;margin-bottom:14px}.hero-copy>p:last-child{font-size:19px;line-height:1.5;margin-bottom:0}.services{display:grid;grid-template-columns:1fr 1fr;max-width:var(--max);margin:auto;gap:2px;background:white}.service{position:relative;min-width:0;padding:28px var(--gutter) 92px;min-height:560px;background-size:cover;background-position:center;--accent:var(--magenta)}.wellbeing{--accent:var(--magenta)}.expert{--accent:var(--blue)}.service.wellbeing{background-image:linear-gradient(180deg,rgba(251,239,246,.66),rgba(251,239,246,.66) 74%,transparent),url('assets/emotional-wellbeing.webp')}.service.expert{background-image:linear-gradient(180deg,rgba(233,244,251,.8),rgba(233,244,251,.8) 76%,rgba(233,244,251,.08)),url('assets/expert-witness.webp')}.service-identity{width:360px;max-width:100%;margin-bottom:22px}.service-identity img{width:100%}.service-identity p{font-size:16px;color:var(--blue);line-height:1.22;margin: -10px 0 0 35.5%;width:72%;font-weight:500}.accent-line{display:block;width:46px;height:4px;background:var(--accent);margin-bottom:22px}.service h2{font-size:clamp(29px,2.65vw,38px);white-space:normal;margin-bottom:15px}.service-description{max-width:405px;font-size:19px;line-height:1.45;margin-bottom:26px}:is(.button,.wp-block-button__link){display:inline-flex;justify-content:center;align-items:center;gap:18px;min-height:48px;padding:12px 27px;border-radius:30px;background:var(--accent,var(--magenta));border:1px solid transparent;color:white;text-decoration:none;font-size:16px;line-height:1.3;cursor:pointer;max-width:100%;text-align:center}:is(.button,.wp-block-button__link) span{font-size:22px;line-height:1}:is(.button,.wp-block-button__link):hover{filter:brightness(.9)}.about{display:grid;grid-template-columns:1.05fr 1.08fr .47fr;gap:40px;padding-block:40px;align-items:center}.portrait-placeholder{align-self:stretch;min-height:305px;background:#e8e3df;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:14px;color:#5a5760;border:1px solid #ddd5d2;font-size:15px}.portrait-label{font:32px var(--serif);color:#6d5867;letter-spacing:-.03em}.about h2{font-size:38px}.about p{font-size:16px;line-height:1.5}.about .eyebrow{font-size:12px}.about-copy p:last-of-type{margin-bottom:18px}.placeholder-note{font-size:14px!important;color:#55505b}.text-link{color:var(--magenta);text-decoration:none;font-size:16px}.text-link span{margin-left:12px}.text-link:hover{text-decoration:underline}.about-aside{border-left:1px solid var(--line);padding-left:30px}.about-aside p{font-size:15px;margin-bottom:24px}.about-aside p:last-child{margin-bottom:0}.approach{background:#eeecea}.approach-inner{display:grid;grid-template-columns:1fr 1.08fr .52fr;align-items:center;gap:40px;padding-block:40px}.approach h2{font-size:36px;margin-bottom:0}.approach-inner>p{font-size:16px;margin:0}.button-outline{border:1px solid var(--blue);color:var(--blue);background:transparent;border-radius:5px;padding:14px;font-size:16px}.button-outline:hover{background:#e2e5e8}.contact{padding-block:42px 52px;background:var(--ivory);position:relative}.contact-heading{display:grid;grid-template-columns:.9fr 1.5fr;align-items:center;gap:70px;margin-bottom:25px}.contact-heading p:not(.eyebrow){font-family:var(--serif);font-size:18px;margin-bottom:0}.contact-heading h2{margin-bottom:0}.contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:30px}.contact-card{display:flex;align-items:flex-start;gap:25px;padding:26px;border-radius:12px;background:var(--pink);min-width:0}.contact-card.expert{background:var(--pale-blue)}.contact-card>img{width:125px;flex-shrink:0}.contact-card>div{padding-top:13px;min-width:0}.contact-card h3{color:var(--accent);font-size:19px;margin-bottom:10px}.contact-card p{font-size:16px;line-height:1.5;margin-bottom:20px}footer{display:flex;justify-content:space-between;gap:20px;padding-block:22px;border-top:1px solid #e2dddb;font-size:12px;flex-wrap:wrap}footer a{color:var(--blue)}details{margin-top:20px;max-width:100%}summary{cursor:pointer;font-size:14px;color:var(--ink);padding-block:8px}details[open]{background:rgba(250,248,245,.97);padding:16px;border-radius:6px}details:target{scroll-margin-top:30px}.details-content{font-size:16px;line-height:1.5}.details-content h3{margin-top:15px}.details-content p:last-child{margin-bottom:0}.details-content a{color:var(--accent,var(--blue))}.approach details{grid-column:1/-1;margin-top:0}.js details:not([open]){display:none}.enquiry-fallback{display:none}.enquiry-fallback:target{display:block;padding-top:20px}.enquiry-fallback p{font-size:14px;margin:0}.js .enquiry-fallback{display:none}dialog{width:min(580px,calc(100% - 32px));padding:42px;border:0;border-radius:12px;background:var(--ivory);color:var(--body);box-shadow:0 25px 100px #10213a44}dialog::backdrop{background:#10213a77}dialog h2{font-size:36px;line-height:1.15}.dialog-close{position:absolute;right:10px;top:8px;min-width:44px;min-height:44px;border:0;background:none;font-size:30px;color:var(--ink);cursor:pointer}.enquiry-message{background:#eeecea;padding:22px;margin:24px 0}.enquiry-message p{font-size:16px;margin:10px 0 0}
@media(min-width:1441px){.service{padding-inline:82px}}
@media(max-width:1100px){.site-header{gap:20px}.brand{width:200px}.site-header nav{gap:20px}.site-header nav a{font-size:14px}.hero-inner{min-height:400px}.hero-copy{width:51%}.hero-copy .intro{font-size:20px}.hero-copy>p:last-child{font-size:17px}.service{padding-inline:40px;min-height:535px;padding-bottom:60px}.service-identity{width:315px}.service-identity p{font-size:14px}.service-description{font-size:17px}.about{grid-template-columns:1fr 1.25fr;gap:30px}.about-aside{display:none}.contact-card{gap:15px;padding:22px}.contact-card>img{width:90px}.approach-inner{grid-template-columns:1fr 1fr;gap:28px}.approach :is(.button,.wp-block-button__link){grid-column:2;justify-self:start}.approach-inner>div{grid-row:1/3}.approach details{grid-row:auto}}
@media(max-width:760px){body{font-size:17px}.site-header{padding-top:14px;padding-bottom:14px;flex-direction:column;gap:7px}.brand{width:180px}.site-header nav{width:100%;justify-content:center;gap:8px 18px;flex-wrap:wrap}.site-header nav a{font-size:13px;padding:7px 0}.hero{background-size:auto 270px;background-position:100% bottom;padding-bottom:245px}.hero-inner{min-height:0;padding-top:30px;padding-bottom:24px;background:var(--ivory)}.hero-copy{width:100%;max-width:none}.hero-copy .eyebrow{font-size:11px}h1{font-size:54px}.hero-copy .intro{font-size:21px}.hero-copy>p:last-child{font-size:17px}.services{grid-template-columns:1fr}.service{min-height:525px;padding:30px var(--gutter) 65px}.service-identity{width:325px;max-width:88%;margin-bottom:25px}.service h2{font-size:32px}.service-description{max-width:400px;font-size:18px}.service :is(.button,.wp-block-button__link){font-size:15px;padding-inline:22px}.about{grid-template-columns:1fr;padding-block:30px;gap:28px}.portrait-placeholder{min-height:230px}.about h2{font-size:36px}.about h2 br{display:none}.approach-inner{grid-template-columns:1fr;padding-block:32px;gap:24px}.approach-inner>div{grid-row:auto}.approach :is(.button,.wp-block-button__link){grid-column:1}.approach h2{font-size:34px}.contact{padding-block:32px}.contact-heading{grid-template-columns:1fr;gap:14px;margin-bottom:24px}.contact-heading h2{font-size:40px}.contact-heading p:not(.eyebrow){font-size:17px}.contact-cards{grid-template-columns:1fr;gap:20px}.contact-card{padding:20px;gap:16px}.contact-card>img{width:80px}.contact-card>div{padding-top:4px}.contact-card h3{font-size:18px}.contact-card p{font-size:16px}.contact-card :is(.button,.wp-block-button__link){font-size:15px}footer{gap:10px;font-size:12px}dialog{padding:35px 25px}dialog h2{font-size:30px}}
@media(max-width:370px){h1{font-size:48px}.contact-card>img{width:58px}.contact-card{gap:12px;padding:16px}.service-identity p{font-size:12px}:is(.button,.wp-block-button__link){padding-inline:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
