/* Shuli Sandler, Psy.D. — static rebuild of the Squarespace site (no external dependencies). */
@font-face{font-family:Poppins;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/poppins-300.woff2) format('woff2')}
@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/poppins-400.woff2) format('woff2')}
@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/poppins-500.woff2) format('woff2')}
@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/poppins-600.woff2) format('woff2')}
:root{--text:#000;--accent:#a8a6a1;--footer:#38383b;--gutter:3vw;--font:Poppins,"Helvetica Neue",Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);font-weight:300;font-size:16px;line-height:1.8;color:var(--text);background:#fff;display:flex;flex-direction:column;min-height:100vh}
main{flex:1}
a{color:inherit}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-weight:500;margin:0 0 .5em;line-height:1.3}
h1{font-size:4rem;line-height:1.4}
h2{font-size:2.8rem}
h3{font-size:2.2rem}
h4{font-size:1.2rem}
p{margin:0 0 1em}
.center{text-align:center}
strong,b{font-weight:600}
.lg{font-size:1.4rem;line-height:1.8}

/* Header */
.site-header{display:flex;align-items:center;justify-content:space-between;padding:28px var(--gutter);position:relative;z-index:10}
.has-hero .site-header{position:absolute;top:0;left:0;right:0}
.site-title{font-size:2rem;font-weight:500;text-decoration:none;line-height:1.4;white-space:nowrap}
.site-nav{display:flex;gap:1.6rem}
.nav-link{text-decoration:none;font-size:1rem;font-weight:300;padding:.1em 0;border-bottom:1px solid transparent}
.nav-link:hover,.nav-link.active{border-bottom-color:currentColor}
.menu-toggle{display:none;background:none;border:0;padding:10px 0;cursor:pointer;width:34px}
.menu-toggle span{display:block;height:1px;background:#000;margin:7px 0;transition:transform .2s}

/* Hero */
.hero{background:url(/assets/img/sunrise.jpg) center/cover no-repeat;min-height:482px;display:flex;align-items:center;justify-content:center;text-align:center;padding:102px 6vw 40px}
.hero-inner{max-width:600px}
.hero h2{font-size:2.8rem;margin-bottom:.6em}
.hero h3{font-size:2.2rem;margin-bottom:.8em}
.hero h4{font-size:1.2rem;margin:0}

/* Sections */
.section{max-width:1200px;margin:0 auto;padding:40px 6vw}
.areas{padding:36px 8.33vw 40px;max-width:1440px}
.areas h2{margin-bottom:1.1em}
.areas-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:34px;row-gap:64px;margin:0 auto}
.area{text-align:center}
.area p{margin:0 0 .7em}
.area p:first-child{margin-bottom:.9em}
.contact{text-align:center;padding-top:110px;padding-bottom:60px}
.contact p{margin:0 0 .4em}
.contact a{text-decoration:none}

