/* Version 1.4.0: distinct About, Contact and Care Guide experiences. */
.about-page, .contact-page, .care-page { color: var(--bloodwine, #00272c); overflow: clip; }
.about-page h1, .about-page h2, .about-page h3, .contact-page h1, .contact-page h2, .care-page h1, .care-page h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 400; letter-spacing: -.05em; }
.about-page .eyebrow, .contact-page .eyebrow, .care-page .eyebrow { font-size: 11px; font-weight: 700; letter-spacing: .14em; margin: 0; text-transform: uppercase; }
.about-page h1 em, .contact-page h1 em, .care-page h1 em, .about-page h2 em, .care-page h2 em { color: #527772; font-weight: 400; }
.servicerite-motion [data-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .6s cubic-bezier(.23,1,.32,1) var(--reveal-delay,0ms), transform .6s cubic-bezier(.23,1,.32,1) var(--reveal-delay,0ms); }
.servicerite-motion [data-reveal].is-revealed { opacity: 1; transform: translateY(0); }

.about-hero { display: grid; grid-template-columns: minmax(0,.93fr) minmax(400px,1.07fr); min-height: 740px; }
.about-hero-copy { align-content: center; display: grid; justify-items: start; padding: clamp(72px,10vw,150px) clamp(7vw,112px); }
.about-hero-copy h1 { font-size: clamp(60px,7.6vw,115px); line-height: .83; margin: 22px 0 33px; }
.about-lead { font-size: 17px; line-height: 1.75; margin: 0; max-width: 390px; }
.about-hero-link { margin-top: 40px; }
.about-hero-image { margin: 0; min-height: 600px; position: relative; }
.about-hero-image img { height: 100%; object-fit: cover; position: absolute; width: 100%; }
.about-hero-image figcaption { bottom: 25px; color: #fff; font-size: 10px; letter-spacing: .12em; left: 28px; position: absolute; text-transform: uppercase; }
.about-manifesto { align-items: start; background: var(--bloodwine,#00272c); color: var(--ivory,#fbf8f0); display: grid; gap: 8vw; grid-template-columns: minmax(0,1fr) minmax(280px,.8fr); padding: clamp(75px,11vw,155px) max(7vw,32px); }
.about-manifesto .eyebrow { color: var(--sunflare,#e1ff51); }
.about-manifesto h2 { font-size: clamp(45px,5.8vw,85px); line-height: .9; margin: 22px 0 0; max-width: 690px; }
.about-manifesto-copy { border-left: 1px solid rgba(225,255,81,.65); display: grid; gap: 22px; line-height: 1.8; padding-left: 30px; }
.about-manifesto-copy p { margin: 0; }
.about-principles { display: grid; grid-template-columns: repeat(3,1fr); padding: 0 max(7vw,32px); }
.about-principle { border-right: 1px solid rgba(0,39,44,.18); display: grid; gap: 23px; min-height: 355px; padding: 42px 32px 48px 0; }
.about-principle + .about-principle { padding-left: 32px; }
.about-principle:last-child { border-right: 0; }
.about-principle span, .care-steps span { color: #527772; font-size: 11px; font-weight: 700; letter-spacing: .12em; }
.about-principle h3 { font-size: 34px; line-height: .94; margin: 0; }
.about-principle p { font-size: 14px; line-height: 1.7; margin: 0; max-width: 275px; }
.about-image-statement { align-items: stretch; background: #e9e4d8; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); }
.about-image-statement figure { margin: 0; min-height: 590px; }
.about-image-statement img { height: 100%; object-fit: cover; width: 100%; }
.about-image-statement > div { align-content: center; display: grid; justify-items: start; padding: clamp(50px,8vw,120px); }
.about-image-statement h2 { font-size: clamp(46px,5.5vw,76px); line-height: .88; margin: 21px 0 27px; }
.about-image-statement p:not(.eyebrow) { line-height: 1.75; margin: 0; max-width: 390px; }
.about-image-statement .button { margin-top: 35px; }
.about-editor-note { border-top: 1px solid rgba(0,39,44,.16); display: grid; gap: 55px; grid-template-columns: .35fr .65fr; margin: 0 max(7vw,32px); padding: 72px 0; }
.about-editor-content, .care-editor-content, .contact-editor-content { line-height: 1.75; max-width: 680px; }
.about-editor-content h2, .about-editor-content h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 34px; font-weight: 400; line-height: 1; }

.contact-hero { background: #e9e4d8; padding: clamp(70px,10vw,142px) max(7vw,32px) clamp(68px,9vw,120px); }
.contact-hero h1 { font-size: clamp(62px,8vw,122px); line-height: .82; margin: 23px 0 31px; }
.contact-hero > p:last-child { font-size: 17px; line-height: 1.75; margin: 0; max-width: 530px; }
.contact-hub { display: grid; grid-template-columns: minmax(0,.72fr) minmax(410px,1.28fr); margin: 0 max(7vw,32px); }
.contact-direct { border-right: 1px solid rgba(0,39,44,.17); padding: 70px clamp(30px,5vw,80px) 80px 0; }
.contact-method { border-bottom: 1px solid rgba(0,39,44,.16); display: grid; gap: 10px; padding: 24px 0; }
.contact-method span { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.contact-method a, .contact-method strong { color: var(--bloodwine,#00272c); font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(24px,2.5vw,34px); font-weight: 400; line-height: 1; text-decoration: none; }
.contact-method small { color: rgba(0,39,44,.65); font-size: 13px; line-height: 1.5; }
.contact-response-note { align-items: start; display: flex; gap: 12px; margin-top: 29px; }
.contact-response-note span { background: var(--sunflare,#e1ff51); border-radius: 99px; height: 8px; margin-top: 5px; width: 8px; }
.contact-response-note p { font-size: 13px; line-height: 1.65; margin: 0; }
.contact-form-panel { background: var(--bloodwine,#00272c); color: var(--ivory,#fbf8f0); margin: 48px 0 48px clamp(35px,7vw,110px); padding: clamp(40px,6vw,75px); }
.contact-form-panel .eyebrow { color: var(--sunflare,#e1ff51); }
.contact-form-panel h2 { font-size: clamp(42px,5vw,65px); line-height: .9; margin: 21px 0 38px; }
.contact-form-panel form { display: grid; gap: 22px; }
.contact-form-row { display: grid; gap: 18px; grid-template-columns: 1fr 1fr; }
.contact-form-panel label { color: rgba(251,248,240,.82); display: grid; font-size: 11px; font-weight: 700; gap: 9px; letter-spacing: .1em; text-transform: uppercase; }
.contact-form-panel input, .contact-form-panel select, .contact-form-panel textarea { background: transparent; border: 0; border-bottom: 1px solid rgba(251,248,240,.45); border-radius: 0; color: var(--ivory,#fbf8f0); font: 15px/1.5 inherit; outline: 0; padding: 9px 0; }
.contact-form-panel select { color-scheme: dark; }
.contact-form-panel textarea { min-height: 110px; resize: vertical; }
.contact-form-panel input:focus, .contact-form-panel select:focus, .contact-form-panel textarea:focus { border-color: var(--sunflare,#e1ff51); }
.contact-form-note { color: rgba(251,248,240,.62); font-size: 12px; line-height: 1.5; margin: -5px 0 0; }
.contact-form-panel .button { background: var(--sunflare,#e1ff51); color: var(--bloodwine,#00272c); margin-top: 5px; }
.contact-feedback { font-size: 13px; line-height: 1.5; margin: 0; min-height: 20px; }
.contact-feedback[data-state="success"] { color: var(--sunflare,#e1ff51); }
.contact-feedback[data-state="error"] { color: #ffd3cc; }
.contact-faq { background: var(--bloodwine,#00272c); color: var(--ivory,#fbf8f0); display: grid; gap: 9vw; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); padding: clamp(65px,9vw,126px) max(7vw,32px); }
.contact-faq .eyebrow { color: var(--sunflare,#e1ff51); }
.contact-faq h2 { font-size: clamp(45px,5vw,72px); line-height: .9; margin: 21px 0 0; }
.contact-faq-list { border-top: 1px solid rgba(251,248,240,.28); }
.contact-faq details { border-bottom: 1px solid rgba(251,248,240,.28); padding: 22px 0; }
.contact-faq summary { cursor: pointer; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 28px; line-height: 1; list-style: none; padding-right: 35px; position: relative; }
.contact-faq summary::-webkit-details-marker { display: none; }
.contact-faq summary::after { content: '+'; font-family: Arial, sans-serif; font-size: 22px; font-weight: 300; position: absolute; right: 0; top: 0; }
.contact-faq details[open] summary::after { content: '–'; }
.contact-faq details p { color: rgba(251,248,240,.75); line-height: 1.7; margin: 17px 38px 0 0; }
.contact-editor-content { margin: 70px max(7vw,32px); }

.care-hero { align-items: end; background: var(--bloodwine,#00272c); color: var(--ivory,#fbf8f0); display: grid; grid-template-columns: minmax(0,1.5fr) minmax(280px,.5fr); min-height: 615px; padding: clamp(65px,9vw,130px) max(7vw,32px) 60px; }
.care-hero .eyebrow { color: var(--sunflare,#e1ff51); }
.care-hero h1 { font-size: clamp(60px,7.6vw,116px); line-height: .8; margin: 24px 0 30px; }
.care-hero-copy > p:last-child { color: rgba(251,248,240,.77); line-height: 1.75; margin: 0; max-width: 455px; }
.care-hero-aside { border-left: 1px solid rgba(225,255,81,.55); display: grid; gap: 15px; padding: 14px 0 14px 28px; }
.care-hero-aside span { color: var(--sunflare,#e1ff51); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.care-hero-aside strong { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 30px; font-weight: 400; line-height: .95; }
.care-hero-aside p { color: rgba(251,248,240,.68); font-size: 13px; line-height: 1.6; margin: 0; }
.care-steps { display: grid; grid-template-columns: repeat(3,1fr); margin: 0 max(7vw,32px); }
.care-steps article { border-right: 1px solid rgba(0,39,44,.18); min-height: 345px; padding: 48px clamp(24px,4vw,60px) 45px 0; }
.care-steps article + article { padding-left: clamp(24px,4vw,60px); }
.care-steps article:last-child { border-right: 0; }
.care-steps h2 { font-size: clamp(34px,3.5vw,49px); line-height: .9; margin: 45px 0 23px; }
.care-steps p { font-size: 14px; line-height: 1.7; margin: 0; max-width: 295px; }
.care-focus { background: #e9e4d8; display: grid; gap: 7vw; grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr); padding: clamp(65px,9vw,125px) max(7vw,32px); }
.care-focus h2 { font-size: clamp(49px,5.6vw,80px); line-height: .87; margin: 22px 0 25px; }
.care-focus-copy > p:last-child { line-height: 1.75; margin: 0; max-width: 330px; }
.care-category-grid { align-content: start; display: grid; grid-template-columns: 1fr 1fr; }
.care-category-grid a { background: rgba(251,248,240,.56); border-bottom: 1px solid rgba(0,39,44,.17); border-right: 1px solid rgba(0,39,44,.17); color: var(--bloodwine,#00272c); display: grid; gap: 35px; min-height: 195px; padding: 21px; text-decoration: none; transition: background .2s cubic-bezier(.23,1,.32,1), color .2s cubic-bezier(.23,1,.32,1); }
.care-category-grid a:nth-child(2n) { border-right: 0; }
.care-category-grid a:hover, .care-category-grid a:focus-visible { background: var(--bloodwine,#00272c); color: var(--ivory,#fbf8f0); }
.care-category-grid span { color: #527772; font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.care-category-grid a:hover span, .care-category-grid a:focus-visible span { color: var(--sunflare,#e1ff51); }
.care-category-grid strong { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 34px; font-weight: 400; line-height: .93; }
.care-category-grid small { align-items: center; display: flex; font-size: 11px; justify-content: space-between; letter-spacing: .04em; }
.care-category-grid b { font-size: 17px; }
.care-callout { align-items: end; display: grid; gap: 12vw; grid-template-columns: 1fr 1fr; margin: 0 max(7vw,32px); padding: clamp(70px,10vw,135px) 0; }
.care-callout h2 { font-size: clamp(47px,5.4vw,79px); line-height: .87; margin: 22px 0 0; }
.care-callout > p { border-left: 1px solid rgba(0,39,44,.2); line-height: 1.8; margin: 0; padding-left: 28px; }
.care-editor-content { border-top: 1px solid rgba(0,39,44,.16); margin: 0 max(7vw,32px); padding: 50px 0 75px; }

@media (max-width: 760px) {
  .about-hero, .about-manifesto, .about-image-statement, .contact-hub, .contact-faq, .care-hero, .care-focus, .care-callout { grid-template-columns: 1fr; }
  .about-hero { min-height: 0; }
  .about-hero-copy { padding: 67px 22px 55px; }
  .about-hero-copy h1, .contact-hero h1, .care-hero h1 { font-size: clamp(55px,16vw,75px); }
  .about-hero-image { min-height: 420px; }
  .about-manifesto { gap: 42px; padding: 68px 22px; }
  .about-manifesto h2 { font-size: clamp(45px,13vw,61px); }
  .about-manifesto-copy { padding-left: 20px; }
  .about-principles, .care-steps { display: block; padding: 0 22px; }
  .about-principle, .about-principle + .about-principle, .care-steps article, .care-steps article + article { border-bottom: 1px solid rgba(0,39,44,.18); border-right: 0; min-height: 0; padding: 35px 0; }
  .about-principle:last-child, .care-steps article:last-child { border-bottom: 0; }
  .about-image-statement figure { min-height: 420px; }
  .about-image-statement > div { padding: 58px 22px; }
  .about-editor-note { display: grid; gap: 21px; grid-template-columns: 1fr; margin: 0 22px; padding: 55px 0; }
  .contact-hero { padding: 68px 22px 60px; }
  .contact-hub { margin: 0 22px; }
  .contact-direct { border-bottom: 1px solid rgba(0,39,44,.17); border-right: 0; padding: 52px 0; }
  .contact-form-panel { margin: 0 -22px; padding: 55px 22px; }
  .contact-form-row { grid-template-columns: 1fr; }
  .contact-faq { gap: 40px; padding: 65px 22px; }
  .contact-editor-content { margin: 55px 22px; }
  .care-hero { align-items: start; gap: 52px; min-height: 0; padding: 68px 22px 55px; }
  .care-hero-aside { padding-left: 20px; }
  .care-focus { gap: 42px; padding: 65px 22px; }
  .care-category-grid a { min-height: 165px; padding: 17px; }
  .care-category-grid strong { font-size: 28px; }
  .care-callout { gap: 35px; margin: 0 22px; padding: 68px 0; }
  .care-callout > p { padding-left: 20px; }
  .care-editor-content { margin: 0 22px; }
}
@media (prefers-reduced-motion: reduce) { .servicerite-motion [data-reveal] { opacity: 1; transform: none; transition: none; } }
