/* Family Therapy Associates, LLC - restored brochure system
   Palette recovered verbatim from the site's own WordPress Customizer block:
   canvas #ddc49b, nav #ddba80, accent #ddb677, text #5e5e5e. */
:root{
  --canvas:#ddc49b; --shell:#ffffff; --tint:#f6efe2; --tint-2:#efe3ce;
  --ink:#5e5e5e; --ink-soft:#6f6a63; --ink-strong:#3f3a33;
  --nav:#ddba80; --accent:#ddb677; --link:#8a6a2f; --link-hi:#6d5325;
  --rule:#c9a86f; --rule-soft:#e3d6bd; --dark:#40392f; --dark-ink:#efe7d8;
  --serif:Georgia,"Times New Roman","Liberation Serif",serif;
  --sans:Arial,"Helvetica Neue",Helvetica,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background-color:var(--canvas);
  background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.16) 0 1px,transparent 1px 3px),
                   repeating-linear-gradient(0deg,rgba(120,96,58,.07) 0 1px,transparent 1px 3px);
  color:var(--ink);font-family:var(--serif);font-size:17px;line-height:1.62;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--link)}
a:hover,a:focus{color:var(--link-hi)}
a:focus-visible{outline:2px solid var(--link);outline-offset:2px}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;color:var(--ink);line-height:1.22;letter-spacing:.01em;margin:0}
p{margin:0 0 16px}
p:last-child{margin-bottom:0}

.skip{position:absolute;left:-9999px;top:0;background:var(--shell);color:var(--link);
  padding:8px 16px;border:1px solid var(--rule);z-index:20;font-family:var(--sans);font-size:14px}
.skip:focus{left:8px;top:8px}

.canvas{padding:24px 0 32px}
.shell{width:min(1100px,100% - 48px);margin-inline:auto;background:var(--shell);
  border:1px solid var(--rule);box-shadow:0 1px 4px rgba(64,57,47,.18)}

/* ---- module 1: logo and contact header ---- */
.brandbar{display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:14px 24px;min-height:110px}
.brandbar .mark{display:block;flex:0 1 auto;min-width:0}
.brandbar .mark img{width:440px;max-width:100%;height:auto}
.util{font-family:var(--sans);font-size:13px;line-height:1.7;text-align:right;color:var(--ink-soft)}
.util a{text-decoration:none}
.util a:hover{text-decoration:underline}
.util .tel{font-size:16px;letter-spacing:.02em}

/* ---- module 2: rectangular page menu ---- */
.pagemenu{background:var(--nav);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.pagemenu ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap}
.pagemenu a{display:block;padding:12px 16px;font-family:var(--sans);font-size:13px;
  text-transform:uppercase;letter-spacing:.08em;color:var(--ink-strong);text-decoration:none;
  transition:background-color .15s ease}
.pagemenu a:hover{background:var(--accent)}
.pagemenu a[aria-current="page"]{background:var(--accent);box-shadow:inset 0 -3px 0 var(--link)}
.subnav{background:var(--tint-2);border-bottom:1px solid var(--rule-soft);padding:8px 16px}
.subnav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 20px}
.subnav a{font-family:var(--sans);font-size:13px;color:var(--link);text-decoration:none;
  display:block;padding:4px 0}
.subnav a:hover{text-decoration:underline}
.subnav a[aria-current="page"]{color:var(--ink-strong);text-decoration:underline}

/* ---- section rule opened by the recovered sunflower mark ---- */
.rule-sunflower{display:flex;align-items:center;gap:12px;margin:0 0 20px}
.rule-sunflower img{width:40px;height:40px;flex:none;opacity:.9}
.rule-sunflower h2{flex:none;font-size:24px}
.rule-sunflower::after{content:"";flex:1;height:1px;background:var(--rule)}

