/* Local Ties: styles shared by every main page. Loaded after each page's own styles, so these win.
   Added Oct 18, 2026 after the website audit. */

/* ---------- Fonts, served from this site (no Google request) ---------- */
@font-face{font-family:"Lora";font-style:normal;font-weight:500;font-display:swap;src:url("/fonts/lora-latin-500-normal.woff2") format("woff2");}
@font-face{font-family:"Lora";font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/lora-latin-600-normal.woff2") format("woff2");}
@font-face{font-family:"Lora";font-style:italic;font-weight:500;font-display:swap;src:url("/fonts/lora-latin-500-italic.woff2") format("woff2");}
@font-face{font-family:"Lato";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/lato-latin-400-normal.woff2") format("woff2");}
@font-face{font-family:"Lato";font-style:italic;font-weight:400;font-display:swap;src:url("/fonts/lato-latin-400-italic.woff2") format("woff2");}
@font-face{font-family:"Lato";font-style:normal;font-weight:700;font-display:swap;src:url("/fonts/lato-latin-700-normal.woff2") format("woff2");}
@font-face{font-family:"Lato";font-style:normal;font-weight:900;font-display:swap;src:url("/fonts/lato-latin-900-normal.woff2") format("woff2");}

:root{--control:#8C7A50;}
@media (prefers-color-scheme: dark){:root{--control:#7E8274;}}

/* ---------- Site frame fixes ---------- */
/* "Larger text" shows in the phone and tablet menu too, first in the list. */
@media(max-width:880px){
  header.topbar nav .textsize{display:inline-flex;order:-1;align-self:flex-start;margin:12px 0 8px;font-size:16px;padding:10px 14px;}
}
.textsize{border-color:var(--control);min-height:44px;}
.menu-btn{border-color:var(--control);}
.rail-hours{font-size:16px;}
.rail-ears{font-size:16px;color:var(--muted);margin:-1px 0 14px;}

/* ---------- Big call block: the number first, then Call / Text, then the form ---------- */
.cta-call{margin-top:6px;}
.cta-num{display:inline-block;font-family:var(--serif);font-weight:600;font-size:clamp(30px,8.6vw,44px);line-height:1.1;letter-spacing:-.01em;white-space:nowrap;color:var(--forest);border-bottom:3px solid var(--walnut);padding-bottom:.08em;text-decoration:none;}
.cta-sub{font-size:18px;color:var(--muted);margin:12px 0 0;}
.cta-btns{display:none;gap:12px;margin-top:18px;max-width:520px;}
.cta-btns a{flex:1;text-align:center;text-decoration:none;font-weight:900;font-size:19px;padding:16px 8px;border-radius:6px;min-height:52px;}
.cta-btns .c-call{background:var(--walnut-bg);color:#fff;}
.cta-btns .c-text{background:none;color:var(--forest);border:2px solid var(--forest);}
.cta-ask{display:inline-block;margin-top:20px;font-size:18px;font-weight:900;color:var(--forest);text-decoration:none;border-bottom:2px solid var(--walnut);padding-bottom:2px;}
@media(max-width:900px){.cta-btns{display:flex;}}
.final .cta-call{text-align:left;}
.hours-pt{font-size:16px;color:var(--muted);margin-top:14px;}

/* ---------- Bottom call bar on phones: Call is the bold one ---------- */
.callbar a{font-size:17px;padding:14px 6px;min-height:54px;display:flex;align-items:center;justify-content:center;gap:8px;}
.callbar a.cb-call{background:#7A4E22;}
.callbar a.cb-text{background:var(--forest-bg);}
.callbar a:last-child{background:var(--forest-bg);}
.callbar a.cb-call:last-child{background:#7A4E22;}
@media (max-width:900px){body.callbar-on{padding-bottom:58px;}}

/* ---------- Thin strip at the very top for hospital or rehab discharges ---------- */
.dc-strip{display:block;background:var(--walnut-bg);color:#fff;text-decoration:none;font-weight:700;font-size:16.5px;line-height:1.35;padding:11px var(--pad);}
.dc-strip span{text-decoration:underline;text-underline-offset:3px;white-space:nowrap;}

/* ---------- Discharge band ---------- */
.dc-band{background:var(--cream);border-top:3px solid var(--walnut);border-bottom:3px solid var(--walnut);padding:clamp(34px,5vw,64px) 0;scroll-margin-top:80px;}
.dc-in{max-width:1028px;margin:0 var(--pad);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(22px,4vw,56px);align-items:start;}
.dc-band h2{font-family:var(--serif);font-weight:600;font-size:clamp(28px,3.2vw,40px);line-height:1.12;color:var(--forest);margin-bottom:12px;}
.dc-band p{font-size:18.5px;margin-bottom:14px;}
.dc-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;}
.dc-btns a{text-decoration:none;font-weight:900;font-size:18px;padding:15px 22px;border-radius:6px;min-height:52px;}
.dc-btns .c-call{background:var(--walnut-bg);color:#fff;}
.dc-btns .c-text{color:var(--forest);border:2px solid var(--forest);}
.dc-list h3{font-family:var(--serif);font-style:italic;font-weight:500;font-size:22px;color:var(--walnut);margin-bottom:8px;}
.dc-list ol{list-style:none;counter-reset:dc;margin:0;padding:0;}
.dc-list li{counter-increment:dc;position:relative;padding:12px 0 12px 40px;border-top:1px solid var(--hairline);font-size:17.5px;line-height:1.5;}
.dc-list li:last-child{border-bottom:1px solid var(--hairline);}
.dc-list li::before{content:counter(dc);position:absolute;left:0;top:10px;font-family:var(--serif);font-style:italic;font-weight:500;font-size:24px;color:var(--walnut);}
.dc-note{font-size:16px;color:var(--muted);margin-top:12px;}
@media(max-width:900px){.dc-in{grid-template-columns:minmax(0,1fr);}}

/* ---------- "Check me out" strip ---------- */
.trust{margin:clamp(30px,3.6vw,48px) 0 0;}
.trust h2{font-family:var(--serif);font-style:italic;font-weight:500;font-size:22px;line-height:1.3;color:var(--walnut);margin-bottom:6px;letter-spacing:0;}
.trust ul{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);margin:0;padding:0;}
.trust li{padding:18px 16px 18px 0;font-size:16px;line-height:1.45;color:var(--muted);}
.trust li + li{border-left:1px solid var(--hairline);padding-left:16px;}
.trust li strong{display:block;font-size:17px;color:var(--forest);margin-bottom:3px;line-height:1.3;}
.trust a{color:var(--walnut);font-weight:900;}
@media(max-width:900px){.trust ul{grid-template-columns:minmax(0,1fr) minmax(0,1fr);} .trust li:nth-child(3){border-left:0;padding-left:0;} .trust li:nth-child(n+3){border-top:1px solid var(--hairline);}}
@media(max-width:560px){.trust ul{grid-template-columns:minmax(0,1fr);} .trust li,.trust li + li{border-left:0;padding-left:0;padding-right:0;} .trust li + li{border-top:1px solid var(--hairline);}}

/* ---------- What care costs in Portland ---------- */
.costs{width:100%;border-collapse:collapse;margin:8px 0 10px;background:var(--cream);border-top:2px solid var(--rule);border-bottom:2px solid var(--rule);}
.costs th,.costs td{text-align:left;vertical-align:top;padding:14px 16px;border-bottom:1px solid var(--hairline);}
.costs thead th{font-family:var(--serif);font-style:italic;font-weight:500;font-size:18px;color:var(--walnut);}
.costs tbody th{font-family:var(--serif);font-weight:600;font-size:20px;color:var(--forest);white-space:nowrap;}
.costs td{font-size:17px;}
.costs td.amt{font-family:var(--serif);font-weight:600;font-size:20px;white-space:nowrap;color:var(--body);}
.costs td.amt small{display:block;font-family:var(--sans);font-weight:400;font-size:16px;color:var(--muted);}
.costs tr:last-child th,.costs tr:last-child td{border-bottom:0;}
.costs-note{font-size:16px;color:var(--muted);max-width:44em;}
@media(max-width:640px){
  .costs thead{position:absolute;left:-9999px;}
  .costs,.costs tbody,.costs tr,.costs th,.costs td{display:block;width:100%;}
  .costs tr{padding:12px 14px;border-bottom:1px solid var(--hairline);}
  .costs tr:last-child{border-bottom:0;}
  .costs th,.costs td{padding:2px 0;border:0;}
}

/* ---------- One accordion style: + and −, full-width rows at least 48px tall ---------- */
details>summary{list-style:none;}
details>summary::-webkit-details-marker{display:none;}
.faq summary,.diffs summary{position:relative;min-height:48px;padding:14px 46px 14px 0 !important;display:flex;align-items:center;cursor:pointer;font-family:var(--serif);font-weight:600;font-size:20px;line-height:1.3;color:var(--forest);}
.faq summary::after,.diffs summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font-family:var(--sans);font-weight:400;font-size:28px;line-height:1;color:var(--walnut);}
.faq details[open] summary::after,.diffs details[open] summary::after{content:"−";}
.diffs details{border:0;border-top:1px solid var(--hairline);border-radius:0;background:none;padding:0;margin:0;}
.diffs details:last-of-type{border-bottom:1px solid var(--hairline);}

/* ---------- Plain lists (were tags that looked like buttons) ---------- */
.plain-list{list-style:none;margin:6px 0 0;padding:0;columns:2;column-gap:40px;max-width:640px;}
.plain-list li{position:relative;padding:8px 0 8px 22px;font-size:18px;font-weight:700;color:var(--forest);break-inside:avoid;}
.plain-list li::before{content:"";position:absolute;left:3px;top:18px;width:6px;height:6px;transform:rotate(45deg);background:var(--walnut);}
@media(max-width:560px){.plain-list{columns:1;}}

/* ---------- One footer on every page ---------- */
footer.site-foot{border-top:3px solid var(--walnut);padding:44px 0 36px;font-size:16px;color:var(--body);margin:0;background:none;text-align:left;}
.site-foot .foot-in{max-width:1180px;padding:0 var(--pad);}
.site-foot .foot-id{font-size:17px;line-height:1.6;max-width:46em;margin-bottom:26px;}
.site-foot .foot-grid{display:grid;grid-template-columns:1.1fr 1fr 1.2fr;gap:30px 40px;margin-bottom:28px;}
.site-foot h5{font-family:var(--serif);font-style:italic;font-weight:500;font-size:19px;color:var(--walnut);margin-bottom:10px;}
.site-foot p{font-size:16px;line-height:1.6;margin-bottom:6px;}
.site-foot ul{list-style:none;margin:0;padding:0;}
.site-foot li{margin-bottom:6px;font-size:16px;line-height:1.5;}
.site-foot a{color:var(--walnut);}
.site-foot .foot-phone{font-family:var(--serif);font-weight:600;font-size:22px;color:var(--forest);text-decoration:none;}
.site-foot .foot-cities{color:var(--muted);}
.site-foot .foot-legal{border-top:1px solid var(--hairline);padding-top:20px;}
.site-foot .legal-line{font-size:16px;color:var(--muted);line-height:1.6;margin-bottom:9px;}
.site-foot .legal-odhs{font-size:16.5px;color:var(--body);line-height:1.62;margin-bottom:9px;max-width:62em;}
.site-foot .legal-odhs a,.site-foot .legal-line a{color:var(--walnut);font-weight:900;text-decoration:underline;text-underline-offset:2px;}
.site-foot .legal-abuse{font-size:16px;color:var(--muted);margin-bottom:0;}
.site-foot .legal-abuse strong{color:var(--forest);}
@media(max-width:900px){.site-foot .foot-grid{grid-template-columns:minmax(0,1fr);} .site-foot li a{display:inline-block;padding:9px 0;}}

/* ---------- Forms: borders you can see ---------- */
input[type=text],input[type=tel],input[type=email],textarea,select{border-color:var(--control) !important;}

/* ---------- Headings: one big line per page, the rest a step down ---------- */
main .section h2,main .sec h2:not(.ask),main .final h2,main .dc-band h2{font-size:clamp(29px,3.1vw,40px);line-height:1.12;}

/* ---------- Plain words next to our names for things ---------- */
.gloss{display:block;font-family:var(--sans);font-style:normal;font-weight:700;font-size:17px;line-height:1.4;color:var(--muted);margin:2px 0 10px;letter-spacing:0;text-transform:none;}

/* ---------- Printing a page ---------- */
.print-only{display:none;}
@media print{
  @page{margin:16mm 14mm;}
  body{background:#fff !important;padding:0 !important;color:#000;font-size:12pt;}
  .rail,.edge,.band-top,.band-rule,header.topbar,.callbar,.dc-strip,.skip,.textsize,.cta-btns,.dc-btns,.tm-filters,.tm-mapbox,.s3-sheets,.head-pic,.row-pic,.print,.who-img,form,.reach,.submit{display:none !important;}
  .print-only{display:block !important;font:700 13pt/1.4 var(--sans);border-bottom:2px solid #000;padding-bottom:8px;margin-bottom:16px;}
  main{zoom:1 !important;}
  a{color:#000 !important;text-decoration:none;}
  .who{background:none !important;} .who::before{display:none !important;} .who h2,.who p,.who p strong{color:#000 !important;}
  .final,.final h2,.final p{color:#000 !important;background:none !important;}
  details>*{display:block !important;}
  details summary::after{display:none !important;}
  section,.section,.sec{padding:14pt 0 !important;break-inside:auto;}
  h2,h3{break-after:avoid;}
  .fade-pic{opacity:1 !important;transform:none !important;}
}

/* ---------- Nothing a person needs to read under 16px ---------- */
.step p,.menu .item small,.menu-list small,.hours,.privacy-note,.reply-promise,.row-types li,.lane div,.fvb li{font-size:16.5px !important;}
label{font-size:16px;}

/* ---------- One tag style ---------- */
.row-tag,.free-badge,.track .tag,.track .tag.free,.track.forest .tag{display:inline-block;background:none !important;color:var(--forest) !important;border:1.5px solid var(--rule) !important;border-radius:3px !important;font-family:var(--sans);font-style:normal;font-weight:900;font-size:13px !important;letter-spacing:.1em !important;text-transform:uppercase;padding:5px 10px !important;line-height:1.35;}
@media (max-width:360px){.free-badge{font-size:11.5px !important;letter-spacing:.04em !important;padding:5px 8px !important;}}
.lane .tag{font-size:19px;}

/* ---------- Home: the short price box stacks on phones ---------- */
@media(max-width:560px){.m-line{flex-wrap:wrap;row-gap:2px;} .m-dots{display:none;} .m-name{flex-basis:100%;} .m-price{white-space:normal;}}

/* ---------- Cream bands instead of more lines ---------- */
.band-cream{background:var(--cream);}
.section.band-cream>.wrap{border-top:0 !important;}
.band-cream .costs{background:none;}
.section.band-cream{padding:clamp(44px,5.6vw,76px) 0 !important;margin-bottom:clamp(46px,5.8vw,80px);}

/* ---------- Guides and the new pages ---------- */
.g-answer{display:block;font-family:var(--serif);font-weight:500;font-size:clamp(21px,2vw,25px);line-height:1.45;color:var(--body);max-width:36em;}
.g-answer strong{font-weight:600;color:var(--forest);}
.g-by{font-size:16px;color:var(--muted);margin-top:16px;}
.g-by a{color:var(--walnut);font-weight:700;}
.g-body p{font-size:18.5px;max-width:38em;margin-bottom:16px;}
.g-body .costs-note{font-size:16px;}
.g-list{list-style:none;margin:4px 0 18px;padding:0;max-width:40em;}
.g-list li{position:relative;padding:11px 0 11px 22px;border-top:1px solid var(--hairline);font-size:18px;line-height:1.5;}
.g-list li:last-child{border-bottom:1px solid var(--hairline);}
.g-list li::before{content:"";position:absolute;left:3px;top:22px;width:6px;height:6px;transform:rotate(45deg);background:var(--walnut);}
.g-list a,.g-body p a{color:var(--walnut);font-weight:700;}
.g-print{font:900 17px/1 var(--sans);background:none;color:var(--forest);border:2px solid var(--forest);border-radius:6px;padding:14px 20px;cursor:pointer;min-height:48px;}
.g-index{list-style:none;margin:0;padding:0;max-width:44em;}
.g-index li{border-top:1px solid var(--hairline);padding:20px 0;}
.g-index li:last-child{border-bottom:1px solid var(--hairline);}
.g-index a{display:block;font-family:var(--serif);font-weight:600;font-size:clamp(22px,2.2vw,27px);line-height:1.25;color:var(--forest);text-decoration:none;margin-bottom:6px;}
.g-index a:hover{color:var(--walnut);}
.g-index span{display:block;font-size:17.5px;color:var(--muted);}
.costs.cmp tbody th{white-space:normal;font-size:18px;}
.costs.cmp td.amt{white-space:normal;}
@media(max-width:640px){.costs.cmp tbody th{font-size:19px;margin-bottom:2px;} .costs.cmp td::before{display:block;font-size:15px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--walnut);margin-top:6px;} .costs.cmp td:nth-of-type(1)::before{content:"Adult foster home";} .costs.cmp td:nth-of-type(2)::before{content:"Assisted living";}}
.page-head .trust,.wrap>.trust{margin-bottom:8px;}
@media print{.g-print{display:none !important;}}
.print picture,.s3-art picture,.s3-sheet picture{display:contents;}
.page-head .free-badge{width:fit-content;max-width:100%;}
.trust a{white-space:nowrap;}
.site-foot .legal-line a,.site-foot .legal-odhs a,.site-foot .foot-id a{display:inline !important;padding:0 !important;}

/* ---------- Two kinds of line: a thin hairline, and a 2px green rule. No double rules. ---------- */
.menu-card,.menu,.ladder,.form-card{border-top:2px solid var(--rule) !important;border-bottom:2px solid var(--rule) !important;}
.dc-band{border-top:2px solid var(--rule);border-bottom:2px solid var(--rule);}
.dc-one{grid-template-columns:minmax(0,1fr) !important;} .dc-one p{max-width:40em;}

/* ---------- "Just need a hand?" box on Pricing and Care Planning ---------- */
.hand-wrap{margin-top:clamp(8px,1.5vw,18px);margin-bottom:clamp(40px,5vw,64px);}
.hand{background:var(--cream);border-left:4px solid var(--walnut);padding:clamp(22px,3vw,34px) clamp(20px,3vw,36px);max-width:860px;}
.hand h2{font-family:var(--serif);font-weight:600;font-size:clamp(25px,2.6vw,32px);line-height:1.15;color:var(--forest);margin-bottom:10px;}
.hand p{font-size:18.5px;margin-bottom:12px;max-width:40em;}
.hand ul{list-style:none;margin:6px 0 14px;padding:0;}
.hand li{position:relative;padding:10px 0 10px 22px;border-top:1px solid var(--hairline);font-size:18px;line-height:1.5;}
.hand li:last-child{border-bottom:1px solid var(--hairline);}
.hand li::before{content:"";position:absolute;left:3px;top:21px;width:6px;height:6px;transform:rotate(45deg);background:var(--walnut);}
.hand li strong{color:var(--forest);}
.hand-price{font-size:19px !important;}
.hand-price strong{font-family:var(--serif);font-size:24px;color:var(--forest);}
.hand-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px;}
.hand-btns a{text-decoration:none;font-weight:900;font-size:18px;padding:14px 22px;border-radius:6px;min-height:52px;display:inline-flex;align-items:center;}
.hand-btns .c-call{background:var(--walnut-bg);color:#fff;}
.hand-btns .c-text{color:var(--forest);border:2px solid var(--forest);}
.menu small a,.ladder small a{color:var(--walnut);font-weight:700;}
.levels + .hand,.hand + .promise{margin-top:30px;}
.hand-sec .hand{margin:0;}
.hand.hand-flat{background:none;border:0;padding:0;max-width:820px;}
/* Care Plan price: the three levels stacked, one per row, with a line between */
.tiers{display:inline-flex;flex-direction:column;min-width:200px;text-align:left;vertical-align:top;}
.tiers>span{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:7px 0;border-bottom:1px solid var(--hairline);white-space:nowrap;line-height:1.2;}
.tiers>span:first-child{padding-top:0;}
.tiers>span:last-child{border-bottom:0;padding-bottom:0;}
.tiers b{font-family:var(--sans);font-weight:700;font-size:15px;letter-spacing:.02em;color:var(--muted);}
.menu .price .tiers,.ladder .price .tiers{font-size:21px;}
@media(max-width:640px){.tiers{min-width:220px;margin:6px 0 12px;}}
