/* WILLCARE / 2026-10-07: brand details, accessible buttons and privacy page. */
.brand-loader[hidden] { display:none; }
.brand-loader { position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#f9fcfd;pointer-events:none;opacity:1;transition:opacity .34s ease,visibility .34s; }
.brand-loader:before { content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 24% 34%,#e9f6fc 0,transparent 48%),radial-gradient(ellipse at 75% 76%,#fff3e6 0,transparent 42%); }
.brand-loader:after { content:'';position:absolute;bottom:-52vw;left:-25%;width:150%;height:60vw;border:1px solid #c3e3ef;border-radius:50%;transform:rotate(-8deg); }
.brand-loader.is-leaving { opacity:0;visibility:hidden; }
.loader-brand { position:relative;z-index:1;display:flex;align-items:center;flex-direction:column;animation:brand-arrive .5s ease both; }
.loader-logo { width:104px;height:104px;border-radius:50%;display:grid;place-items:center;background:white;box-shadow:0 10px 45px #123f6109; }
.loader-logo img { width:90px;height:90px;object-fit:contain;border-radius:50%; }
.loader-wordmark { font:700 34px/1.15 Arial,sans-serif;letter-spacing:.13em;margin:24px 0 0;color:var(--navy);padding-left:.13em; }
.loader-wordmark small { display:block;font:700 9px/1.5 Arial,sans-serif;letter-spacing:.38em;text-align:center;margin-top:12px; }
.loader-line { margin:28px 0 15px;width:58px;height:2px;background:var(--orange);transform-origin:left;animation:brand-line .6s ease both; }
.loader-message { font-size:12px;letter-spacing:.14em;color:#55778b; }
@keyframes brand-arrive { from { opacity:0;transform:translateY(7px); } to { opacity:1;transform:translateY(0); } }
@keyframes brand-line { from { transform:scaleX(0); } to { transform:scaleX(1); } }

.header-recruit { gap:10px;border-radius:999px;padding:10px 14px 10px 10px;border:1px solid #eb7214;background:linear-gradient(120deg,#ffa74d,var(--orange));box-shadow:0 4px 14px #dd751420;transition:transform .2s,box-shadow .2s; }
.header-recruit .recruit-mark { width:31px;height:31px;border-radius:50%;background:#ffffff43;display:grid;place-items:center;flex:none; }
.header-recruit .recruit-mark .icon { display:block;width:21px;height:21px; }
.header-recruit .recruit-label { line-height:1.25;font-size:13px; }
.header-recruit .recruit-label small { display:block;font:700 8px/1.4 Arial,sans-serif;letter-spacing:.12em;margin-bottom:3px; }
.header-recruit .recruit-arrow { width:26px;height:26px;display:grid;place-items:center;background:var(--navy);color:white;border-radius:50%;flex:none; }
.header-recruit .recruit-arrow .icon { width:14px;height:14px;display:block; }
.recruit-cta { border-radius:999px;border:1px solid #eb7214;padding:13px 15px 13px 26px;gap:24px;box-shadow:0 5px 18px #f4812021;background:linear-gradient(120deg,#ffa74d,var(--orange))!important;transition:transform .2s,box-shadow .2s; }
.cta-arrow { width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:white;flex:none; }
.cta-arrow svg { display:block;width:18px;height:18px; }

.contact-grid { gap:22px;margin-top:38px; }
.contact h2,.contact p { text-wrap:balance; }
.contact-button { position:relative;overflow:hidden;gap:15px;padding:22px 20px;min-height:118px;border-radius:13px;box-shadow:0 7px 24px #062b4438;transition:transform .2s,box-shadow .2s;isolation:isolate;border:1px solid #ffffff26; }
.contact-button:after { content:'';position:absolute;width:165px;height:165px;border-radius:50%;right:-72px;top:-103px;border:1px solid #123f6112;z-index:-1; }
.contact-button.telephone { background:linear-gradient(115deg,#fff,#f0f8fb); }
.contact-button.line { background:linear-gradient(115deg,#167546,#138152); }
.contact-button.email { background:linear-gradient(115deg,#ffa747,#f48120); }
.contact-symbol { position:relative;width:54px;height:54px;flex:none;display:grid;place-items:center;border-radius:50%;background:#e5f2f8;color:var(--navy);box-shadow:inset 0 0 0 1px #123f610a; }
.contact-symbol:after { content:'';position:absolute;width:6px;height:6px;right:0;top:3px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 3px #ffffff9c; }
.contact-symbol svg { display:block;width:29px;height:29px; }
.contact-button.line .contact-symbol { color:#137348;background:#eafff0; }
.contact-button.line .contact-symbol:after { background:#a5e9bf; }
.contact-button.email .contact-symbol { background:#fff3de; }
.contact-copy { flex:1;min-width:0; }
.contact-button .contact-copy { font-size:16px;font-weight:700;white-space:normal;line-height:1.6; }
.contact-button .contact-copy small { font-size:11px;line-height:1.5;margin-bottom:7px;opacity:1;font-weight:400;white-space:nowrap; }
.contact-button .contact-phone { font-family:Arial,WC,sans-serif;font-size:20px;letter-spacing:.01em;white-space:nowrap; }
.contact-button .contact-phone small { font-family:WC,sans-serif;font-size:11px;letter-spacing:0; }
.contact-arrow { width:28px;height:28px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;flex:none;opacity:.85;transition:transform .2s; }
.contact-arrow svg { width:15px;height:15px;display:block; }
@media(hover:hover){
 .header-recruit[href]:hover,.recruit-cta[href]:hover { transform:translateY(-2px);box-shadow:0 8px 22px #f4812033; }
 .contact-button[href]:hover { transform:translateY(-3px);box-shadow:0 12px 28px #062b444f; }
 .contact-button[href]:hover .contact-arrow { transform:translateX(2px); }
}
.header-recruit:focus-visible,.recruit-cta:focus-visible,.contact-button:focus-visible { outline:3px solid #43b3dc;outline-offset:5px; }
.contact-button[aria-disabled="true"] { cursor:default; }
.local-service-note { max-width:760px;margin:28px auto 0!important;color:var(--muted);font-size:15px!important;line-height:2!important; }

.privacy-hero h1 { font-size:36px; }
.policy-container { max-width:920px; }
.policy-intro { padding-bottom:42px;border-bottom:1px solid var(--line); }
.policy-intro p:not(.eyebrow) { font-size:22px;line-height:1.9;color:var(--navy);font-weight:700; }
.policy-section { padding:36px 0;border-bottom:1px solid var(--line);scroll-margin-top:28px; }
.policy-section h2 { display:flex;align-items:baseline;gap:20px;font-size:21px;line-height:1.7;margin-bottom:16px; }
.policy-section h2>span { color:var(--orange);font:700 12px/1 Arial,sans-serif;letter-spacing:.12em;flex:none; }
.policy-copy { padding-left:40px;font-size:16px;line-height:2; }
.policy-copy p { color:#526b7c;font-size:inherit;line-height:inherit; }
.policy-copy ul { color:#526b7c;margin:14px 0;padding-left:22px; }
.policy-copy li { margin:6px 0; }
.policy-contact { background:#f1f8fb;padding:30px;border:0;border-radius:10px;margin-top:30px; }
.policy-contact dl { margin:0; }
.policy-contact dl>div { display:grid;grid-template-columns:115px minmax(0,1fr);gap:20px;padding:10px 0; }
.policy-contact dt { font-size:13px;font-weight:700;color:var(--navy); }
.policy-contact dd { margin:0;color:#526b7c;overflow-wrap:anywhere; }
.policy-contact .text-link { margin-top:20px;gap:20px; }
.policy-date { margin-top:25px;text-align:right;font-size:12px; }
.form-policy-link { display:block;color:var(--blue);text-decoration:underline;text-underline-offset:4px;margin-top:8px; }
.office-card.orange { --office-accent:var(--orange); }
.service-location { background:var(--sand);padding:44px 0; }
.service-location .eyebrow { font-size:11px;margin-bottom:8px; }
.service-location h2 { font-size:23px;margin-bottom:22px; }
.location-grid { display:flex;gap:28px; }
.location-card { display:flex;gap:20px;align-items:flex-start;flex:1;min-width:0; }
.location-symbol { width:48px;height:48px;border-radius:50%;background:white;display:grid;place-items:center;color:var(--accent);flex:none; }
.location-symbol svg { width:25px;height:25px; }
.location-card h3 { font-size:17px;line-height:1.7; }
.location-card p { font-size:14px;line-height:1.9;margin-top:8px; }
.location-links { display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:10px;font-size:13px;color:var(--navy); }
.location-links a { text-decoration:underline;text-underline-offset:4px; }
@media(max-width:1360px) and (min-width:1181px){
 .header-recruit { gap:7px;padding:9px 10px 9px 8px; }
 .header-recruit .recruit-mark { width:26px;height:26px; }
 .header-recruit .recruit-label { font-size:12px; }
 .header-recruit .recruit-arrow { width:22px;height:22px; }
}
@media(max-width:1100px){
 .contact-grid { gap:14px; }
 .contact-button { gap:11px;padding:21px 16px; }
 .contact-symbol { width:43px;height:43px; }
 .contact-symbol svg { width:25px;height:25px; }
 .contact-button .contact-copy { font-size:14px; }
 .contact-button .contact-phone { font-size:17px; }
 .contact-button .contact-copy small { font-size:10px; }
 .contact-arrow { width:24px;height:24px; }
}
@media(max-width:760px){
 .contact-grid { gap:14px;max-width:460px;margin-left:auto;margin-right:auto; }
 .contact-button { padding:20px 22px;min-height:103px;gap:18px; }
 .contact-symbol { width:53px;height:53px; }
 .contact-symbol svg { width:29px;height:29px; }
 .contact-button .contact-copy { font-size:16px; }
 .contact-button .contact-phone { font-size:22px; }
 .contact-button .contact-copy small { font-size:11px; }
 .contact-arrow { width:28px;height:28px; }
 .header-recruit { padding:9px 10px 9px 9px;gap:8px;min-height:44px; }
 .header-recruit .recruit-mark { display:none; }
 .header-recruit .recruit-label { font-size:11px; }
 .header-recruit .recruit-label small { font-size:7px; }
 .header-recruit .recruit-arrow { width:22px;height:22px; }
 .header-recruit .recruit-arrow .icon { display:block;width:13px;height:13px; }
 .privacy-hero h1 { font-size:26px;letter-spacing:0; }
 .policy-intro { padding-bottom:30px; }
 .policy-intro p:not(.eyebrow) { font-size:19px; }
 .policy-section { padding:28px 0; }
 .policy-section h2 { font-size:18px;gap:12px; }
 .policy-copy { padding-left:26px;font-size:15px;line-height:2; }
 .policy-contact { padding:24px 20px; }
 .policy-contact .policy-copy { padding-left:0; }
 .policy-contact dl>div { display:block;padding:10px 0; }
 .policy-contact dt { margin-bottom:4px; }
 .local-service-note { font-size:14px!important;padding:0 24px; }
 .local-service-note .desktop-break { display:none; }
 .location-grid { flex-direction:column;gap:24px; }
 .location-card { gap:16px; }
 .service-location { padding:35px 0; }
}
@media(max-width:360px){
 .site-header { padding-left:12px;padding-right:12px;gap:8px; }
 .site-header .brand { gap:6px; }
 .site-header .brand>span { font-size:17px; }
 .site-header .brand img { width:34px;height:34px; }
 .header-recruit { padding:7px 8px;gap:6px; }
 .header-recruit .recruit-label { font-size:10px; }
 .header-recruit .recruit-arrow { width:20px;height:20px; }
 .contact-button { padding:18px 15px;gap:12px; }
 .contact-symbol { width:45px;height:45px; }
 .contact-button .contact-copy { font-size:14px; }
 .contact-button .contact-phone { font-size:17px;letter-spacing:0; }
 .contact-button .contact-copy small { font-size:10px; }
 .contact-arrow { width:24px;height:24px; }
 .privacy-hero h1 { font-size:23px; }
}
@media(prefers-reduced-motion:reduce){
 .brand-loader { display:none!important; }
 .header-recruit,.recruit-cta,.contact-button,.contact-arrow { transition:none; }
 .header-recruit[href]:hover,.recruit-cta[href]:hover,.contact-button[href]:hover { transform:none; }
}