/* ---- module 3: feature image + caption ---- */
.home-lead{padding:24px}
.figure-framed{margin:0;border:1px solid var(--rule);background:var(--shell);padding:6px}
.figure-framed img{width:100%}
.lead-caption{background:var(--tint);border:1px solid var(--rule);border-top:0;padding:20px 24px}
.lead-caption h1{font-size:38px;margin:0 0 10px}
.lead-caption p{font-size:16px;max-width:62ch}
.lead-caption .where{font-family:var(--sans);font-size:13px;color:var(--ink-soft);margin-top:12px;
  letter-spacing:.02em}

/* ---- module 4: welcome introduction + quick links ---- */
.home-welcome{display:grid;grid-template-columns:2fr 1fr;gap:32px;padding:8px 24px 28px}
.home-welcome .body{max-width:34em}
.quicklinks{background:var(--tint);border:1px solid var(--rule-soft);padding:16px 18px;align-self:start}
.quicklinks h2{font-family:var(--sans);font-size:12px;text-transform:uppercase;letter-spacing:.1em;
  color:var(--ink-strong);border-bottom:2px solid var(--accent);padding-bottom:6px;margin:0 0 10px}
.quicklinks ul{list-style:none;margin:0 0 12px;padding:0}
.quicklinks li{border-bottom:1px solid var(--rule-soft)}
.quicklinks li:last-child{border-bottom:0}
.quicklinks a{display:block;padding:7px 0;font-family:var(--sans);font-size:14px;text-decoration:none}
.quicklinks a:hover{text-decoration:underline}
.quicklinks .note{font-family:var(--sans);font-size:13px;color:var(--ink-soft);line-height:1.55}

/* ---- module 5: unequal service excerpts ---- */
.home-services{padding:0 24px 28px}
.svc-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px;align-items:start}
.svc-overview h3{font-size:20px;margin:0 0 8px}
.svc-overview p{font-size:16px;max-width:32em}
.issue-list{list-style:none;margin:14px 0 0;padding:0;columns:2;column-gap:24px;
  font-family:var(--sans);font-size:13.5px;line-height:1.5}
.issue-list li{padding:3px 0 3px 12px;position:relative;break-inside:avoid}
.issue-list li::before{content:"";position:absolute;left:0;top:11px;width:5px;height:5px;background:var(--accent)}
.svc-col{border-top:2px solid var(--accent)}
.svc-row{border-bottom:1px solid var(--rule-soft);padding:12px 0}
.svc-row h3{font-size:18px;margin:0 0 4px}
.svc-row p{font-size:14.5px;color:var(--ink-soft);margin:0 0 8px}
.more{display:inline-block;font-family:var(--sans);font-size:11px;text-transform:uppercase;
  letter-spacing:.08em;color:var(--link);text-decoration:none;border:1px solid var(--rule);
  padding:4px 10px;background:var(--tint)}
.more:hover{background:var(--accent);color:var(--ink-strong)}

/* ---- module 6: practice + resources strip ---- */
.home-strip{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:4px 24px 28px}
.item{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--rule-soft)}
.item img{width:72px;height:72px;object-fit:cover;flex:none;border:1px solid var(--rule)}
.item.noimg{padding-left:14px;border-left:3px solid var(--accent)}
.item h3{font-size:17px;margin:0 0 4px}
.item p{font-size:14px;color:var(--ink-soft);margin:0 0 6px}
.reslist{list-style:none;margin:0;padding:0}
.reslist li{border-bottom:1px solid var(--rule-soft);padding:9px 0}
.reslist a{font-family:var(--sans);font-size:14px;text-decoration:none}
.reslist a:hover{text-decoration:underline}
.reslist .d{display:block;font-family:var(--sans);font-size:12.5px;color:var(--ink-soft);margin-top:2px}
.grp{font-family:var(--sans);font-size:11px;text-transform:uppercase;letter-spacing:.1em;
  color:var(--ink-strong);margin:14px 0 2px}
.grp:first-of-type{margin-top:0}

/* ---- module 7: contact / location strip ---- */
.contact-strip{background:var(--tint);border-top:1px solid var(--rule);padding:24px}
.addr-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0 0 18px}
.addr{font-family:var(--sans);font-size:14px;line-height:1.6;color:var(--ink)}
.addr strong{display:block;font-weight:400;font-size:12px;text-transform:uppercase;
  letter-spacing:.1em;color:var(--ink-soft);margin-bottom:4px}
