/*
Theme Name: Tori Head Counseling
Author: Tori Head Counseling
Description: A custom editorial ACF Flexible Content theme for Tori Head, LPC-MHSP. Structured ACF sections, locally hosted typography, and a privacy-conscious consultation path.
Version: 0.1.0
Requires at least: 6.6
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tori-head
Tags: custom-colors, custom-menu, editor-style, featured-images
*/
@font-face{font-family:'Tori Editorial';src:url('assets/fonts/tori-editorial.woff2') format('woff2');font-style:normal;font-weight:200 900;font-display:swap}
:root{--paper:#f7f3ec;--white:#fffdfc;--ink:#222725;--forest:#40584e;--sage:#e7ebe3;--muted:#625f59;--line:#d4d7cd;--serif:'Tori Editorial',Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.75 var(--sans);-webkit-font-smoothing:antialiased}a{color:var(--forest);text-underline-offset:5px}a:hover{text-decoration-thickness:2px}button,input{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--forest);outline-offset:6px}h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.13;letter-spacing:-.035em;text-wrap:balance}h1{font-size:clamp(2.65rem,4.7vw,4.55rem)}h2{font-size:clamp(2rem,3.2vw,3.1rem)}h3{font-size:1.75rem}p{margin:0 0 1.2rem}h1,h2,h3{margin:0 0 1.4rem}img{max-width:100%;height:auto}::selection{background:#cbd5ca}.wrap{width:min(1200px,calc(100% - 96px));margin-inline:auto}.section{padding-block:100px}.eyebrow{font:500 .75rem/1.6 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--forest);margin-bottom:24px}.small{font-size:.875rem;color:var(--muted)}.button,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:14px 25px;background:var(--forest);border:1px solid var(--forest);border-radius:3px;color:var(--white);text-decoration:none;font:500 .9rem/1.4 var(--sans);letter-spacing:.01em}.button:hover,.wp-block-button__link:hover{background:#2f463c;color:var(--white)}.text-link{font-size:.9rem;font-weight:500}.actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.skip-link{position:absolute;left:16px;top:-100px;background:var(--ink);color:var(--white);padding:10px 20px;z-index:20}.skip-link:focus{top:16px}.site-header{border-bottom:1px solid var(--line);padding-block:21px}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);flex-shrink:0}.brand-name{font:400 1.9rem/1.1 var(--serif);letter-spacing:-.05em}.brand-sub{font-size:.62rem;letter-spacing:.21em;text-transform:uppercase;margin-top:6px}.desktop-nav{display:flex;align-items:center;gap:30px;font-size:.86rem}.desktop-nav>a{color:var(--ink);text-decoration:none}.desktop-nav .button{color:var(--white);font-size:.8rem;min-height:43px;padding:10px 18px}.dropdown{position:relative}.dropdown summary{cursor:pointer;list-style:none;min-height:44px;display:flex;gap:8px;align-items:center}.dropdown summary:after{content:'⌄';font-size:15px}.dropdown summary::-webkit-details-marker{display:none}.dropdown-menu{position:absolute;top:100%;left:-20px;width:270px;z-index:5;padding:15px;background:var(--white);border:1px solid var(--line);box-shadow:0 8px 20px #2227250a}.dropdown-menu a{display:block;padding:9px;text-decoration:none;color:var(--ink)}.dropdown-menu a:hover{background:var(--sage)}.mobile-nav{display:none}.hero{display:grid;grid-template-columns:1.35fr 1fr;gap:70px;align-items:center;padding-block:65px 75px}.hero h1{font-size:clamp(2.6rem,4.3vw,4.25rem);max-width:710px}.hero .lead{max-width:480px;font-size:1.06rem;margin-bottom:30px}.hero .eyebrow{margin-bottom:22px}.hero .credential{font-size:.76rem;line-height:1.6;color:var(--muted);margin-bottom:26px;max-width:430px}.portrait-slot{aspect-ratio:4/4.6;background:#e2e7dd;border-radius:44% 44% 3px 3px;display:flex;align-items:center;justify-content:center;position:relative;padding:40px;text-align:center;color:var(--forest)}.portrait-slot p{font-family:var(--serif);font-size:1.65rem;max-width:220px;line-height:1.35}.portrait-slot small{font:400 .8rem/1.7 var(--sans);display:block;margin-top:20px}.portrait-caption{display:flex;justify-content:space-between;margin-top:15px;font-size:.72rem;color:var(--muted)}.intro{border-block:1px solid var(--line);padding:68px 0}.intro-inner{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}.intro h2{font-size:2.55rem;max-width:460px}.intro p{font-size:1rem}.section-heading{max-width:690px;margin-bottom:46px}.section-heading p{color:var(--muted)}.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 60px}.service-item{padding:30px 0 34px;border-top:1px solid var(--line)}.service-item h3 a{color:var(--ink);text-decoration:none}.service-item h3{font-size:2rem}.service-item p{font-size:.96rem;max-width:510px;color:var(--muted)}.service-item .text-link{display:inline-block;padding-top:6px}.meet{background:var(--sage);padding:74px;border-radius:3px;display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}.meet h2{font-size:3.3rem}.meet .portrait-slot{background:#d6dfd1;aspect-ratio:4/4.5}.meet p{font-size:.97rem}.credential-list{border-top:1px solid #bac6b8;padding-top:22px;margin-top:25px}.credential-list p{margin-bottom:6px;font-size:.83rem}.process{display:grid;grid-template-columns:1fr 1fr 1fr;gap:50px;counter-reset:steps}.process-item{counter-increment:steps}.process-item:before{content:'0' counter(steps);font:1rem var(--serif);color:var(--forest);display:block;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:22px}.process h3{font-size:1.65rem}.process p{font-size:.94rem;color:var(--muted)}.local{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-block:60px;border-block:1px solid var(--line);align-items:center}.local h2{margin:0}.local p{font-size:.96rem}.faq-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:90px}.faq-layout h2{max-width:300px}.faq-layout .text-link{display:inline-block;margin-top:14px}details.faq,.wp-block-details{border-bottom:1px solid var(--line);padding:20px 0}details.faq:first-child{border-top:1px solid var(--line)}details.faq summary,.wp-block-details summary{cursor:pointer;position:relative;list-style:none;padding-right:35px;font-size:1rem;font-weight:500;min-height:28px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:3px;font-size:22px;font-weight:300;top:-4px}.faq[open] summary:after{content:'−'}.faq p{font-size:.94rem;color:var(--muted);padding-top:16px;margin:0}.closing{background:var(--sage);text-align:center;padding:75px 24px}.closing h2{max-width:760px;margin:0 auto 22px;font-size:clamp(2.3rem,3.7vw,3.6rem)}.closing p{margin-bottom:26px}.site-footer{padding:60px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:60px}.footer-grid .brand{margin-bottom:20px}.footer-grid p{font-size:.78rem;max-width:310px;color:var(--muted)}.footer-grid h2{font:500 .85rem var(--sans);letter-spacing:0;margin:0 0 18px}.footer-grid a:not(.brand){display:block;font-size:.8rem;text-decoration:none;margin:6px 0}.footer-bottom{border-top:1px solid var(--line);margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;gap:30px;font-size:.7rem;color:var(--muted)}.footer-bottom p{max-width:670px}.preview-note{background:#e9e1d4;color:#514638;font-size:.75rem;padding:7px 20px;text-align:center}.preview-note a{color:inherit}.breadcrumb{padding-top:32px;font-size:.8rem;color:var(--muted)}.breadcrumb a{text-decoration:none}.page-intro{max-width:850px;padding-block:48px 50px}.page-intro h1{font-size:clamp(2.6rem,4.4vw,4.2rem)}.page-intro .lead{font:400 1.5rem/1.55 var(--serif);max-width:780px;letter-spacing:-.01em}.page-layout{display:grid;grid-template-columns:minmax(0,760px) 260px;gap:100px;align-items:start;padding-bottom:90px}.prose{min-width:0}.prose>h2{font-size:2.2rem;margin-top:48px;scroll-margin-top:32px}.prose>h2:first-child{margin-top:0}.prose>h3{font-size:1.45rem;margin-top:30px}.prose p,.prose li{font-size:1rem}.prose ul,.prose ol{padding-left:24px;margin:20px 0 28px}.prose li{padding-left:7px;margin-bottom:10px}.prose blockquote{border-left:3px solid var(--forest);padding-left:24px;margin:30px 0}.prose .actions{margin-block:28px}.sidebar{background:var(--sage);padding:30px;border-radius:3px;position:sticky;top:30px}.sidebar h2{font-size:1.7rem}.sidebar p,.sidebar a{font-size:.83rem}.sidebar .button{width:100%;padding:13px 8px;margin-top:12px;font-size:.8rem}.sidebar-links{border-top:1px solid #bac6b8;margin-top:22px;padding-top:15px}.sidebar-links a{display:block;padding:7px 0}.pending{background:#eee6da;border-left:3px solid #887050;padding:16px 20px;margin-block:22px;font-size:.88rem}.pending p{margin:0}.pending strong{font-weight:600}.review-code{font:inherit;background:#eee6da;color:#594932;padding:2px 5px;overflow-wrap:anywhere}.page-author{border-top:1px solid var(--line);padding-top:22px;margin-top:45px;font-size:.8rem!important;color:var(--muted)}.empty-resources{background:var(--sage);padding:35px}.empty-resources h2{font-size:2rem}.wp-site-blocks{padding:0}.wp-site-blocks>*{margin-block-start:0}.wp-block-group{box-sizing:border-box}.wp-block-post-content{margin:0}.wp-block-group.wrap{max-width:1200px}.wp-block-navigation{font-size:.85rem}.wp-block-navigation .wp-block-navigation-item__content{padding-block:10px}.wp-block-group.header-inner{flex-wrap:nowrap}.wp-block-post-title{max-width:900px}.archive-card{border-top:1px solid var(--line);padding-block:30px}.archive-card h2{font-size:2rem}.resource-query{padding-bottom:60px}.wp-block-query-pagination{gap:24px}
@media(min-width:1500px){.hero{padding-block:80px 90px}.hero h1{font-size:4.5rem}}
@media(max-width:1050px){.wrap{width:calc(100% - 56px)}.desktop-nav{gap:18px}.hero{gap:40px}.hero h1{font-size:3.35rem}.meet{padding:50px;gap:45px}.intro-inner,.local,.faq-layout{gap:50px}.page-layout{gap:45px;grid-template-columns:minmax(0,1fr) 240px}}
@media(max-width:800px){.desktop-nav{display:none}.mobile-nav{display:block}.mobile-nav summary{cursor:pointer;font-size:.9rem;padding:8px 0;min-height:44px}.mobile-nav nav{position:absolute;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);z-index:10;padding:25px 28px;box-shadow:0 12px 18px #2227250a}.mobile-nav nav a{display:block;padding:10px 0;text-decoration:none}.mobile-nav nav .button{margin-top:15px}.hero{grid-template-columns:1.2fr 1fr;gap:30px;padding-top:45px}.hero h1{font-size:2.7rem}.hero .eyebrow{font-size:.65rem}.hero .actions{gap:18px}.hero .credential{font-size:.7rem}.hero .lead{font-size:.96rem}.portrait-slot{padding:20px}.portrait-slot p{font-size:1.35rem}.portrait-caption{display:block}.portrait-caption span{display:block}.intro-inner{gap:40px}.intro h2{font-size:2rem}.meet{padding:35px;gap:35px}.meet h2{font-size:2.7rem}.section{padding-block:70px}.process{gap:26px}.faq-layout{grid-template-columns:1fr 1.3fr;gap:40px}.footer-grid{gap:30px}.page-layout{grid-template-columns:1fr;gap:40px}.sidebar{position:static}.sidebar .button{width:auto;padding-inline:22px}.sidebar-links{display:flex;flex-wrap:wrap;gap:15px}.wp-block-navigation__responsive-container-open{display:block!important}.wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}}
@media(max-width:600px){.wrap{width:calc(100% - 40px)}.site-header{padding-block:17px}.brand-name{font-size:1.7rem}.brand-sub{font-size:.57rem}.hero{grid-template-columns:1fr;padding-top:40px;padding-bottom:45px;gap:35px}.hero h1{font-size:2.5rem}.hero .lead{font-size:1rem}.hero .credential{font-size:.76rem}.hero .eyebrow{font-size:.7rem}.hero-visual{max-width:100%}.hero-visual .portrait-slot{aspect-ratio:1.25;border-radius:45% 45% 3px 3px}.portrait-caption{display:flex;gap:12px}.intro{padding:45px 0}.intro-inner,.services-grid,.meet,.process,.local,.faq-layout,.footer-grid{grid-template-columns:1fr;gap:25px}.intro h2{font-size:2.3rem}.section{padding-block:55px}.section-heading{margin-bottom:25px}.service-item h3{font-size:1.85rem}.service-item{padding-block:26px}.services-grid{gap:0}.meet{padding:30px 24px}.meet .portrait-slot{aspect-ratio:1.2;max-width:100%;width:100%}.meet h2{font-size:2.6rem}.process{gap:30px}.process-item:before{margin-bottom:15px;padding-bottom:13px}.local{padding-block:40px}.faq-layout h2{max-width:none}.closing{padding:55px 20px}.closing h2{font-size:2.6rem}.closing p{font-size:.95rem}.footer-grid{gap:30px}.footer-bottom{display:block}.page-intro{padding-block:35px}.page-intro h1{font-size:2.7rem}.page-intro .lead{font-size:1.3rem}.page-layout{padding-bottom:55px}.prose>h2{font-size:1.95rem}.preview-note{font-size:.65rem}.actions{gap:20px}.wp-block-group.header-inner{gap:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
@media(prefers-reduced-motion:no-preference){a,button{transition:background-color .18s,color .18s}}
.portrait-photo{aspect-ratio:4/4.6;overflow:hidden;border-radius:44% 44% 3px 3px}.portrait-photo img{width:100%;height:100%;object-fit:cover;object-position:43% center;display:block}.article-single{max-width:760px;padding-bottom:60px}.custom-menu{display:flex;list-style:none;padding:0;margin:0;gap:24px}.custom-menu a{text-decoration:none;color:var(--ink)}.mobile-nav .custom-menu{display:block}