/* Buttons */
.btn{display:inline-block;font-family:var(--font);font-size:1rem;font-weight:500;letter-spacing:.02em;color:#fff;background:var(--accent);border:0;border-radius:6.4px;padding:1.2em 2em;cursor:pointer;text-decoration:none;line-height:1.2}
.btn:hover{opacity:.85}
.btn:disabled{opacity:.6;cursor:default}
.contact-cta{margin-top:40px}

/* Footer */
.site-footer{background:var(--footer);color:#fff;text-align:center;padding:60px 6vw 50px}
.site-footer p{margin:0 0 .6em;font-size:1rem}
.site-footer a{text-decoration:none}

/* About */
.about{padding:56px 8.33vw 80px;max-width:1440px;min-height:calc(100vh - 290px)}
.about-card{display:grid;grid-template-columns:1.1fr 1fr;gap:4vw;align-items:start;max-width:1200px;margin:0 auto}
.about-img img{width:100%;aspect-ratio:3/4;object-fit:cover}
.about-text{text-align:center;font-size:1rem}
.about-text p{margin:0 0 1em}
.about-states{text-align:center;margin-top:3em;font-size:1rem}
.about-states p{margin:0 0 .8em}

/* Blog list */
.blog-list{max-width:1440px;padding:50px var(--gutter) 60px}
.list-heading{font-size:2.2rem;text-align:center;margin-bottom:1.5em}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:56px 5vw;align-items:start}
.post-card{text-align:center}
.post-grid.masonry{display:flex;gap:5vw;align-items:flex-start}
.post-col{flex:1;display:flex;flex-direction:column;gap:56px;min-width:0}
.post-cats{font-size:1rem;font-weight:400;line-height:1.2;margin-bottom:1em}
.post-cats a{text-decoration:none}
.post-card-title{font-size:2.2rem;line-height:1.4;margin:0 0 .3em}
.post-card-title a{text-decoration:none}
.read-more{color:var(--accent);font-size:.892rem;text-decoration:none;border-bottom:1px solid var(--accent)}

/* Article */
.blog-item{max-width:1100px;padding:44px 6vw 60px}
.blog-item-title{font-size:4rem;line-height:1.4;margin-bottom:.4em}
.post-meta{font-size:.9rem;color:#555;margin-bottom:2.2em}
.blog-item-content h2{font-size:2.2rem;line-height:1.3;margin:1.2em 0 .6em}
.blog-item-content h3{font-size:2.2rem;line-height:1.33;margin:1.2em 0 .6em}
.blog-item-content h4{margin:1.2em 0 .6em}
.blog-item-content ul,.blog-item-content ol{padding-left:1.4em}
.item-pagination{display:flex;justify-content:space-between;gap:4vw;padding:30px 6vw 70px;max-width:1440px;margin:0 auto}
.item-pagination a{display:flex;align-items:center;gap:.6em;text-decoration:none;font-size:2.2rem;font-weight:500;line-height:1;max-width:46%}
.item-pagination .pag-title{line-height:1}
.item-pagination .pag-next{text-align:right;margin-left:auto}
.item-pagination .arrow{font-size:1.2em;font-weight:300}

/* 404 */
.notfound{text-align:center;padding:120px 6vw}
.notfound h1{font-size:2.8rem}

/* Contact lightbox (recreates the Squarespace form lightbox) */
.lightbox{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:4vh 16px}
.lightbox[hidden]{display:none}
.lightbox-backdrop{position:absolute;inset:0;background:transparent}
.lightbox-panel{position:relative;background:#f7f7f7;width:100%;max-width:680px;max-height:92vh;overflow:auto;padding:40px 40px 40px;text-align:left;box-shadow:0 2px 30px rgba(0,0,0,.12)}
.lightbox-close{position:absolute;top:10px;right:18px;background:none;border:0;font-size:26px;line-height:1;cursor:pointer;color:#000}
.form-title{font-size:2.2rem;font-size:clamp(1.6rem,3vw,2.2rem);margin:0 0 1.2em}
#contact-form fieldset{border:0;margin:0;padding:0}
#contact-form legend{font-size:.85rem;font-weight:400;padding:0;margin-bottom:.3em}
#contact-form .field{display:block;margin-bottom:20px}
.name-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.name-row .field{margin-bottom:0}
#contact-form .label{display:block;font-size:.8rem;font-weight:400;margin-bottom:2px}
#contact-form .req{color:#666;font-weight:300;margin-left:4px}
#contact-form input,#contact-form textarea{display:block;width:100%;font:inherit;font-weight:300;background:transparent;border:0;border-bottom:1px solid #9a9a9a;border-radius:0;padding:5px 0;color:#000}
#contact-form textarea{min-height:100px;resize:vertical}
#contact-form input:focus,#contact-form textarea:focus{outline:none;border-bottom-color:#000}
#contact-form .invalid input,#contact-form .invalid textarea,#contact-form input.invalid,#contact-form textarea.invalid{border-bottom-color:#c0392b}
.field-error{display:block;color:#c0392b;font-size:.8rem;margin-top:3px}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-actions{text-align:center}
.form-status{font-size:.9rem;min-height:1.2em;text-align:center;margin:0 0 10px}
.form-status.error{color:#c0392b}
.form-success{text-align:center;font-size:1.2rem;padding:30px 0}
body.modal-open{overflow:hidden}

/* Responsive */
@media (max-width:1100px){
  h1,.blog-item-title{font-size:3rem}
  .post-card-title{font-size:1.8rem}
}
@media (max-width:767px){
  :root{--gutter:6vw}
  .site-header{padding:20px var(--gutter)}
  .site-title{font-size:1.1rem}
  .menu-toggle{display:block}
  .site-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:center;gap:1.2rem;background:#fff;padding:24px 0 30px;box-shadow:0 8px 16px rgba(0,0,0,.06)}
  .site-nav.open{display:flex}
  .site-nav .nav-link{font-size:1.4rem}
  .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
  .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
  .hero{min-height:453px;padding:84px 6vw 40px}
  .hero h2{font-size:2.14rem;margin-bottom:.4em}
  .hero h3{font-size:1.76rem;margin-bottom:.5em}
  .hero h4{font-size:1.13rem}
  h2{font-size:2.14rem}
  .lg{font-size:1.25rem}
  .areas-grid{grid-template-columns:1fr;row-gap:36px}
  .contact{padding-top:60px}
  .about-card{grid-template-columns:1fr;gap:30px}
  .post-grid{grid-template-columns:1fr;gap:44px}
  .post-card-title{font-size:1.76rem}
  .blog-item-title{font-size:2.9rem}
  .blog-item-content h2,.blog-item-content h3{font-size:1.76rem}
  .item-pagination{flex-direction:column}
  .item-pagination a{font-size:1.76rem;max-width:none}
  .item-pagination .pag-next{margin-left:0}
  .site-footer{padding:30px 6vw}
  .site-footer p{font-size:1rem}
  .lightbox{padding:0}
  .lightbox-panel{max-width:none;height:100%;max-height:none;padding:40px 24px}
  .name-row{grid-template-columns:1fr;gap:20px}
}