.contact-line{font-family:var(--sans);font-size:14px;color:var(--ink-soft);border-top:1px solid var(--rule-soft);
  padding-top:14px}
.contact-line a{text-decoration:none}
.contact-line a:hover{text-decoration:underline}

/* ---- module 8: widget footer ---- */
.artband{height:110px;background-repeat:no-repeat;background-size:cover;background-position:center}
.site-footer{background:var(--dark);color:var(--dark-ink)}
.site-footer .widgets{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;padding:28px 24px}
.site-footer h2{font-family:var(--sans);font-size:12px;text-transform:uppercase;letter-spacing:.1em;
  color:#e8cfa0;margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid rgba(232,207,160,.35)}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{padding:4px 0}
.site-footer a{color:var(--dark-ink);font-family:var(--sans);font-size:13.5px;text-decoration:none}
.site-footer a:hover{color:#fff;text-decoration:underline}
.site-footer a:focus-visible{outline:2px solid #e8cfa0;outline-offset:2px}
.site-footer .fcontact{font-family:var(--sans);font-size:13px;line-height:1.7;color:#d9cfba}
.copybar{border-top:1px solid rgba(232,207,160,.25);padding:12px 24px;font-family:var(--sans);
  font-size:12.5px;color:#cdc2ab;display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:space-between}

/* ---- inner page grammar ---- */
.titleband{background:var(--tint);border-bottom:1px solid var(--rule);padding:20px 24px}
.titleband .crumbs{font-family:var(--sans);font-size:12px;letter-spacing:.04em;color:var(--ink-soft);
  margin:0 0 8px}
.titleband .crumbs a{text-decoration:none}
.titleband .crumbs a:hover{text-decoration:underline}
.titleband .tb{display:flex;align-items:center;gap:12px}
.titleband .tb img{width:34px;height:34px;flex:none;opacity:.9}
.titleband h1{font-size:33px}
.titleband .sub{font-family:var(--sans);font-size:13px;text-transform:uppercase;letter-spacing:.08em;
  color:var(--ink-soft);margin:8px 0 0}
.page-body{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:48px;padding:26px 24px 32px}
.page-body.wide{grid-template-columns:minmax(0,1fr)}
.article{max-width:none}
.article p{max-width:36em}
.article.full p{max-width:44em}
.article h2{font-size:23px;margin:26px 0 10px}
.article h2:first-child{margin-top:0}
.article h3{font-size:19px;margin:22px 0 8px}
.article ul.plain{list-style:none;margin:0 0 18px;padding:0;font-family:var(--sans);font-size:14.5px}
.article ul.plain li{padding:4px 0 4px 14px;position:relative;border-bottom:1px solid var(--rule-soft)}
.article ul.plain li::before{content:"";position:absolute;left:0;top:12px;width:5px;height:5px;background:var(--accent)}
.article .figure-framed{margin:0 0 20px}
.article figcaption{font-family:var(--sans);font-size:12.5px;color:var(--ink-soft);padding:8px 2px 0}
.portrait{float:right;width:200px;margin:4px 0 16px 24px;border:1px solid var(--rule);padding:5px;background:#fff}
.portrait img{width:100%}
.rail{align-self:start}
.widget{margin:0 0 24px}
.widget h2{font-family:var(--sans);font-size:12px;text-transform:uppercase;letter-spacing:.1em;
  color:var(--ink-strong);border-bottom:2px solid var(--accent);padding-bottom:6px;margin:0 0 10px}
.widget ul{list-style:none;margin:0;padding:0}
.widget li{border-bottom:1px solid var(--rule-soft);padding:7px 0}
.widget li:last-child{border-bottom:0}
.widget a{font-family:var(--sans);font-size:14px;text-decoration:none}
.widget a:hover{text-decoration:underline}
.widget .who{font-family:var(--sans);font-size:14px;color:var(--ink)}
.widget .cred{display:block;font-family:var(--sans);font-size:12px;color:var(--ink-soft);margin-top:1px}
.widget .fact{font-family:var(--sans);font-size:13px;color:var(--ink-soft);line-height:1.6}
.widget .mark-lg{width:96px;height:96px;margin:0 0 10px;opacity:.9}
.related{border-top:1px solid var(--rule);margin-top:28px;padding-top:16px}
.related h2{font-family:var(--sans);font-size:12px;text-transform:uppercase;letter-spacing:.1em;
  color:var(--ink-strong);margin:0 0 8px}
.related ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 20px}
.related a{font-family:var(--sans);font-size:14px;text-decoration:none}
.related a:hover{text-decoration:underline}
.roster{list-style:none;margin:0;padding:0}
.roster li{border-bottom:1px solid var(--rule-soft);padding:8px 0}
.roster li:last-child{border-bottom:0}
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;margin:18px 0 0;padding:0;list-style:none}
.team-grid li{border-bottom:1px solid var(--rule-soft);padding:10px 0}
.team-grid a{font-family:var(--sans);font-size:15px;text-decoration:none}
.team-grid a:hover{text-decoration:underline}
.team-grid .cred{display:block;font-family:var(--sans);font-size:12.5px;color:var(--ink-soft)}
.svc-index{list-style:none;margin:0;padding:0;border-top:2px solid var(--accent)}
.svc-index li{border-bottom:1px solid var(--rule-soft);padding:14px 0}
.svc-index h2{font-size:20px;margin:0 0 4px}
.svc-index p{font-size:14.5px;color:var(--ink-soft);margin:0 0 8px}
.qa h2{font-size:21px;margin:24px 0 8px}
.qa h2:first-of-type{margin-top:0}
.aspiration{list-style:none;margin:0 0 20px;padding:0;font-size:19px;line-height:1.9}
.aspiration li{border-bottom:1px solid var(--rule-soft);padding:6px 0}
.notfound{padding:48px 24px;text-align:center}

@media (max-width:1024px){
  .home-welcome{grid-template-columns:1fr;gap:24px}
  .svc-grid{grid-template-columns:1fr 1fr}
  .svc-overview{grid-column:1 / -1}
  .page-body{grid-template-columns:minmax(0,1fr) 250px;gap:32px}
}
@media (max-width:780px){
  body{font-size:16px}
  .canvas{padding:0 0 0}
  .shell{width:100%;box-shadow:none;border-left:0;border-right:0}
  .brandbar{flex-direction:column;align-items:flex-start;gap:10px;padding:14px 16px;min-height:0}
  .brandbar .mark img{width:320px}
  .util{text-align:left}
  .pagemenu a{padding:12px;min-height:44px;display:flex;align-items:center}
  .home-lead,.home-services,.home-strip,.contact-strip,.titleband{padding-left:16px;padding-right:16px}
  .home-welcome{padding:8px 16px 24px}
  .lead-caption{padding:16px}
  .lead-caption h1{font-size:27px}
  .titleband h1{font-size:27px}
  .svc-grid{grid-template-columns:1fr;gap:22px}
  .svc-col:nth-of-type(3) .svc-row{padding-left:0}
  .home-strip{grid-template-columns:1fr;gap:24px}
  .issue-list{columns:1}
  .page-body{grid-template-columns:1fr;gap:26px;padding:22px 16px 28px}
  .article p,.article.full p{max-width:none}
  .portrait{float:none;width:180px;margin:0 0 16px}
  .site-footer .widgets{grid-template-columns:1fr 1fr;padding:24px 16px}
  .artband{height:96px;background-size:contain;background-repeat:repeat-x}
  .copybar{padding:12px 16px}
  .team-grid{grid-template-columns:1fr}
  .item img{width:56px;height:56px}
}
@media (max-width:640px){
  .addr-row{grid-template-columns:1fr;gap:16px}
  .site-footer .widgets{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important}
  html{scroll-behavior:auto}
}
@media print{
  body{background:#fff}
  .pagemenu,.subnav,.site-footer,.artband{display:none}
  .shell{border:0;box-shadow:none;width:100%}
}
