:root{
  --green:#ee8a2e;
  --green-2:#d96f18;
  --green-3:#fff0df;
  --leaf:#243b63;
  --orange:#243b63;
  --orange-2:#eaf0f8;
  --yellow:#ffd9a0;
  --cream:#fffaf5;
  --cream-2:#f8efe6;
  --beige:#ead9c6;
  --blue:#f7ebdf;
  --red:#c00;
  --ink:#263044;
  --muted:#667083;
  --line:#eadbcc;
  --white:#fff;
  --shadow:0 18px 44px rgba(217,111,24,.10);
  --shadow-soft:0 10px 28px rgba(217,111,24,.07);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,Meiryo,sans-serif;color:var(--ink);background:var(--cream);line-height:1.82;letter-spacing:.035em;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.container{width:min(1120px,calc(100% - 44px));margin:auto}
.narrow{width:min(900px,calc(100% - 44px));margin:auto}

/* Header */
.site-header{position:sticky;top:0;background:rgba(255,250,240,.88);backdrop-filter:blur(16px);z-index:50;border-bottom:1px solid rgba(229,216,197,.65)}
.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:flex;align-items:center;gap:12px;font-weight:900;color:var(--green-2);line-height:1.2;letter-spacing:.04em}
.logo-mark{width:46px;height:46px;border-radius:50% 50% 50% 14px;background:linear-gradient(135deg,#ee8a2e,#f4a85f);position:relative;box-shadow:0 10px 22px rgba(217,111,24,.16);transform:rotate(-8deg)}
.logo-mark:after{content:"";position:absolute;inset:11px;border:3px solid rgba(255,255,255,.85);border-radius:50%;border-left-color:transparent;transform:rotate(38deg)}
.logo small{display:block;color:var(--muted);font-weight:800;font-size:12px;margin-top:2px}
.nav{display:flex;align-items:center;gap:7px;font-weight:900;font-size:14px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px;box-shadow:var(--shadow-soft)}
.nav a{position:relative;padding:10px 12px;border-radius:999px;color:var(--green-2)}
.nav a:hover{background:var(--green-3);color:var(--green)}
.header-cta{background:var(--orange)!important;color:#fff!important;padding-inline:18px!important;box-shadow:0 8px 18px rgba(242,139,48,.26)}
.menu-btn{display:none;border:0;background:var(--green);color:#fff;border-radius:999px;padding:10px 15px;font-weight:900;letter-spacing:.08em}

/* Hero */
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 16% 18%,rgba(247,211,91,.36) 0 12%,transparent 28%),linear-gradient(115deg,#fffaf0 0%,#fffaf0 56%,#e3f2ea 56%,#e3f2ea 100%)}
.hero:before{content:"";position:absolute;left:-100px;bottom:-180px;width:420px;height:420px;background:rgba(132,189,87,.2);border-radius:52% 48% 58% 42%;transform:rotate(22deg)}
.hero:after{content:"";position:absolute;right:-140px;top:-120px;width:430px;height:430px;background:rgba(242,139,48,.2);border-radius:55% 45% 45% 55%;transform:rotate(-18deg)}
.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.02fr .98fr;gap:54px;align-items:center;padding:88px 0 80px}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-weight:900;color:var(--green-2);background:#fff;padding:8px 16px;border-radius:999px;border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.eyebrow:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--orange);box-shadow:14px 0 0 var(--leaf)}
h1,h2,h3{line-height:1.42;margin:0;color:var(--green-2)}
h1{font-size:clamp(36px,5.4vw,64px);letter-spacing:.05em;margin-top:22px;font-weight:900}
h1 strong{color:var(--orange)}
.hero-lead{font-size:18px;font-weight:800;margin:24px 0 0;color:#3d4741;max-width:660px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border-radius:999px;font-weight:900;border:2px solid transparent;transition:.2s;letter-spacing:.04em;line-height:1.35}
.btn:after{content:"\203A";font-size:20px;line-height:1;transform:translateY(-1px)}
.btn-primary{background:var(--orange);color:#fff;box-shadow:0 10px 22px rgba(242,139,48,.24)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(242,139,48,.28)}
.btn-secondary{background:#fff;color:var(--green-2);border-color:var(--green);box-shadow:var(--shadow-soft)}
.btn-secondary:hover{background:var(--green);color:#fff}
.hero-card{background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.94);box-shadow:var(--shadow);border-radius:42px;padding:24px;position:relative;overflow:hidden}
.hero-card:before{content:"Care for your life";position:absolute;left:24px;top:16px;color:rgba(217,111,24,.08);font-family:Georgia,serif;font-size:46px;font-style:italic;white-space:nowrap;z-index:0}
.hero-photo{height:380px;border-radius:34px;background:linear-gradient(135deg,#ffe5c8,#fff4e8);position:relative;overflow:hidden;isolation:isolate}
.hero-photo:before{content:"";position:absolute;right:9%;bottom:0;width:54%;height:73%;background:linear-gradient(180deg,#f6c19f,#f0a46d);border-radius:48% 48% 22px 22px;z-index:2}
.hero-photo:after{content:"";position:absolute;left:10%;bottom:10%;width:58%;height:38%;background:#fff;border-radius:38px 38px 20px 20px;box-shadow:0 12px 28px rgba(0,0,0,.08);z-index:1}
.person{position:absolute;display:block}
.person.caregiver{right:27%;top:17%;width:132px;height:190px;background:linear-gradient(180deg,#9edb74,#5da74f);border-radius:70px 70px 24px 24px;z-index:4;box-shadow:0 10px 22px rgba(0,0,0,.08)}
.person.caregiver:before{content:"";position:absolute;top:-33px;left:42px;width:50px;height:50px;background:#4d372f;border-radius:50%}
.person.caregiver:after{content:"";position:absolute;top:28px;left:-28px;width:54px;height:18px;background:#f0b995;border-radius:999px;transform:rotate(-24deg)}
.person.user{left:15%;bottom:25%;width:120px;height:92px;background:#e7cab4;border-radius:52px 52px 20px 20px;z-index:5}
.support-badge{position:absolute;right:18px;top:18px;width:138px;height:138px;background:var(--yellow);border-radius:50%;display:grid;place-items:center;text-align:center;font-weight:900;color:var(--green-2);line-height:1.45;z-index:6;box-shadow:0 12px 24px rgba(247,211,91,.3)}
.hero-points{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px;position:relative;z-index:2}
.point{background:#fff;border-radius:18px;padding:15px;text-align:center;font-weight:900;color:var(--green-2);font-size:14px;border:1px solid var(--line);box-shadow:0 8px 18px rgba(31,79,58,.06)}

/* Sections */
.section{padding:92px 0;position:relative}
.section.white{background:#fff}
.section.white:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 7% 10%,rgba(132,189,87,.11),transparent 18%),radial-gradient(circle at 92% 82%,rgba(242,139,48,.08),transparent 20%);pointer-events:none}
.section.blue{background:linear-gradient(135deg,#fff5ea,#ffe7ce);color:#fff;overflow:hidden}
.section.blue:before{content:"";position:absolute;right:-120px;top:-120px;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.08)}
.section.blue h2,.section.blue h3{color:#fff}
.section-title{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:38px;position:relative;z-index:1}
.section-title h2{font-size:clamp(29px,3.5vw,44px);letter-spacing:.05em;font-weight:900;position:relative}
.section-title h2:after{content:"";display:block;width:64px;height:6px;border-radius:999px;background:linear-gradient(90deg,var(--orange),var(--leaf));margin-top:14px}
.section-title p{margin:0;color:var(--muted);max-width:560px;font-weight:700}
.blue .section-title p{color:rgba(255,255,255,.82)}
.grid{display:grid;gap:24px;position:relative;z-index:1}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow-soft);position:relative;overflow:hidden}
.card:before{content:"";position:absolute;right:-30px;top:-30px;width:96px;height:96px;background:var(--green-3);border-radius:50%;opacity:.75}
.card h3{font-size:21px;margin-bottom:10px;position:relative;z-index:1;color:var(--green-2)}
.card p{margin:0;color:var(--muted);position:relative;z-index:1}
.section.blue .card{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.2);box-shadow:none;color:#fff;backdrop-filter:blur(8px)}
.section.blue .card:before{background:rgba(255,255,255,.1)}
.section.blue .card h3,.section.blue .card p{color:#fff}
.icon{width:60px;height:60px;border-radius:22px;display:grid;place-items:center;font-size:25px;font-weight:900;margin-bottom:17px;position:relative;z-index:1}
.worry-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;position:relative;z-index:1}
.check{display:flex;align-items:flex-start;gap:12px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:17px 18px;font-weight:900;box-shadow:0 8px 20px rgba(31,79,58,.05)}
.check:before{content:"\2713";color:#fff;background:var(--green);width:25px;height:25px;flex:0 0 25px;border-radius:50%;display:grid;place-items:center;font-size:15px;line-height:1;margin-top:2px}
.service-main{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.service-card{border-radius:34px;padding:34px;background:#fff;box-shadow:var(--shadow);border:1px solid var(--line);position:relative;overflow:hidden}
.service-card:after{content:"";position:absolute;right:-70px;bottom:-80px;width:210px;height:210px;border-radius:50%;background:rgba(132,189,87,.14)}
.service-card.primary{background:linear-gradient(135deg,#ee8a2e,#f4a85f);color:#fff;border-color:transparent}
.service-card.primary:after{background:rgba(255,255,255,.1)}
.service-card.primary h3,.service-card.primary p{color:#fff}
.service-card h3{font-size:31px;letter-spacing:.04em;position:relative;z-index:1}
.service-card p{position:relative;z-index:1;color:var(--muted)}
.service-card .btn,.tag-list{position:relative;z-index:1}
.tag-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.tag{background:#eef7f1;color:var(--green-2);padding:7px 13px;border-radius:999px;font-weight:900;font-size:13px;border:1px solid rgba(15,107,79,.12)}
.primary .tag{background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.22)}
.flow{counter-reset:step;display:grid;gap:16px;position:relative;z-index:1}
.flow-item{counter-increment:step;display:grid;grid-template-columns:72px 1fr;gap:18px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow-soft)}
.flow-item img{
	display: block;
    margin: auto;
}
.cta-band{background:linear-gradient(135deg,#ee8a2e,#f4a85f);color:#fff;border-radius:38px;padding:46px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;box-shadow:var(--shadow);position:relative;overflow:hidden}
.cta-band:after{content:"";position:absolute;right:-100px;bottom:-120px;width:300px;height:300px;background:rgba(247,211,91,.18);border-radius:50%}
.cta-band h2{color:#fff;font-size:33px;position:relative;z-index:1}
.cta-band p,.cta-band>div{position:relative;z-index:1}
.cta-band p{margin:10px 0 0;color:rgba(255,255,255,.86)}
.phone{font-size:34px;font-weight:900;line-height:1;color:#fff;letter-spacing:.03em}
.sub{font-size:13px;color:rgba(255,255,255,.78);font-weight:900}

/* Lower pages */
.page-hero{background:radial-gradient(circle at 15% 15%,rgba(247,211,91,.28),transparent 20%),linear-gradient(135deg,#fffaf0,#e8f4ed);padding:76px 0;border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.page-hero:after{content:"";position:absolute;right:-120px;top:-140px;width:360px;height:360px;background:rgba(242,139,48,.16);border-radius:54% 46% 58% 42%}
.page-hero h1{font-size:clamp(34px,4vw,56px);position:relative;z-index:1}
.breadcrumb{font-size:13px;color:var(--muted);font-weight:900;margin-bottom:10px;position:relative;z-index:1}
.lead-box{background:#fff;border-left:8px solid var(--orange);border-radius:24px;padding:28px;box-shadow:var(--shadow-soft);position:relative;z-index:1}
.table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:24px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.table th,.table td{padding:19px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.table tr:last-child th,.table tr:last-child td{border-bottom:0}
.table th{width:28%;background:#eef4fb;color:var(--green-2);font-weight:900}
.faq{display:grid;gap:14px;position:relative;z-index:1}
.faq details{background:#fff;border:1px solid var(--line);border-radius:20px;padding:19px 22px;box-shadow:0 8px 20px rgba(31,79,58,.04)}
.faq summary{font-weight:900;cursor:pointer;color:var(--green-2)}
.faq p{margin:12px 0 0;color:var(--muted)}
.contact-box{background:#fff;border-radius:28px;padding:32px;border:1px solid var(--line);box-shadow:var(--shadow);position:relative;z-index:1}
.form{display:grid;gap:14px}
.form label{font-weight:900;color:var(--green-2)}
.form input,.form textarea,.form select{width:100%;padding:13px 14px;border:1px solid #d7c9b6;border-radius:14px;font:inherit;background:#fff}
.form input:focus,.form textarea:focus,.form select:focus{outline:3px solid rgba(238,138,46,.22);border-color:var(--green)}
.form textarea{min-height:140px}
.notice{font-size:13px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:0 8px 20px rgba(31,79,58,.04)}
.job-link{display:flex;align-items:center;justify-content:space-between;gap:22px;background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.job-link:before{content:"";position:absolute;left:-60px;bottom:-70px;width:180px;height:180px;background:var(--green-3);border-radius:50%}
.job-link>*{position:relative;z-index:1}
.job-link strong{font-size:23px;color:var(--green-2)}

/* Footer */
.site-footer{background:var(--green-2);color:#fff;padding:54px 0 28px;position:relative;overflow:hidden}
.site-footer:after{content:"";position:absolute;right:-120px;bottom:-140px;width:350px;height:350px;background:rgba(255,255,255,.06);border-radius:50%}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:32px;position:relative;z-index:1}
.footer-grid a{display:block;color:rgba(255,255,255,.8);margin:9px 0;font-weight:700}
.footer-grid a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.16);margin-top:30px;padding-top:20px;color:rgba(255,255,255,.66);font-size:13px;position:relative;z-index:1}

@media (max-width:980px){
  .nav{display:none;position:fixed;top:72px;left:0;right:0;width:100%;height:auto;max-height:calc(100dvh - 72px - 1.5rem);background:rgba(255,255,255,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:1.5rem;box-shadow:none;flex-direction:column;align-items:stretch;border-radius:0;z-index:40;overflow-y:auto}.nav.open{display:flex}.menu-btn{display:block}.nav a{display:block}.hero-inner,.service-main,.grid-2,.grid-3,.grid-4,.footer-grid,.cta-band{grid-template-columns:1fr}.hero-inner{padding:58px 0}.hero-photo{height:320px}.worry-list{grid-template-columns:1fr}.section-title{display:block}.section-title p{margin-top:14px}.phone{font-size:28px}.header-inner{height:72px}.logo small{display:none}.cta-band{gap:22px}
}
@media (max-width:560px){
  .container,.narrow{width:min(100% - 28px,1120px)}.hero-actions{display:grid}.btn{width:100%}.hero-points{grid-template-columns:1fr}.section{padding:62px 0}.card,.service-card,.cta-band,.contact-box{padding:23px}.table th,.table td{display:block;width:100%}.flow-item{grid-template-columns:1fr}.support-badge{width:112px;height:112px;font-size:13px}.job-link{display:block}.job-link .btn{margin-top:16px}.hero-card{border-radius:30px;padding:16px}.hero-photo{height:280px;border-radius:24px}h1{font-size:35px}.section-title h2{font-size:28px}
}

/* Decorative round blobs removed */
.hero:before,
.hero:after,
.eyebrow:before,
.section.white:before,
.section.blue:before,
.card:before,
.service-card:after,
.cta-band:after,
.page-hero:after,
.job-link:before,
.site-footer:after{
  display:none !important;
}

.hero{
  background:linear-gradient(115deg,#fffaf5 0%,#fffaf5 56%,#fff0df 56%,#fff0df 100%);
}

.section.white,
.page-hero{
  background:linear-gradient(135deg,#fffaf5,#fff0df);
}

.section.blue{
  background:linear-gradient(135deg,#ee8a2e,#d96f18);
}


/* Light orange ? navy adjustment */
.section.blue{
  background:linear-gradient(135deg,#fff5ea,#ffe3c4) !important;
  color:var(--ink);
}
.section.blue h2,
.section.blue h3{
  color:var(--orange);
}
.section.blue .section-title p{
  color:var(--muted);
}
.section.blue .card{
  background:#fff;
  border-color:var(--line);
  box-shadow:var(--shadow-soft);
  color:var(--ink);
}
.section.blue .card h3{
  color:var(--orange);
}
.section.blue .card p{
  color:var(--muted);
}
.service-card.primary{
  background:linear-gradient(135deg,#ee8a2e,#f4a85f);
}
.service-card.primary h3,
.service-card.primary p{
  color:#fff;
}
.btn-primary,
.header-cta{
  background:var(--orange)!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(36,59,99,.18);
}
.btn-secondary{
  color:var(--orange);
  border-color:var(--orange);
}
.btn-secondary:hover{
  background:var(--orange);
  color:#fff;
}
.cta-band{
  background:linear-gradient(135deg,#ee8a2e,#f4a85f);
}
.logo,
.nav a,
h1,h2,h3,
.card h3,
.faq summary,
.form label,
.job-link strong{
  color:var(--orange);
}
.logo-mark,
.menu-btn,
.check:before{
  background:var(--orange);
}
.section-title h2:after{
  background:linear-gradient(90deg,#ee8a2e,#243b63);
}
.tag{
  background:#fff2e4;
  color:var(--orange);
  border-color:#f3d7bd;
}
.primary .tag{
  background:rgba(255,255,255,.18);
  color:#fff;
  border-color:rgba(255,255,255,.28);
}
.table th{
  background:#fff1e3;
  color:var(--orange);
}
.lead-box{
  border-left-color:var(--green);
}
.page-hero{
  background:linear-gradient(135deg,#fffaf5,#fff0df);
}
.hero{
  background:linear-gradient(115deg,#fffaf5 0%,#fffaf5 56%,#fff0df 56%,#fff0df 100%);
}


/* White ? pale orange contrast refinement */
:root{
  --green:#ee8a2e;
  --green-2:#d96f18;
  --green-3:#fff3e6;
  --leaf:#243b63;
  --orange:#243b63;
  --orange-2:#eef3fa;
  --yellow:#ffd9a0;
  --cream:#fffaf5;
  --cream-2:#fff2e5;
  --beige:#ead9c6;
  --blue:#fff6ed;
  --ink:#263044;
  --muted:#667083;
  --line:#ecdccd;
  --white:#fff;
  --shadow:0 18px 44px rgba(217,111,24,.09);
  --shadow-soft:0 10px 28px rgba(217,111,24,.06);
  --radius:28px;
}

/* FV???????????????????? */
.hero{
  background:linear-gradient(115deg,#ffffff 0%,#ffffff 56%,#fff2e5 56%,#fff2e5 100%) !important;
}

/* FV??????????????????????? */
.section.blue{
  background:linear-gradient(135deg,#ee8a2e,#f39a42) !important;
  color:#fff !important;
}
.section.blue h2,
.section.blue h3,
.section.blue .section-title p,
.section.blue .card h3,
.section.blue .card p{
  color:#fff !important;
}
.section.blue .card{
  background:rgba(255,255,255,.14) !important;
  border-color:rgba(255,255,255,.28) !important;
  color:#fff !important;
  box-shadow:none !important;
}
.section.blue .icon{
  background:#fff !important;
  color:#ee8a2e !important;
}

/* ?????????????????????? */
.section:not(.contact-hub__forms){
  background:#fffaf5;
}
.section.white{
  background:#fff !important;
}
.section.white + .section:not(.blue):not(.contact-hub__forms){
  background:#fff6ed !important;
}
.page-hero{
  background:linear-gradient(135deg,#fff,#fff3e6) !important;
}

/* ??????????????????????? */
.card,
.service-card,
.flow-item,
.faq details,
.contact-box,
.job-link,
.table,
.notice,
.check{
  background:#fff !important;
  border-color:#eadbcc !important;
}

/* ????????????????????? */
.service-card.primary{
  background:linear-gradient(135deg,#ee8a2e,#f39a42) !important;
  color:#fff !important;
}
.service-card.primary h3,
.service-card.primary p{
  color:#fff !important;
}

/* CTA??????????????? */
.cta-band{
  background:linear-gradient(135deg,#ee8a2e,#f39a42) !important;
}
.btn-primary,
.header-cta{
  background:#243b63 !important;
  color:#fff !important;
  box-shadow:0 10px 22px rgba(36,59,99,.18) !important;
}
.btn-secondary{
  background:#fff !important;
  color:#243b63 !important;
  border-color:#243b63 !important;
}
.btn-secondary:hover{
  background:#243b63 !important;
  color:#fff !important;
}

/* ?????????????????? */
.logo,
.nav a,
h1,h2,h3,
.card h3,
.faq summary,
.form label,
.job-link strong{
  color:#243b63 !important;
}
h1 strong{
  color:#ee8a2e !important;
}
.section-title h2:after{
  background:linear-gradient(90deg,#ee8a2e,#243b63) !important;
}
.logo-mark,
.menu-btn,
.check:before{
  background:#ee8a2e !important;
}
.tag{
  background:#fff2e4 !important;
  color:#243b63 !important;
  border-color:#f3d7bd !important;
}
.primary .tag{
  background:rgba(255,255,255,.18) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.28) !important;
}
.table th{
  background:#fff2e4 !important;
  color:#243b63 !important;
}
.lead-box{
  border-left-color:#ee8a2e !important;
}

/* ??????????????????????? */
.hero-photo{
  background:linear-gradient(135deg,#fff3e6,#ffffff) !important;
}


/* Flyer-tone refinement: beige + flat navy + flat orange, no navy/orange gradients */
:root{
  --green:#f06a11;          /* main orange */
  --green-2:#d95b0c;        /* deep orange */
  --green-3:#fff0e2;        /* pale orange */
  --leaf:#0b4a73;           /* navy */
  --orange:#0b4a73;         /* navy used for headings/buttons */
  --orange-2:#edf3f8;       /* pale blue */
  --yellow:#f1cd34;         /* accent yellow */
  --cream:#f3eedf;          /* beige base */
  --cream-2:#fbf8f0;        /* off white */
  --beige:#e8dec8;
  --blue:#f6f1e3;
  --ink:#2d221e;
  --muted:#655b55;
  --line:#ddd1bb;
  --white:#fff;
  --shadow:0 16px 36px rgba(11,74,115,.08);
  --shadow-soft:0 8px 24px rgba(11,74,115,.06);
}

body{
  background:var(--cream);
  color:var(--ink);
}

/* Header */
.site-header{
  background:rgba(251,248,240,.94);
  border-bottom:1px solid rgba(221,209,187,.8);
}
.logo,
.nav a,
h1,h2,h3,
.card h3,
.faq summary,
.form label,
.job-link strong{
  color:var(--leaf) !important;
}
.logo-mark,
.menu-btn,
.check:before{
  background:var(--leaf) !important;
}
.nav{
  background:#fff;
  border:1px solid var(--line);
}
.nav a:hover{
  background:#eef4f8;
  color:var(--leaf);
}
.header-cta,
.btn-primary{
  background:var(--green) !important;
  color:#fff !important;
  box-shadow:0 10px 22px rgba(240,106,17,.18) !important;
}
.btn-secondary{
  background:#fff !important;
  color:var(--leaf) !important;
  border-color:var(--leaf) !important;
}
.btn-secondary:hover{
  background:var(--leaf) !important;
  color:#fff !important;
}

/* Hero */
.hero{
  background:linear-gradient(115deg,#fbf8f0 0%,#fbf8f0 56%,#f3eedf 56%,#f3eedf 100%) !important;
}
.eyebrow{
  color:var(--ink);
  background:#fff;
}
h1 strong{
  color:var(--green) !important;
}
.hero-photo{
  background:#f7efe5 !important;
}
.support-badge{
  background:var(--yellow);
  color:var(--ink);
}
.point{
  color:var(--leaf);
}

/* Sections: alternate white and beige, keep strong orange block below hero */
.section:not(.contact-hub__forms){background:var(--cream);}
.section.white{background:#fff !important;}
.section.white + .section:not(.blue):not(.contact-hub__forms){background:var(--cream) !important;}
.page-hero{background:#f8f3e7 !important;}

.section-title h2:after{
  background:var(--green) !important;
}
.section-title p,
.card p,
.faq p,
.notice,
.lead-box p,
.form input,
.form textarea,
.form select{
  color:var(--muted);
}

/* Strong orange section */
.section.blue{
  background:var(--green) !important;
  color:#fff !important;
}
.section.blue h2,
.section.blue h3,
.section.blue .section-title p,
.section.blue .card h3,
.section.blue .card p{
  color:#fff !important;
}
.section.blue .card{
  background:rgba(255,255,255,.14) !important;
  border-color:rgba(255,255,255,.28) !important;
  color:#fff !important;
  box-shadow:none !important;
}
.section.blue .icon{
  background:#fff !important;
  color:var(--green) !important;
}

/* Cards */
.card,
.service-card,
.flow-item,
.faq details,
.contact-box,
.job-link,
.table,
.notice,
.check,
.lead-box{
  background:#fff !important;
  border-color:var(--line) !important;
}

.check{color:var(--ink);}
.service-card.primary,
.cta-band{
  background:var(--leaf) !important;
  color:#fff !important;
}
.service-card.primary h3,
.service-card.primary p,
.cta-band h2,
.cta-band p,
.cta-band .phone,
.cta-band .sub{color:#fff !important;}
.tag{
  background:#fff4e8 !important;
  color:var(--leaf) !important;
  border-color:#f0d2b8 !important;
}
.primary .tag{
  background:rgba(255,255,255,.16) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.24) !important;
}
.table th{
  background:#f6f1e5 !important;
  color:var(--leaf) !important;
}
.lead-box{border-left:8px solid var(--green) !important;}
.form input:focus,.form textarea:focus,.form select:focus{
  outline:3px solid rgba(240,106,17,.16) !important;
  border-color:var(--green) !important;
}

/* Footer */
.site-footer{
  background:var(--leaf) !important;
  color:#fff;
}
.footer-grid a{color:rgba(255,255,255,.82);}
.footer-grid a:hover{color:#fff;}

/* Remove any residual mixed gradients */
.hero-card:before,
.section-title h2:after,
.flow-item:before{
  background-image:none !important;
}
.logo-mark{
  border-radius:50%;
  transform:none;
  box-shadow:0 8px 18px rgba(11,74,115,.14);
}

@media (max-width:980px){
  .nav{background:#fff;}
}

/* WordPress / Snow Monkey isolation */
:root{ --navy:#243b63; }
.vitality-site .l-header,
.vitality-site .l-footer,
.vitality-site .c-page-header,
.vitality-site .c-breadcrumbs,
.vitality-site .c-drawer,
.vitality-site .p-infobar,
.vitality-site .l-footer-widget-area {
  display: none !important;
}
.vitality-site.l-body--blank-content .l-contents,
.vitality-site .vitality-main {
  margin: 0;
  padding: 0;
  max-width: none;
}
.vitality-site-wrapper,
.vitality-main__content {
  width: 100%;
}
.vitality-site .site-header {
  position: sticky;
  top: 0;
  z-index: 50;
}
.header-inner { position: relative; }
.vitality-site a:where(.btn, .header-cta, .logo, .nav a, .footer-grid a) {
  text-decoration: none;
}
.contact-box .phone-panel {
  background: var(--navy);
  color: #fff;
  border-radius: 20px;
  padding: 24px;
  margin: 20px 0;
}
.form-message {
  border-radius: 18px;
  padding: 16px 18px;
  margin-bottom: 18px;
  font-weight: 800;
}
.form-message.is-success {
  background: #eef7f1;
  color: var(--leaf);
  border: 1px solid #cfe6d6;
}
.form-message.is-error {
  background: #fff1f0;
  color: #9b1c1c;
  border: 1px solid #f0c7c2;
}

/* Hero: keyword H1 prominence + subdued catch */
.hero-copy h1{
  font-size:clamp(34px,4.8vw,56px);
  line-height:1.35;
  letter-spacing:.04em;
  margin-top:18px;
  color:var(--leaf);
}
.hero-copy h1 strong{color:inherit}
.hero-copy h1 .hero-area{
  display:block;
  font-size:0.58em;
  font-weight:800;
  letter-spacing:.06em;
  line-height:1.4;
  margin-bottom:0.2em;
  color:var(--leaf);
}
.hero-copy h1 .hero-service{
  display:block;
  font-size:1em;
  font-weight:900;
  line-height:1.28;
  letter-spacing:.04em;
}
.hero-catch{
  margin:0 0 14px;
  max-width:660px;
  font-size:clamp(18px,2.1vw,24px);
  font-weight:800;
  line-height:1.65;
  letter-spacing:.04em;
  color:var(--green);
}
.hero-copy h1{
  margin-top:0;
}
.hero-copy .hero-lead{
  margin-top:14px;
  font-size:16px;
  font-weight:700;
  color:var(--muted);
}

/* Logo: name only */
.site-header .logo small{display:none}
.hero-copy h1{margin-top:0}

/* Home-life section: soft gradient (no photo) */
.section-home-life{
  position:relative;
  overflow:hidden;
  background:linear-gradient(90deg,#fbf8f0 0%,#faf5ef 38%,#fdecd8 72%,#fce5cc 100%);
}
.section-home-life__divider{
  height:clamp(3rem,6.5vw,4.25rem);
  line-height:0;
}
.section-home-life__divider--bottom{
  overflow:hidden;
  background-color:#fce5cc;
  background-image:
    var(--machi-divider),
    linear-gradient(180deg,transparent 0%,transparent 58%,rgba(250,245,239,.5) 84%,#fff 100%),
    linear-gradient(90deg,#fbf8f0 0%,#faf5ef 38%,#fdecd8 72%,#fce5cc 100%);
  background-repeat:repeat-x,no-repeat,no-repeat;
  background-position:center bottom,center bottom,center bottom;
  background-size:auto 85%,100% 100%,100% 100%;
  background-blend-mode:lighten,normal,normal;
}
.section-home-life:before,
.section-home-life:after{
  display:none !important;
}
.section-home-life > .container{
  position:relative;
  z-index:1;
}
.section-home-life .section-title h2{
  color:var(--leaf);
  text-shadow:none;
}
.section-home-life .section-title p{
  color:#1a1a1a;
  font-weight:500;
  background:none;
  border-radius:0;
  padding:0;
  backdrop-filter:none;
  text-shadow:none;
}
.section-home-life .check{
  background:#fff;
  border:none;
  color:#1a1a1a;
  box-shadow:0 4px 16px rgba(10,52,82,.08);
  padding:1.05rem 1.15rem;
  min-height:0;
  align-items:center;
}
.section-strength .icon{
	display: block;
	margin: auto;
}

/* ---- Body text scale (rem), headings??? ---- */
html{
  font-size:16px;
}
.vitality-site{
  font-size:1.125rem; /* 18px */
  line-height:1.85;
}
.vitality-site .nav{
  font-size:0.9375rem; /* 15px */
}
.vitality-site .menu-btn{
  font-size:0.875rem;
}
.vitality-site .btn{
  font-size:1rem;
}
.vitality-site .hero-catch{
  font-size:clamp(1.125rem,2.1vw,1.5rem);
}
.vitality-site .hero-lead,
.vitality-site .hero-copy .hero-lead{
  font-size:1.125rem;
  font-weight:700;
}
.vitality-site .point{
  font-size:0.9375rem;
}
.vitality-site .section-title p{
  font-size:1.0625rem;
  line-height:1.8;
}
.vitality-site .card p,
.vitality-site .service-card p,
.vitality-site .lead-box p,
.vitality-site .flow-item p,
.vitality-site .faq p,
.vitality-site .cta-band p,
.vitality-site .contact-box p,
.vitality-site .job-link p{
  font-size:1.0625rem;
  line-height:1.8;
}
.vitality-site .check{
  font-size:1.0625rem;
  line-height:1.55;
}
.vitality-site .check:before{
  content:"\2713";
  background:var(--green) !important;
  color:#fff !important;
}

@media (min-width:981px){
  .vitality-site .worry-list .check,
  .vitality-site .section-home-life .check{
    font-size:1.25rem;
    line-height:1.55;
  }
  .vitality-site .worry-list .check:before,
  .vitality-site .section-home-life .check:before{
    width:1.75rem;
    height:1.75rem;
    flex-basis:1.75rem;
    font-size:1rem;
    content:"\2713";
  }
}
.vitality-site .tag{
  font-size:0.875rem;
}
.vitality-site .sub{
  font-size:0.875rem;
}
.vitality-site .breadcrumb{
  font-size:0.875rem;
}
.vitality-site .notice{
  font-size:0.9375rem;
  line-height:1.7;
}
.vitality-site .table th,
.vitality-site .table td{
  font-size:1.0625rem;
  line-height:1.75;
}
.vitality-site .faq summary{
  font-size:1.125rem;
}
.vitality-site .form label{
  font-size:1rem;
}
.vitality-site .form input,
.vitality-site .form textarea,
.vitality-site .form select{
  font-size:1.0625rem;
}
.vitality-site .footer-grid,
.vitality-site .footer-grid a{
  font-size:1rem;
}
.vitality-site .footer-bottom{
  font-size:0.875rem;
}
.vitality-site .phone{
  font-size:clamp(1.75rem,3vw,2.125rem);
}
.vitality-site .support-badge{
  font-size:0.875rem;
}
.vitality-site .section-home-life .section-title p{
  font-size:1.0625rem;
}

@media (max-width:560px){
  .vitality-site{
    font-size:1.0625rem; /* 17px */
  }
  .vitality-site .hero-lead,
  .vitality-site .hero-copy .hero-lead,
  .vitality-site .section-title p,
  .vitality-site .card p,
  .vitality-site .check,
  .vitality-site .lead-box p,
  .vitality-site .flow-item p,
  .vitality-site .faq p,
  .vitality-site .table th,
  .vitality-site .table td{
    font-size:1rem;
  }
}

@media (min-width:981px){
  .vitality-site .section-home-life .check,
  .vitality-site .worry-list .check{
    border:0;
    padding:1.5rem 1.5rem;
    min-height:4.75rem;
  }
}

/* ---- Typography: Zen Kaku Gothic New + darker text ---- */
.vitality-site{
  --ink:#1a2333;
  --muted:#3a4558;
  font-family:"Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
}
.vitality-site body,
.vitality-site,
.vitality-site p,
.vitality-site li,
.vitality-site td,
.vitality-site th,
.vitality-site label,
.vitality-site input,
.vitality-site textarea,
.vitality-site select,
.vitality-site button,
.vitality-site a{
  font-family:"Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
.vitality-site .section-title p,
.vitality-site .card p,
.vitality-site .service-card p,
.vitality-site .lead-box p,
.vitality-site .flow-item p,
.vitality-site .faq p,
.vitality-site .notice,
.vitality-site .breadcrumb,
.vitality-site .hero-lead,
.vitality-site .hero-copy .hero-lead,
.vitality-site .job-link p{
  color:#2a3548 !important;
  font-weight:500;
}
.vitality-site .check{
  color:#1a2333 !important;
  font-weight:600;
}
.vitality-site .section.blue .section-title p,
.vitality-site .section.blue .card p{
  color:#2a3548 !important;
}
.vitality-site .faq summary,
.vitality-site .form label,
.vitality-site .table th,
.vitality-site .table td{
  color:#1a2333 !important;
  font-weight:500;
}
.vitality-site .faq summary,
.vitality-site .form label,
.vitality-site .table th{
  font-weight:700;
}
.vitality-site .footer-grid a{
  color:rgba(255,255,255,.9);
}

/* Soften body text weight */
.vitality-site .hero-lead,
.vitality-site .hero-copy .hero-lead,
.vitality-site .section-title p,
.vitality-site .card p,
.vitality-site .service-card:not(.primary) p,
.vitality-site .lead-box p,
.vitality-site .flow-item p,
.vitality-site .faq p,
.vitality-site .notice{
  font-weight:500 !important;
}
.vitality-site .check{
  font-weight:600 !important;
}
.vitality-site .nav{
  font-weight:700;
}
.vitality-site .nav a{
  font-weight:700;
}

/* Service cards: photo above title */
.vitality-site .service-main{
  align-items:stretch;
}
.vitality-site .service-card,
.vitality-site .service-card.primary{
  display:flex;
  flex-direction:column;
  height:100%;
  background:#fff !important;
  color:var(--ink) !important;
  border:none !important;
  border-radius:0.875rem !important;
  padding:0 0 1.5rem !important;
  box-shadow:0 4px 22px rgba(10,52,82,.08) !important;
  overflow:hidden;
}
.vitality-site .service-card:after,
.vitality-site .service-card.primary:after{
  display:none !important;
}
.vitality-site .service-card.primary h3,
.vitality-site .service-card h3{
  color:var(--leaf) !important;
  margin:1.15rem 0 0.6rem;
  padding:0 1.5rem;
  font-size:1.375rem !important;
  font-weight:700 !important;
  line-height:1.35;
}
.vitality-site .service-card.primary p,
.vitality-site .service-card > p:not(.service-card__action){
  color:#4a5568 !important;
  padding:0 1.5rem;
  margin:0;
  font-weight:400 !important;
  line-height:1.75;
}
.vitality-site .service-card__media{
  order:-1;
  margin:0 !important;
  border-radius:0.875rem 0.875rem 0 0 !important;
  overflow:hidden;
  aspect-ratio:16 / 10;
  max-height:none;
  background:#eef2f6;
}
.vitality-site .service-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.vitality-site .service-card .tag-list{
  margin:1rem 0 0;
  padding:0 1.5rem 2rem;
  gap:0.5rem;
}
.vitality-site .service-card .tag,
.vitality-site .service-card.primary .tag{
  background:#fff !important;
  color:#4a5568 !important;
  border:1px solid #d9dee5 !important;
  border-radius:6px !important;
  box-shadow:none !important;
  font-weight:500 !important;
  font-size:0.8125rem !important;
  padding:0.35rem 0.65rem !important;
}
.vitality-site .service-card__action{
  margin:0 !important;
  padding:0 1.5rem !important;
  text-align:center;
  flex-shrink:0;
}
.vitality-site .service-card .btn,
.vitality-site .service-card .btn-primary,
.vitality-site .service-card .btn-secondary{
  background:var(--green) !important;
  color:#fff !important;
  border:1px solid var(--green) !important;
  box-shadow:none !important;
  font-weight:600 !important;
  min-width:11rem;
  width:11rem;
  justify-content:center;
}
.vitality-site .service-card .btn:hover,
.vitality-site .service-card .btn-primary:hover,
.vitality-site .service-card .btn-secondary:hover{
  background:var(--green-2) !important;
  color:#fff !important;
  border-color:var(--green-2) !important;
  transform:none !important;
}
.vitality-site .service-card .btn::after,
.vitality-site .service-card .btn-secondary::after,
.vitality-site .service-card .btn-secondary:hover::after,
.vitality-site .service-card .btn-secondary:focus-visible::after{
  color:#fff !important;
}
@media (min-width:981px){
  .vitality-site .service-card,
  .vitality-site .service-card.primary{
    padding:0 0 1.5rem !important;
    border-radius:0.875rem !important;
  }
  .vitality-site .service-card__media{
    border-radius:0.875rem 0.875rem 0 0 !important;
  }
  .vitality-site .service-card.primary h3,
  .vitality-site .service-card h3,
  .vitality-site .service-card.primary p,
  .vitality-site .service-card > p:not(.service-card__action){
    padding-left:1.75rem;
    padding-right:1.75rem;
  }
  .vitality-site .service-card .tag-list{
    padding-left:1.75rem;
    padding-right:1.75rem;
    padding-bottom:2rem;
  }
  .vitality-site .service-card__action{
    padding-left:1.75rem;
    padding-right:1.75rem;
  }
}
@media (max-width:980px){
  .vitality-site .service-card__media{
    max-height:14rem;
  }
}

/* H2 weight */
.vitality-site h2,
.vitality-site .section-title h2,
.vitality-site .cta-band h2,
.vitality-site .lead-box h2,
.vitality-site .contact-box h2{
  font-weight:600 !important;
}

/* TOP: center H2 except home-life section */
.vitality-site.home .section-title,
.vitality-site.front-page .section-title{
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.vitality-site.home .section-title h2:after,
.vitality-site.front-page .section-title h2:after{
  margin-left:auto;
  margin-right:auto;
}
.vitality-site.home .section-title p,
.vitality-site.front-page .section-title p{
  margin-left:auto;
  margin-right:auto;
  max-width:44rem;
}
.vitality-site.home .cta-band h2,
.vitality-site.front-page .cta-band h2{
  text-align:center;
}
.vitality-site.home .section-home-life .section-title,
.vitality-site.front-page .section-home-life .section-title{
  flex-direction:row;
  align-items:flex-end;
  justify-content:space-between;
  text-align:left;
  gap:2rem 2.5rem;
  margin-bottom:2rem;
}
.vitality-site.home .section-home-life .section-title h2:after,
.vitality-site.front-page .section-home-life .section-title h2:after{
  margin-left:0;
  margin-right:0;
  width:3.25rem !important;
  height:4px !important;
  margin-top:1rem !important;
  border-radius:0 !important;
  background:var(--green) !important;
  opacity:1 !important;
}
.vitality-site.home .section-home-life .section-title p,
.vitality-site.front-page .section-home-life .section-title p{
  margin-left:0;
  margin-right:0;
  max-width:34rem;
  flex:0 1 34rem;
}

/* Professionals split: intro left + 1col 3row right */
.vitality-site .section-pro .pro-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2.5rem 3rem;
  align-items:center;
}
.vitality-site .section-pro .pro-split__intro{
  text-align:left;
}
.vitality-site .section-pro .pro-split__intro h2{
  font-weight:600 !important;
  text-align:left;
  line-height:1.4;
  margin:0 0 1rem;
}
.vitality-site .section-pro .pro-split__intro h2:after{
  content:"";
  display:block;
  width:64px;
  height:6px;
  border-radius:999px;
  background:linear-gradient(90deg,#ee8a2e,#243b63);
  margin-top:14px;
}
.vitality-site .section-pro .pro-split__intro > p{
  margin:0;
  max-width:28rem;
  line-height:1.8;
  font-weight:500;
}
.vitality-site .section-pro .pro-split__action{
  margin-top:1.75rem !important;
}
.vitality-site .section-pro .pro-split__items{
  display:grid;
  grid-template-columns:1fr;
  gap:0.9rem;
}
.vitality-site .section-pro .pro-split__items .card{
  margin:0;
}
@media (max-width:980px){
  .vitality-site .section-pro .pro-split{
    grid-template-columns:1fr;
    gap:1.75rem;
  }
}

/* Professionals section: navy background */
.vitality-site .section-pro.section.blue{
  background:#0b4a73 !important;
  color:#fff;
}
.vitality-site .section-pro .pro-split__intro h2,
.vitality-site .section-pro .pro-split__intro > p{
  color:#fff !important;
}
.vitality-site .section-pro .pro-split__intro h2:after{
  background:linear-gradient(90deg,#ee8a2e,#ffd09a) !important;
}
.vitality-site .section-pro .pro-split__items .card{
  background:#fff !important;
  border:none !important;
  box-shadow:none !important;
  color:#1a2333 !important;
  backdrop-filter:none;
}
.vitality-site .section-pro .pro-split__items .card:before{
  display:none !important;
}
.vitality-site .section-pro .pro-split__items .card h3,
.vitality-site .section-pro .pro-split__items .card p{
  color:#1a2333 !important;
}
.vitality-site .section-pro .btn-primary{
  background:#f1cd34 !important;
  color:#1a1a1a !important;
  border-color:transparent !important;
  box-shadow:none !important;
}
.vitality-site .section-pro .btn-primary:hover{
  background:#e6c12a !important;
  color:#111 !important;
}

/* Professionals items: icons + readability */
.vitality-site .section-pro .pro-split__items{
  gap:1rem;
}
.vitality-site .section-pro .pro-item{
  display:flex;
  align-items:flex-start;
  gap:1rem;
  padding:1.25rem 1.35rem !important;
  background:#fff !important;
  border:none !important;
  box-shadow:none !important;
}
.vitality-site .section-pro .pro-item__icon{
  flex:0 0 2.75rem;
  width:2.75rem;
  height:2.75rem;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#f1cd34;
  color:#1a1a1a;
  box-shadow:0 6px 14px rgba(0,0,0,.12);
		padding: 6px;
}
.vitality-site .section-pro .pro-item__icon svg{
  display:block;
}
.vitality-site .section-pro .pro-item__body{
  min-width:0;
  position:relative;
  z-index:1;
}
.vitality-site .section-pro .pro-item__body h3{
  margin:0 0 0.35rem;
  font-size:1.125rem;
  font-weight:700;
  color:#1a2333 !important;
}
.vitality-site .section-pro .pro-item__body p{
  margin:0;
  font-size:1rem;
  line-height:1.7;
  font-weight:500;
  color:#1a2333 !important;
}
.vitality-site .section-pro .pro-split__intro > p{
  font-size:1.0625rem;
  color:rgba(255,255,255,.92) !important;
}

.vitality-site .section-pro-shien .icon{
	display: block;
    margin: auto;
}


/* Strength cards: softer (smaller) radius */
.vitality-site .section-strength .card{
  border-radius:1rem !important;
  border:none !important;
}

/* Global: subdued corner radius */
.vitality-site{
  --radius:0.75rem;
}
.vitality-site .card,
.vitality-site .lead-box,
.vitality-site .contact-box,
.vitality-site .job-link,
.vitality-site .cta-band,
.vitality-site .flow-item,
.vitality-site .check,
.vitality-site .faq details,
.vitality-site .notice,
.vitality-site .table,
.vitality-site .hero-card,
.vitality-site .point,
.vitality-site .pro-item{
  border-radius:0.75rem !important;
}
.vitality-site .icon{
  border-radius:0.75rem !important;
}
.vitality-site .hero-photo{
  border-radius:0.5rem !important;
}
.vitality-site .form input,
.vitality-site .form textarea,
.vitality-site .form select{
  border-radius:0.5rem !important;
}
.vitality-site .nav{
  border-radius:0.75rem !important;
}
.vitality-site .btn,
.vitality-site .menu-btn,
.vitality-site .header-cta,
.vitality-site .tag,
.vitality-site .eyebrow{
  border-radius:0.5rem !important;
}

/* Recruit / care-work banner */
.vitality-site .section-recruit-banner{
  padding-top:3.5rem;
  padding-bottom:3.5rem;
}
.vitality-site .recruit-banner{
  display:grid;
  grid-template-columns:1.4fr auto;
  gap:2rem;
  align-items:center;
  background:linear-gradient(135deg,#0b4a73 0%,#163d63 55%,#1f4f7a 100%);
  color:#fff;
  border-radius:0.75rem;
  padding:2rem 2.25rem;
  box-shadow:0 14px 36px rgba(11,74,115,.22);
  position:relative;
  overflow:hidden;
}
.vitality-site .recruit-banner:before{
  content:"";
  position:absolute;
  right:-40px;
  top:-60px;
  width:220px;
  height:220px;
  border-radius:50%;
  background:rgba(241,205,52,.16);
  display:block !important;
}
.vitality-site .recruit-banner:after{
  content:"";
  position:absolute;
  left:-50px;
  bottom:-80px;
  width:180px;
  height:180px;
  border-radius:50%;
  background:rgba(255,255,255,.06);
  display:block !important;
}
.vitality-site .recruit-banner__copy,
.vitality-site .recruit-banner__action{
  position:relative;
  z-index:1;
}
.vitality-site .recruit-banner__label{
  display:inline-block;
  font-size:0.8125rem;
  font-weight:700;
  letter-spacing:.08em;
  color:#0b4a73;
  background:#f1cd34;
  padding:0.35rem 0.75rem;
  border-radius:0.4rem;
  margin-bottom:0.85rem;
}
.vitality-site .recruit-banner__title{
  margin:0;
  color:#fff !important;
  font-size:clamp(1.375rem,2.2vw,1.75rem);
  font-weight:600 !important;
  line-height:1.4;
  text-align:left;
}
.vitality-site .recruit-banner__title:after{
  display:none !important;
}
.vitality-site .recruit-banner__lead{
  margin:0.75rem 0 0;
  color:rgba(255,255,255,.9) !important;
  font-size:1rem;
  font-weight:500 !important;
  line-height:1.75;
  max-width:36rem;
}
.vitality-site .recruit-banner__points{
  display:flex;
  flex-wrap:wrap;
  gap:0.5rem;
  list-style:none;
  margin:1.1rem 0 0;
  padding:0;
}
.vitality-site .recruit-banner__points li{
  font-size:0.875rem;
  font-weight:700;
  color:#0b4a73;
  background:rgba(255,255,255,.92);
  padding:0.4rem 0.75rem;
  border-radius:0.4rem;
}
.vitality-site .recruit-banner__action{
  text-align:center;
  min-width:13rem;
}
.vitality-site .recruit-banner__btn{
  background:#f1cd34 !important;
  color:#1a1a1a !important;
  border-color:transparent !important;
  min-width:12rem;
  box-shadow:none !important;
}
.vitality-site .recruit-banner__btn:hover{
  background:#e6c12a !important;
  color:#111 !important;
}
.vitality-site .recruit-banner__note{
  margin:0.7rem 0 0;
  font-size:0.8125rem;
  color:rgba(255,255,255,.78) !important;
  font-weight:500 !important;
}
@media (max-width:980px){
  .vitality-site .recruit-banner{
    grid-template-columns:1fr;
    padding:1.5rem;
    gap:1.25rem;
  }
  .vitality-site .recruit-banner__action{
    text-align:left;
  }
  .vitality-site .recruit-banner__btn{
    width:100%;
  }
}

/* Dual CTA: recruit + contact split */
.vitality-site .section-dual-cta{
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
}
.vitality-site .dual-cta{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:22rem;
}
.vitality-site .dual-cta__panel{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:3.5rem 2.5rem;
  text-decoration:none;
  transition:filter .2s ease, transform .2s ease;
}
.vitality-site .dual-cta__panel:hover{
  filter:brightness(0.97);
}
.vitality-site .dual-cta__panel--recruit{
  background:#f1cd34;
  color:#1a1a1a;
}
.vitality-site .dual-cta__panel--contact{
  background:#0b4a73;
  color:#fff;
}
.vitality-site .dual-cta__en{
  margin:0.55rem 0 0;
  font-size:0.9375rem;
  font-weight:700;
  letter-spacing:.06em;
  line-height:1.4;
  opacity:.85;
}
.vitality-site .dual-cta__title{
  margin:0;
  font-size:clamp(1.35rem,2.4vw,1.85rem);
  font-weight:700 !important;
  line-height:1.45;
  text-align:center;
}
.vitality-site .dual-cta__title:after{
  display:none !important;
}
.vitality-site .dual-cta__panel--recruit .dual-cta__title,
.vitality-site .dual-cta__panel--recruit .dual-cta__en{
  color:#1a1a1a !important;
}
.vitality-site .dual-cta__panel--contact .dual-cta__title,
.vitality-site .dual-cta__panel--contact .dual-cta__en{
  color:#fff !important;
}
.vitality-site .dual-cta__text{
  margin:1rem 0 0;
  max-width:22rem;
  font-size:0.9375rem;
  line-height:1.8;
  font-weight:500 !important;
}
.vitality-site .dual-cta__panel--recruit .dual-cta__text{
  color:#2a2a2a !important;
}
.vitality-site .dual-cta__panel--contact .dual-cta__text{
  color:rgba(255,255,255,.9) !important;
}
.vitality-site .dual-cta__btn{
  display:inline-flex;
  align-items:stretch;
  margin-top:1.75rem;
  border-radius:999px;
  overflow:hidden;
  font-weight:700;
  font-size:0.9375rem;
  letter-spacing:.04em;
}
.vitality-site .dual-cta__panel--recruit .dual-cta__btn{
  border:1.5px solid #1a1a1a;
  color:#1a1a1a;
}
.vitality-site .dual-cta__panel--contact .dual-cta__btn{
  border:1.5px solid #fff;
  color:#fff;
}
.vitality-site .dual-cta__btn span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0.7rem 1.1rem;
}
.vitality-site .dual-cta__arrow{
  border-left:1.5px solid currentColor;
  min-width:2.75rem;
}
.vitality-site .dual-cta__panel:hover .dual-cta__btn{
  background:rgba(255,255,255,.14);
}
.vitality-site .dual-cta__panel--recruit:hover .dual-cta__btn{
  background:rgba(0,0,0,.06);
}
@media (max-width:980px){
  .vitality-site .dual-cta{
    grid-template-columns:1fr;
    min-height:0;
  }
  .vitality-site .dual-cta__panel{
    padding:2.75rem 1.5rem;
  }
}

/* Footer: deep navy */
.vitality-site .site-footer{
  background:#072f4a !important;
  color:#fff;
}

/* Flow: arrows between steps; horizontal row on PC */
.vitality-site .flow--horizontal{
  gap:0.35rem;
}
.vitality-site .flow--horizontal .flow-item{
  border:none !important;
  box-shadow:0 8px 22px rgba(36,59,99,.08) !important;
}
.vitality-site .flow--horizontal .flow-item img{
	margin-bottom: .5rem;
}
.vitality-site .flow--horizontal .flow-arrow{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-shrink:0;
  color:#ee8a2e;
  font-size:1.125rem;
  font-weight:700;
  line-height:1;
  min-width:1.5rem;
  min-height:1.5rem;
  padding:0.15rem 0 0.35rem;
}
@media (max-width:980px){
  .vitality-site .flow--horizontal .flow-item{
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto;
    gap:0.65rem;
    align-items:center;
    padding:1.15rem 1.25rem;
  }
  .vitality-site .flow--horizontal .flow-item:before{
    grid-row:1;
    grid-column:1;
    margin:0;
    width:48px;
    height:48px;
    font-size:0.8125rem;
    align-self:center;
  }
  .vitality-site .flow--horizontal .flow-item h3{
    grid-row:1;
    grid-column:2;
    margin:0;
    text-align:left;
    align-self:center;
  }
  .vitality-site .flow--horizontal .flow-item p{
    grid-row:2;
    grid-column:1 / -1;
    margin:0;
    text-align:left;
  }
}
@media (min-width:981px){
  .vitality-site .flow--horizontal{
    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
    align-items:stretch;
    gap:0.5rem;
  }
  .vitality-site .flow--horizontal .flow-item{
    flex:1 1 0;
    min-width:0;
    grid-template-columns:1fr;
    padding:1.25rem 1rem;
  }
  .vitality-site .flow--horizontal .flow-item:before{
    margin:0 auto 0.75rem;
    width:48px;
    height:48px;
    font-size:0.875rem;
  }
  .vitality-site .flow--horizontal .flow-item h3{
    font-size:0.95rem;
    text-align:center;
  }
  .vitality-site .flow--horizontal .flow-item p{
    font-size:0.8125rem;
    text-align:center;
    line-height:1.65;
  }
  .vitality-site .flow--horizontal .flow-arrow{
    flex:0 0 auto;
    align-self:center;
    padding:0 0.25rem;
    font-size:1.35rem;
    transform:rotate(-90deg);
  }
}

/* Service card buttons: pill shape */
.vitality-site .service-card .btn{
  border-radius:999px !important;
}

/* All buttons: pill shape */
.vitality-site .btn,
.vitality-site .btn-primary,
.vitality-site .btn-secondary,
.vitality-site .menu-btn,
.vitality-site .header-cta,
.vitality-site .form .btn,
.vitality-site button.btn,
.vitality-site a.btn{
  border-radius:999px !important;
}

/* Header: white */
.vitality-site .site-header{
  background:#fff !important;
  border-bottom:1px solid rgba(11,74,115,.08);
  backdrop-filter:none;
}

/* Header clean + pill nav */
.vitality-site .site-header{
  background:#fff !important;
  border-bottom:none !important;
  backdrop-filter:none;
  box-shadow:none !important;
}
.vitality-site .nav{
  border:none !important;
  box-shadow:none !important;
  border-radius:999px !important;
  background:transparent !important;
  padding:0.25rem;
}
@media (max-width:980px){
  .vitality-site .nav{
    position:fixed !important;
    top:72px !important;
    left:0 !important;
    right:0 !important;
    bottom:auto !important;
    width:100% !important;
    height:auto !important;
    max-height:calc(100dvh - 72px - 1.5rem) !important;
    background:rgba(255,255,255,.92) !important;
    backdrop-filter:blur(10px) !important;
    -webkit-backdrop-filter:blur(10px) !important;
    box-shadow:none !important;
    border-radius:0 !important;
    padding:1.5rem !important;
    z-index:40 !important;
    overflow-y:auto !important;
    flex-direction:column !important;
    align-items:stretch !important;
  }
  .vitality-site .nav.open{
    display:flex !important;
  }
  .vitality-site .nav a.header-cta{
    width:auto !important;
    max-width:fit-content !important;
    align-self:center !important;
    padding:0.65rem 1.35rem !important;
    text-align:center !important;
  }
}
.vitality-site .nav a{
  border-radius:999px !important;
}

/* Header CTA text white */
.vitality-site .header-cta,
.vitality-site .nav a.header-cta,
.vitality-site .nav a.header-cta:hover{
  color:#fff !important;
  background:#0b4a73 !important;
}

/* Subpage lead under hero */
.vitality-site .page-hero{
  padding:2.25rem 0 1.75rem;
}
.vitality-site .page-lead{
  padding:1.75rem 0 0.5rem;
}
.vitality-site .page-lead__text{
  margin:0;
  font-size:1.125rem;
  line-height:1.85;
  font-weight:500;
  color:#2a3548;
  text-align:left;
}

/* Subpage hero: orange header band */
.vitality-site .page-hero{
  background:linear-gradient(135deg,#d96f18 0%,#e8741a 48%,#f0983a 100%) !important;
  border-bottom:none !important;
  color:#fff;
}
.vitality-site .page-lead{
  background:transparent !important;
  padding-top:0 !important;
  padding-bottom:2rem !important;
}

/* Breadcrumb under hero */
.vitality-site .page-lead .breadcrumb{
  margin:0 0 1.25rem;
  text-align:left;
  font-weight:600;
  font-size:0.8125rem;
  color:#7a8494;
}
.vitality-site .page-hero h1{
  margin:0;
  text-align:left;
}
.vitality-site .page-lead{
  background:transparent !important;
  padding-top:0 !important;
  padding-bottom:2rem !important;
}
.vitality-site .page-lead__text{
  margin:0;
  font-size:1.25rem;
  line-height:1.95;
  font-weight:500;
  color:#2a3548;
  text-align:left;
  max-width:42rem;
}

/* Semantic breadcrumb */
.vitality-site .breadcrumb{
  margin:0 0 1.25rem;
  text-align:left;
}
.vitality-site .breadcrumb__list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:0.35rem;
  list-style:none;
  margin:0;
  padding:0;
  font-size:0.8125rem;
  font-weight:600;
  color:#7a8494;
}
.vitality-site .breadcrumb__item{
  display:inline-flex;
  align-items:center;
  gap:0.35rem;
}
.vitality-site .breadcrumb__item:not(:last-child)::after{
  content:"/";
  color:#a0a8b5;
  margin-left:0.1rem;
}
.vitality-site .breadcrumb__link{
  color:#667083;
  text-decoration:none;
}
.vitality-site .breadcrumb__link:hover{
  color:#0b4a73;
  text-decoration:underline;
}
.vitality-site .breadcrumb__current{
  color:#7a8494;
}

/* Heavy-care: about lead box with illustration */
.vitality-site .lead-box--with-illust{
  display:flex;
  align-items:center;
  gap:1.75rem 2.25rem;
  background:transparent !important;
  border:none !important;
  border-left:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}
.vitality-site .lead-box:not(.lead-box--with-illust){
  border-left:none !important;
}
.vitality-site .lead-box__body{
  flex:1 1 auto;
  min-width:0;
}
.vitality-site .lead-box--with-illust .lead-box__body h2{
  font-size:clamp(1.55rem, 2.4vw, 2rem) !important;
  line-height:1.35;
  margin:0 0 1.15rem !important;
  text-align:left;
}
.vitality-site .lead-box--with-illust .lead-box__body p{
  margin:0 0 1.05rem;
}
.vitality-site .lead-box--with-illust .lead-box__body p:last-child{
  margin-bottom:0;
}
.vitality-site .lead-box__illust{
  flex:0 0 auto;
  width:min(48%, 21rem);
  margin:0;
  line-height:0;
  background:transparent;
}
.vitality-site .lead-box__illust img{
  display:block;
  width:100%;
  height:auto;
  background:transparent;
}
.vitality-site .lead-box__illust img[src$=".jpg"],
.vitality-site .lead-box__illust img[src$=".jpeg"]{
  border-radius:0.75rem;
  object-fit:cover;
  aspect-ratio:1 / 1;
}
@media (max-width:980px){
  .vitality-site .lead-box--with-illust{
    flex-direction:column;
    align-items:stretch;
    gap:1.25rem;
  }
  .vitality-site .lead-box__illust{
    width:min(88%, 18rem);
    margin:0.25rem auto 0;
  }
}

/* Centered section title */
.vitality-site .section-title--center{
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.vitality-site .section-title--center h2:after{
  margin-left:auto;
  margin-right:auto;
}
.vitality-site .section-title--center p{
  margin-left:auto;
  margin-right:auto;
  max-width:44rem;
}

/* Subpages: center h2 by default */
.vitality-site:not(.home):not(.front-page) .section-title{
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.vitality-site:not(.home):not(.front-page) .section-title h2:after{
  margin-left:auto;
  margin-right:auto;
}
.vitality-site:not(.home):not(.front-page) .section-title h2{
  font-size:clamp(1.5rem,2.15vw,2rem) !important;
  letter-spacing:.03em !important;
  line-height:1.5 !important;
}
.vitality-site:not(.home):not(.front-page) .section-title p{
  margin-left:auto;
  margin-right:auto;
  max-width:44rem;
}
.vitality-site:not(.home):not(.front-page) .lead-box:not(.lead-box--with-illust) h2,
.vitality-site:not(.home):not(.front-page) .lead-box:not(.lead-box--with-illust) .lead-box__body h2,
.vitality-site:not(.home):not(.front-page) .contact-box h2,
.vitality-site:not(.home):not(.front-page) .cta-band h2{
  text-align:center;
}
@media (max-width:980px){
  .vitality-site:not(.home):not(.front-page) .section-title{
    display:flex;
    text-align:center;
  }
}

/* Plain checklist (no cards) */
.vitality-site .worry-list--plain{
  list-style:none;
  margin:0;
  padding:1.5rem 1.75rem;
  gap:0.65rem 2rem;
  background:#fff !important;
  border-radius:0.75rem;
}
.vitality-site .worry-list--plain li{
  display:flex;
  align-items:flex-start;
  gap:0.7rem;
  margin:0;
  padding:0.35rem 0;
  background:none;
  border:none;
  border-radius:0;
  box-shadow:none;
  font-weight:500;
  font-size:1.0625rem;
  line-height:1.65;
  color:var(--ink);
}
.vitality-site .worry-list--plain li::before{
  content:"\2713";
  flex:0 0 1.35rem;
  width:1.35rem;
  height:1.35rem;
  margin-top:0.15rem;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:0.75rem;
  line-height:1;
  color:#fff;
  background:var(--green, #f06a11);
}
@media (min-width:981px){
  .vitality-site .worry-list--plain li{
    font-size:1.125rem;
  }
}

/* Service pages: worry section illustration */
.vitality-site .section-heavy-care-worry,
.vitality-site .section-home-care-worry{
  padding-bottom:0 !important;
}
.vitality-site .section-worry-illust{
  margin:1.35rem auto 0;
  max-width:min(100%,21rem);
  line-height:0;
  text-align:center;
}
.vitality-site .section-heavy-care-worry .section-worry-illust,
.vitality-site .section-home-care-worry .section-worry-illust{
  margin-bottom:0;
  padding-bottom:0;
}
.vitality-site .section-worry-illust img{
  display:block;
  width:100%;
  height:auto;
  margin:0 auto;
  vertical-align:bottom;
}
@media (max-width:560px){
  .vitality-site .section-worry-illust{
    max-width:min(100%,17.5rem);
    margin-top:1.1rem;
  }
}

/* Support content: icon + heading only */
.vitality-site .section-support-items .card{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0.7rem;
  padding:1.15rem 0.85rem !important;
  text-align:center;
}
.vitality-site .section-support-items .card:before{
  display:none;
}
.vitality-site .section-support-items .card h3{
  margin:0 !important;
  font-size:1.05rem !important;
  line-height:1.4;
}
.vitality-site .section-support-items .icon{
  flex:0 0 auto;
  width:2.5rem;
  height:2.5rem;
  margin:0 !important;
  border-radius:0.65rem !important;
  font-size:1.05rem;
}
@media (max-width:1100px){
  .vitality-site .section-support-items .grid-4{
    grid-template-columns:repeat(3,1fr);
    gap:0.85rem;
  }
}
@media (max-width:680px){
  .vitality-site .section-support-items .grid-4{
    grid-template-columns:repeat(2,1fr);
    gap:0.75rem;
  }
  .vitality-site .section-support-items .card{
    padding:0.95rem 0.6rem !important;
  }
  .vitality-site .section-support-items .card h3{
    font-size:0.875rem !important;
    line-height:1.35;
  }
  .vitality-site .section-support-items .icon{
    width:2.15rem;
    height:2.15rem;
    font-size:0.9375rem;
  }
}

/* 24h support: cards with photo */
.vitality-site .section-24h-support .card--with-photo,
.vitality-site .section-home-care-offer .card--with-photo{
  display:flex;
  flex-direction:column;
  padding:0 !important;
  overflow:hidden;
}
.vitality-site .section-24h-support .card--with-photo:before,
.vitality-site .section-home-care-offer .card--with-photo:before{
  display:none;
}
.vitality-site .section-24h-support .card__photo,
.vitality-site .section-home-care-offer .card__photo{
  margin:0;
  line-height:0;
  aspect-ratio:16 / 10;
  overflow:hidden;
  background:#eef2f6;
}
.vitality-site .section-24h-support .card__photo img,
.vitality-site .section-home-care-offer .card__photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.vitality-site .section-24h-support .card--with-photo h3,
.vitality-site .section-home-care-offer .card--with-photo h3{
  margin:1rem 0 0.55rem;
  padding:0 1.25rem;
}
.vitality-site .section-24h-support .card--with-photo p,
.vitality-site .section-home-care-offer .card--with-photo p{
  margin:0 0 1.25rem;
  padding:0 1.25rem;
}

/* Photo cards: professionals / care-work intro */
.vitality-site .section-professionals-intro .card--with-photo,
.vitality-site .section-care-work-intro .card--with-photo{
  display:flex;
  flex-direction:column;
  padding:0 !important;
  overflow:hidden;
}
.vitality-site .section-professionals-intro .card--with-photo:before,
.vitality-site .section-care-work-intro .card--with-photo:before{
  display:none;
}
.vitality-site .section-professionals-intro .card__photo,
.vitality-site .section-care-work-intro .card__photo{
  margin:0;
  line-height:0;
  aspect-ratio:16 / 10;
  overflow:hidden;
  background:#eef2f6;
}
.vitality-site .section-professionals-intro .card__photo img,
.vitality-site .section-care-work-intro .card__photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.vitality-site .section-professionals-intro .card--with-photo h3,
.vitality-site .section-care-work-intro .card--with-photo h3{
  margin:1rem 0 0.55rem;
  padding:0 1.25rem;
}
.vitality-site .section-professionals-intro .card--with-photo p,
.vitality-site .section-care-work-intro .card--with-photo p{
  margin:0 0 1.25rem;
  padding:0 1.25rem;
}

.vitality-site .section-24h-support__values{
  margin-top:2.75rem;
  padding:1.75rem 1.5rem 1.5rem;
  border-radius:1rem;
  background:linear-gradient(145deg,#0a4569 0%,#083552 100%);
}
.vitality-site .section-24h-support__values-head{
  margin-bottom:1.35rem;
}
.vitality-site .section-24h-support__subheading{
  margin:0 0 0.75rem;
  padding-left:1rem;
  border-left:4px solid #f5d04a;
  font-size:clamp(1.2rem,1.8vw,1.45rem);
  font-weight:600;
  line-height:1.4;
  text-align:left;
  color:#f5d04a !important;
}
.vitality-site .section-24h-support__sublead{
  margin:0;
  padding-left:1rem;
  max-width:40rem;
  text-align:left;
  color:#fff !important;
  line-height:1.85;
}
.vitality-site .value-points{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
  list-style:none;
  margin:0;
  padding:0;
}
.vitality-site .value-points__item{
  display:flex;
  flex-direction:column;
  gap:0.65rem;
  min-height:100%;
  padding:1.2rem 1.15rem 1.25rem;
  background:#fff;
  border:none;
  border-radius:0.75rem;
  box-shadow:0 6px 18px rgba(0,0,0,.12);
}
.vitality-site .value-points__head{
  display:flex;
  align-items:center;
  gap:0.65rem;
}
.vitality-site .value-points__num{
  flex:0 0 auto;
  width:2.35rem;
  height:2.35rem;
  border-radius:50%;
  background:linear-gradient(135deg,#ee8a2e,#f4a85f);
  color:#fff;
  font-size:0.8125rem;
  font-weight:700;
  line-height:1;
  display:grid;
  place-items:center;
}
.vitality-site .value-points__head h4{
  margin:0;
  font-size:1.05rem;
  font-weight:600;
  line-height:1.45;
  color:var(--leaf);
}
.vitality-site .value-points__item > p{
  margin:0;
  font-size:0.9375rem;
  line-height:1.75;
  color:var(--muted);
}
@media (max-width:980px){
  .vitality-site .section-24h-support__values{
    padding:1.35rem 1.1rem 1.1rem;
  }
  .vitality-site .value-points{
    grid-template-columns:1fr;
    gap:0.75rem;
  }
  .vitality-site .value-points__item{
    padding:1.1rem 1rem;
  }
}

/* Sub-block within merged section (white bg) */
.vitality-site .section-sub-block{
  margin-top:2.75rem;
}
.vitality-site .section-sub-block__subheading{
  margin:0 0 0.75rem;
  padding-left:1rem;
  border-left:4px solid var(--green);
  font-size:clamp(1.2rem,1.8vw,1.45rem);
  font-weight:600;
  line-height:1.4;
  text-align:left;
  color:var(--leaf) !important;
}
.vitality-site .section-sub-block__sublead{
  margin:0 0 1rem;
  padding-left:1rem;
  text-align:left;
  color:var(--muted) !important;
  line-height:1.85;
}
.vitality-site .section-sub-block__panel{
  background:#fff;
  border:none;
  border-radius:0.75rem;
  box-shadow:0 8px 22px rgba(36,59,99,.08);
  padding:1.35rem 1.5rem;
}
.vitality-site .section-sub-block--plain .section-sub-block__sublead{
  margin:0 0 1.15rem;
}
.vitality-site .section-sub-block--plain .table--modern{
  margin:0;
}
.vitality-site .section-sub-block--plain .table--modern td{
  background:#f5f2ec !important;
}
.vitality-site .section-sub-block__panel .section-sub-block__subheading{
  margin:0 0 0.75rem;
}
.vitality-site .section-sub-block__panel .section-sub-block__sublead{
  margin:0 0 1.15rem;
}
.vitality-site .section-sub-block__panel .section-sub-block__body{
  padding-left:1rem;
}
.vitality-site .section-sub-block__panel .table--modern{
  margin:0;
}
.vitality-site .section-sub-block__body{
  padding:0;
  max-width:none;
}
.vitality-site .section-sub-block__body p{
  margin:0 0 0.85rem;
  color:#3d4654 !important;
  line-height:1.85;
}
.vitality-site .section-sub-block__body p:last-child{
  margin-bottom:0;
}
.vitality-site .section-sub-block + .section-sub-block{
  margin-top:2.25rem;
}
.vitality-site .section-home-care-offer .section-sub-block__body a{
  color:var(--leaf);
  font-weight:600;
  text-decoration:underline;
  text-underline-offset:0.15em;
}
.vitality-site .section-title p a,
.vitality-site .lead-box p a{
  color:var(--leaf);
  font-weight:600;
  text-decoration:underline;
  text-underline-offset:0.15em;
}

/* TOP: strengths link */
.vitality-site .section-strength__action{
  margin:1.75rem 0 0;
  text-align:center;
}

/* Service pages: light point headings */
.vitality-site .section-home-care-features,
.vitality-site .section-heavy-care-features{
  padding-top:4rem;
  padding-bottom:4rem;
}
.vitality-site .section-home-care-features .section-title,
.vitality-site .section-heavy-care-features .section-title{
  margin-bottom:1.5rem;
}
.vitality-site .section-home-care-features .section-title p,
.vitality-site .section-heavy-care-features .section-title p{
  max-width:44rem;
}
.vitality-site .feature-point-headings{
  display:flex;
  max-width:52rem;
  margin:0 auto 1.25rem;
  background:#fff;
  border-radius:0.75rem;
  box-shadow:0 8px 22px rgba(36,59,99,.08);
  overflow:hidden;
}
.vitality-site .section.white .feature-point-headings{
  background:var(--cream-2);
  box-shadow:0 4px 16px rgba(36,59,99,.06);
}
.vitality-site .feature-point-headings__item{
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0.75rem;
  min-height:5.5rem;
  padding:1.35rem 1.15rem;
  text-align:center;
  border-right:1px solid var(--line);
}
.vitality-site .feature-point-headings__item:last-child{
  border-right:none;
}
.vitality-site .feature-point-headings__icon{
  margin:0 !important;
}
.vitality-site .feature-point-headings__item h3{
  margin:0;
  font-size:1.0625rem;
  font-weight:600;
  line-height:1.55;
  color:var(--leaf) !important;
}
.vitality-site .feature-point-headings__note{
  max-width:42rem;
  margin:0 auto;
  text-align:center;
  color:var(--muted) !important;
  line-height:1.85;
}
.vitality-site .feature-point-headings__action{
  margin:1.15rem 0 0;
  text-align:center;
}
@media (max-width:980px){
  .vitality-site .feature-point-headings{
    flex-direction:column;
    max-width:24rem;
  }
  .vitality-site .feature-point-headings__item{
    min-height:0;
    border-right:none;
    border-bottom:1px solid var(--line);
  }
  .vitality-site .feature-point-headings__item:last-child{
    border-bottom:none;
  }
}

/* Strengths page: intro */
.vitality-site .strengths-intro{
  background:transparent;
  border:none;
  box-shadow:none;
  padding:0;
}
.vitality-site .strengths-intro__title{
  margin:0 0 1.35rem;
  font-size:clamp(1.45rem,2.2vw,1.85rem);
  font-weight:600;
  line-height:1.4;
  text-align:center;
  color:var(--leaf) !important;
}
.vitality-site .strengths-intro__body{
  max-width:42rem;
  margin:0 auto 2rem;
}
.vitality-site .strengths-intro__body p{
  margin:0 0 1rem;
  line-height:1.85;
}
.vitality-site .strengths-intro__body p:last-child{
  margin-bottom:0;
}
.vitality-site .strengths-intro__photos{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
}
.vitality-site .strengths-intro__photos figure{
  margin:0;
  line-height:0;
  overflow:hidden;
  border-radius:0.75rem;
}
.vitality-site .strengths-intro__photos img{
  display:block;
  width:100%;
  aspect-ratio:4 / 3;
  object-fit:cover;
}
@media (max-width:980px){
  .vitality-site .strengths-intro__photos{
    grid-template-columns:1fr;
    gap:0.75rem;
  }
  .vitality-site .strengths-intro__photos img{
    max-height:14rem;
  }
}

/* Strengths page: 3 points alternating layout */
.vitality-site .strength-points{
  display:flex;
  flex-direction:column;
  gap:clamp(2.5rem,5vw,4rem);
  margin-top:0.5rem;
}
.vitality-site .strength-point{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(1.5rem,4vw,3rem);
  align-items:center;
}
.vitality-site .strength-point--reverse .strength-point__photo{
  order:2;
}
.vitality-site .strength-point--reverse .strength-point__body{
  order:1;
}
.vitality-site .strength-point__photo{
  margin:0;
  line-height:0;
  overflow:hidden;
}
.vitality-site .strength-point__photo img{
  display:block;
  width:100%;
  aspect-ratio:4 / 3;
  object-fit:cover;
}
.vitality-site .strength-point__body{
  padding:0.25rem 0;
}
.vitality-site .strength-point__label{
margin: 0 0 0.5rem;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    color: white;
    display: inline-block;
    background-color: #ee8a2e;
    padding: 0.8rem 1.2rem;
    border-radius: 50%;
    line-height: 1;
}
.vitality-site .strength-point__label span{
	display:block;
	font-size:1.75rem;
}
.vitality-site .strength-point__body h3{
  margin:0 0 1rem;
  font-size:clamp(1.35rem,2.1vw,1.75rem);
  font-weight:600;
  line-height:1.45;
  color:var(--leaf) !important;
}
.vitality-site .strength-point__body p:last-child{
  margin:0;
  color:#3d4654 !important;
  line-height:1.9;
}
@media (max-width:980px){
  .vitality-site .strength-point,
  .vitality-site .strength-point--reverse{
    grid-template-columns:1fr;
    gap:1.15rem;
  }
  .vitality-site .strength-point--reverse .strength-point__photo,
  .vitality-site .strength-point--reverse .strength-point__body{
    order:unset;
  }
  .vitality-site .strength-point__photo img{
    max-height:16rem;
  }
  .vitality-site .strength-point__body{
    padding:0;
  }
	.vitality-site .strength-point__body h3{
		    display: inline-block;
	}
}

/* Strengths page: service links */
.vitality-site .strength-service-links{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem;
}
.vitality-site .strength-service-link{
  display:block;
  padding:1.35rem 1.5rem;
  background:#fff;
  border:none;
  border-radius:0.75rem;
  box-shadow:0 8px 22px rgba(36,59,99,.08);
  text-decoration:none;
  color:inherit;
  transition:transform .15s ease, box-shadow .15s ease;
}
.vitality-site .strength-service-link:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(36,59,99,.1);
}
.vitality-site .strength-service-link h3{
  margin:0 0 0.55rem;
  font-size:1.125rem;
  font-weight:600;
  color:var(--leaf) !important;
}
.vitality-site .strength-service-link p{
  margin:0 0 0.75rem;
  font-size:0.9375rem;
  line-height:1.82;
  color:#3d4654 !important;
}
.vitality-site .strength-service-link__more{
  font-size:0.875rem;
  font-weight:600;
  color:var(--green) !important;
}
@media (max-width:980px){
  .vitality-site .strength-service-links{
    grid-template-columns:1fr;
  }
}

/* Home care features: photo left, text right */
.vitality-site .media-rows{
  display:flex;
  flex-direction:column;
  gap:1.15rem;
}
.vitality-site .media-row{
  display:grid;
  grid-template-columns:min(38%,17.5rem) 1fr;
  align-items:stretch;
  overflow:hidden;
  background:#fff;
  border:none;
  border-radius:0.75rem;
  box-shadow:0 8px 22px rgba(36,59,99,.08);
}
.vitality-site .media-row__photo{
  margin:0;
  line-height:0;
  background:#eef2f6;
}
.vitality-site .media-row__photo img{
  display:block;
  width:100%;
  height:100%;
  min-height:11rem;
  object-fit:cover;
}
.vitality-site .media-row__body{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:1.25rem 1.5rem;
}
.vitality-site .media-row__body h3{
  margin:0 0 0.55rem;
  font-size:1.125rem;
  font-weight:600;
  line-height:1.45;
  color:var(--leaf) !important;
}
.vitality-site .media-row__body p{
  margin:0;
  color:#3d4654 !important;
  line-height:1.82;
}
@media (max-width:980px){
  .vitality-site .media-row{
    grid-template-columns:1fr;
  }
  .vitality-site .media-row__photo img{
    min-height:10rem;
    max-height:14rem;
  }
  .vitality-site .media-row__body{
    padding:1.1rem 1.15rem 1.2rem;
  }
}

/* Refinement: warm tone + polished feel */
.vitality-site{
  --cream:#f3eae1;
  --cream-2:#f5f2ec;
  --line:#ebe6df;
  --ink:#1f2937;
  --muted:#5c6575;
  --leaf:#0a4569;
  --green:#e8741a;
  --green-2:#cf6414;
  --shadow-refined:0 1px 2px rgba(10,52,82,.04), 0 10px 28px rgba(10,52,82,.06);
  --shadow-soft-refined:0 1px 2px rgba(10,52,82,.03), 0 6px 18px rgba(10,52,82,.05);
  letter-spacing:.02em;
  line-height:1.78;
}

.vitality-site .section{
  padding:5.25rem 0;
}
.vitality-site .page-hero + .section{
  padding-top:2.75rem !important;
}
.vitality-site .section.white{
  background:#fff !important;
}
.vitality-site .section:not(.white):not(.blue):not(.section-home-life):not(.section-pro):not(.section-recruit-banner):not(.section-dual-cta):not(.page-lead):not(.contact-hub__forms){
  background:var(--cream) !important;
}
.vitality-site .section.page-lead{
  padding:0 0 2rem !important;
  background:transparent !important;
  border:none !important;
}
.vitality-site .section-dual-cta{
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
}

/* Typography */
.vitality-site h1,
.vitality-site h2,
.vitality-site h3,
.vitality-site .card h3,
.vitality-site .service-card h3,
.vitality-site .faq summary,
.vitality-site .form label,
.vitality-site .job-link strong{
  letter-spacing:.03em;
}
.vitality-site h2,
.vitality-site .section-title h2,
.vitality-site .lead-box h2,
.vitality-site .contact-box h2{
  font-weight:600 !important;
  line-height:1.38;
  color:var(--leaf) !important;
}
.vitality-site .section-title h2:after,
.vitality-site .section-pro .pro-split__intro h2:after{
  width:2.5rem !important;
  height:3px !important;
  margin-top:0.85rem !important;
  border-radius:2px !important;
  background:var(--green) !important;
  opacity:.92;
}
.vitality-site .section-title{
  margin-bottom:2.25rem;
  gap:1.5rem;
}
.vitality-site .section-title p{
  font-weight:400 !important;
  color:var(--muted) !important;
  line-height:1.82;
  max-width:44rem;
}
.vitality-site p,
.vitality-site li,
.vitality-site .card p,
.vitality-site .service-card p,
.vitality-site .lead-box p,
.vitality-site .flow-item p,
.vitality-site .faq p,
.vitality-site .page-lead__text{
  font-weight:400 !important;
  color:#3d4654 !important;
  line-height:1.82;
}

/* CTA band: readable text on colored background */
.vitality-site .cta-band h2,
.vitality-site .cta-band p,
.vitality-site .cta-band .sub,
.vitality-site .cta-band .phone{
  color:#fff !important;
}
.vitality-site .cta-band .btn-primary{
  background:#fff !important;
  color:var(--leaf) !important;
  box-shadow:none !important;
}
.vitality-site .cta-band .btn-primary:hover{
  background:#f8fafc !important;
  color:var(--leaf) !important;
}
.vitality-site .cta-band .btn-secondary,
.vitality-site .cta-band .cta-band__btn-sub{
  background:transparent !important;
  border:1px solid rgba(255,255,255,.75) !important;
  color:#fff !important;
  margin-top:0.65rem;
}
.vitality-site .cta-band .btn-secondary:hover,
.vitality-site .cta-band .cta-band__btn-sub:hover{
  background:rgba(255,255,255,.12) !important;
  color:#fff !important;
}
.vitality-site .cta-band > div:last-child{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:0.5rem;
}

/* Header */
.vitality-site .site-header{
  background:rgba(255,255,255,.96) !important;
  border-bottom:1px solid rgba(10,69,105,.06) !important;
  box-shadow:0 1px 0 rgba(255,255,255,.8) !important;
}
.vitality-site .logo{
  font-weight:700 !important;
  font-size:1.5rem;
  letter-spacing:.04em;
  color:var(--leaf) !important;
}
.vitality-site .logo-mark{
  width:2.25rem !important;
  height:2.25rem !important;
  box-shadow:0 4px 12px rgba(10,69,105,.12) !important;
  background:linear-gradient(145deg,#0a4569,#0f5a8a) !important;
}
.vitality-site .nav a{
  font-weight:600 !important;
  font-size:0.875rem;
  padding:0.55rem 0.85rem;
  color:#3d5168 !important;
}
.vitality-site .nav a:hover{
  background:rgba(10,69,105,.06) !important;
  color:var(--leaf) !important;
}
.vitality-site .header-cta,
.vitality-site .nav a.header-cta,
.vitality-site .nav a.header-cta:hover{
  background:var(--leaf) !important;
  color:#fff !important;
  box-shadow:none !important;
  font-weight:600 !important;
}

/* Hero */
.vitality-site .hero{
  background:linear-gradient(180deg,#fff 0%,var(--cream) 100%) !important;
}

/* Hero: full-width photo, people on right, gradient on left */
.vitality-site .hero.hero--photo{
  position:relative;
  overflow:hidden;
  background:#fff !important;
  padding:0;
}
.vitality-site .hero.hero--photo .hero__bg{
  position:absolute;
  inset:0;
  z-index:0;
}
.vitality-site .hero.hero--photo .hero__bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:72% center;
  display:block;
}
.vitality-site .hero.hero--photo .hero__overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(
    90deg,
    rgba(255,255,255,.98) 0%,
    rgba(255,255,255,.94) 26%,
    rgba(255,255,255,.72) 42%,
    rgba(255,255,255,.35) 58%,
    rgba(255,255,255,.08) 72%,
    transparent 84%
  );
  pointer-events:none;
}
.vitality-site .hero.hero--photo .hero-inner{
  position:relative;
  z-index:2;
  display:block;
  min-height:clamp(26rem,52vw,34rem);
  padding:clamp(3rem,6vw,5rem) 0;
}
.vitality-site .hero.hero--photo .hero-copy{
  max-width:36rem;
}
.vitality-site .hero.hero--photo .support-badge{
  position:absolute;
  top:auto !important;
  left:auto !important;
  bottom:clamp(1.5rem,3.5vw,2.75rem);
  right:calc((100vw - min(1120px,100vw - 44px)) / 2);
  width:11.5rem;
  height:11.5rem;
  padding:0.35rem;
  background:#f1cd34 !important;
  color:var(--leaf) !important;
  border:2px solid #fff;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0.2rem;
  text-align:center;
  z-index:3;
  box-shadow:none !important;
}
.vitality-site .hero.hero--photo .support-badge::before{
  display:none;
}
.vitality-site .hero.hero--photo .support-badge__line{
  position:relative;
  z-index:1;
  display:block;
  font-weight:600;
  font-size:0.9375rem;
  line-height:1.35;
  letter-spacing:.04em;
}
.vitality-site .hero.hero--photo .support-badge__line--emph{
  font-size:1.3125rem;
  font-weight:800;
  letter-spacing:.08em;
  line-height:1.25;
}
@media (max-width:980px){
  .vitality-site .hero.hero--photo .hero__bg img{
    object-position:68% 22%;
  }
  .vitality-site .hero.hero--photo .hero__overlay{
    background:linear-gradient(
      90deg,
      rgba(255,255,255,.98) 0%,
      rgba(255,255,255,.94) 30%,
      rgba(255,255,255,.78) 44%,
      rgba(255,255,255,.38) 56%,
      rgba(255,255,255,.08) 68%,
      transparent 80%
    );
  }
  .vitality-site .hero.hero--photo .hero-inner{
    min-height:0;
    padding:2.5rem 0 2.75rem;
  }
  .vitality-site .hero.hero--photo .support-badge{
    top:1rem !important;
    bottom:auto !important;
    right:calc((100vw - min(1120px,100vw - 44px)) / 2);
    width:9.75rem;
    height:9.75rem;
  }
  .vitality-site .hero.hero--photo .support-badge__line{
    font-size:0.875rem;
  }
  .vitality-site .hero.hero--photo .support-badge__line--emph{
    font-size:1.1875rem;
  }
}
@media (max-width:560px){
  .vitality-site .hero.hero--photo .hero__bg img{
    object-position:64% 18%;
  }
  .vitality-site .hero.hero--photo .hero__overlay{
    background:linear-gradient(
      90deg,
      rgba(255,255,255,.98) 0%,
      rgba(255,255,255,.93) 34%,
      rgba(255,255,255,.72) 48%,
      rgba(255,255,255,.28) 60%,
      rgba(255,255,255,.06) 70%,
      transparent 82%
    );
  }
  .vitality-site .hero.hero--photo .support-badge{
    top:0.875rem !important;
    right:calc((100vw - min(1120px,100vw - 28px)) / 2);
    width:8.5rem;
    height:8.5rem;
  }
  .vitality-site .hero.hero--photo .support-badge__line{
    font-size:0.8125rem;
  }
  .vitality-site .hero.hero--photo .support-badge__line--emph{
    font-size:1.0625rem;
  }
}

.vitality-site .hero-copy h1 .hero-area{
  font-weight:600;
  color:#5c6575;
  letter-spacing:.08em;
}
.vitality-site .hero-copy h1 .hero-service{
  font-weight:700;
  letter-spacing:.03em;
}
.vitality-site .hero-catch{
  font-weight:600 !important;
  color:var(--green) !important;
  letter-spacing:.03em;
  opacity:.95;
}
.vitality-site .br-sp{
  display:none;
}
.vitality-site .title-lines--pc{
  display:inline;
}
.vitality-site .title-lines--sp{
  display:none;
}
@media (max-width:560px){
  .vitality-site .hero-catch__tail{
    display:block;
  }
  .vitality-site .section-pro .pro-split__title-tail{
    display:block;
  }
  .vitality-site .br-sp{
    display:block;
  }
  .vitality-site .title-lines--pc{
    display:none;
  }
  .vitality-site .title-lines--sp{
    display:inline;
  }
}
.vitality-site .hero-copy .hero-lead{
  font-weight:400 !important;
  color:var(--muted) !important;
}

/* Subpage hero / lead */
.vitality-site .page-hero{
  background:linear-gradient(135deg,#d96f18 0%,#e8741a 48%,#f0983a 100%) !important;
  border-bottom:none !important;
  padding:2.25rem 0 1.75rem !important;
  color:#fff;
}
.vitality-site .page-hero__inner{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
}
.vitality-site .page-hero .breadcrumb{
  margin:0 0 1.1rem !important;
  text-align:left !important;
}
.vitality-site .page-hero .breadcrumb__list{
  color:rgba(255,255,255,.55);
}
.vitality-site .page-hero .breadcrumb__item:not(:last-child)::after{
  color:rgba(255,255,255,.35);
}
.vitality-site .page-hero .breadcrumb__link{
  color:rgba(255,255,255,.72) !important;
}
.vitality-site .page-hero .breadcrumb__link:hover{
  color:#fff !important;
}
.vitality-site .page-hero .breadcrumb__current{
  color:rgba(255,255,255,.5) !important;
}
.vitality-site .page-hero h1{
  margin:0 !important;
  text-align:left !important;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:0.45rem;
  max-width:36rem;
  padding-left:1.1rem;
  border-left:3px solid rgba(255,255,255,.85);
}
.vitality-site .page-hero__area{
  display:block;
  font-size:0.6875rem;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(255,255,255,.82);
  line-height:1.4;
}
.vitality-site .page-hero__title{
  display:block;
  font-size:clamp(1.65rem,3.2vw,2.35rem) !important;
  font-weight:600 !important;
  line-height:1.38 !important;
  letter-spacing:.03em !important;
  color:#fff !important;
}
.vitality-site .page-hero__lead{
  margin:1.1rem 0 0;
  padding-left:1.1rem;
  max-width:40rem;
  font-size:1.0625rem;
  line-height:1.85;
  font-weight:400;
  color:rgba(255,255,255,.86) !important;
  text-align:left;
}

/* Care-work hero: photo circle instead of blur blob */
.vitality-site .page-hero--plain.page-hero--recruit::after{
  background:none;
  background-image:var(--recruit-panel-bg);
  background-size:cover;
  background-position:center 22%;
  filter:none;
  -webkit-mask-image:radial-gradient(circle,#000 62%,transparent 100%);
  mask-image:radial-gradient(circle,#000 62%,transparent 100%);
}

/* Service pages: plain hero (heavy-care / home-care) */
.vitality-site .page-hero--plain{
  position:relative;
  overflow:hidden;
  background:#fafafa !important;
  border-bottom:none !important;
  padding:2.25rem 0 1.75rem !important;
  color:inherit;
}
.vitality-site .page-hero--plain::after{
  content:"";
  display:block !important;
  position:absolute;
  right:-5rem;
  top:-5rem;
  width:min(28rem,62vw);
  height:min(28rem,62vw);
  border-radius:50%;
  background:radial-gradient(
    circle at 38% 38%,
    rgba(241,205,52,.5) 0%,
    rgba(232,116,26,.26) 30%,
    rgba(232,116,26,.1) 52%,
    rgba(232,116,26,.03) 72%,
    rgba(232,116,26,0) 100%
  );
  filter:blur(32px);
  pointer-events:none;
  z-index:0;
}
.vitality-site .page-hero--plain .page-hero__inner{
  position:relative;
  z-index:1;
}
.vitality-site .page-hero--plain h1:not(.page-hero__title){
  border-left:none !important;
  padding-left:0 !important;
  max-width:none;
}
.vitality-site .page-hero--plain .page-hero__area{
  color:#7a8494;
  text-transform:uppercase;
}
.vitality-site .page-hero--plain .breadcrumb{
  margin:0 0 1.15rem !important;
}
.vitality-site .page-hero--plain .breadcrumb__list{
  color:#7a8494;
}
.vitality-site .page-hero--plain .breadcrumb__link{
  color:#667083 !important;
}
.vitality-site .page-hero--plain .breadcrumb__link:hover{
  color:var(--leaf) !important;
}
.vitality-site .page-hero--plain .breadcrumb__current{
  color:#7a8494 !important;
}
.vitality-site .page-hero--plain .breadcrumb__item:not(:last-child)::after{
  color:#a0a8b5;
}
.vitality-site .page-hero--plain .page-hero__title{
  display:block;
  margin:0 !important;
  padding-left:1.15rem;
  border-left:3px solid var(--green) !important;
  font-size:clamp(2rem,4.5vw,3rem) !important;
  font-weight:600 !important;
  line-height:1.32 !important;
  letter-spacing:.03em !important;
  color:var(--leaf) !important;
  max-width:none;
  gap:0;
}
.vitality-site .page-hero--plain .page-hero__lead{
  margin:1.15rem 0 0;
  padding-left:1.15rem;
  max-width:42rem;
  font-size:1.0625rem;
  line-height:1.85;
  font-weight:400;
  color:var(--muted) !important;
}

@media (min-width:981px){
  .vitality-site:not(.home):not(.front-page) .page-hero__title{
    font-size:clamp(1.5rem,2.5vw,2rem) !important;
  }
  .vitality-site:not(.home):not(.front-page) .page-hero--plain .page-hero__title,
  .vitality-site:not(.home):not(.front-page) .page-hero--plain h1.page-hero__title{
    font-size:clamp(1.625rem,3vw,2.25rem) !important;
  }
}

.vitality-site .page-lead{
  padding:0.85rem 0 2rem !important;
  background:transparent !important;
  border:none !important;
}
.vitality-site .page-lead__text{
  font-weight:400 !important;
  max-width:40rem;
  margin:0 !important;
  text-align:left !important;
  font-size:1.0625rem !important;
  line-height:1.85 !important;
  color:var(--muted) !important;
}

/* Cards & surfaces */
.vitality-site .card,
.vitality-site .flow-item,
.vitality-site .faq details,
.vitality-site .contact-box,
.vitality-site .job-link,
.vitality-site .notice,
.vitality-site .table,
.vitality-site .point{
  border:1px solid var(--line) !important;
  box-shadow:var(--shadow-soft-refined) !important;
}
.vitality-site .service-card,
.vitality-site .service-card.primary{
  border:none !important;
  box-shadow:0 4px 22px rgba(10,52,82,.08) !important;
}
.vitality-site .contact-box{
  border:none !important;
  box-shadow:none !important;
}
.vitality-site .card h3,
.vitality-site .flow-item h3{
  font-weight:600 !important;
  font-size:1.125rem;
}
.vitality-site .icon{
  width:2.75rem !important;
  height:2.75rem !important;
  font-size:1.05rem !important;
  margin-bottom:0.85rem !important;
  box-shadow:none !important;
}

/* Buttons */
.vitality-site .btn{
  font-weight:600 !important;
  letter-spacing:.04em;
  padding:0.8rem 1.35rem;
  box-shadow:none !important;
}
.vitality-site .btn-primary{
  background:var(--green) !important;
  box-shadow:none !important;
}
.vitality-site .header-cta,
.vitality-site .nav a.header-cta,
.vitality-site .nav a.header-cta:hover{
  box-shadow:none !important;
}
.vitality-site .btn-primary:hover,
.vitality-site .btn-secondary:hover{
  transform:none;
  box-shadow:none !important;
}
.vitality-site .btn-secondary{
  background:#fff !important;
  border-color:rgba(10,69,105,.18) !important;
  color:var(--leaf) !important;
  box-shadow:none !important;
}
.vitality-site .btn-secondary:hover,
.vitality-site .btn-secondary:focus-visible{
  background:var(--leaf) !important;
  border-color:var(--leaf) !important;
  color:#fff !important;
}
.vitality-site .btn-secondary:hover::after,
.vitality-site .btn-secondary:focus-visible::after{
  color:#fff !important;
}

/* Buttons: flat surfaces site-wide */
.vitality-site .btn:hover,
.vitality-site .btn:focus-visible,
.vitality-site .menu-btn,
.vitality-site .menu-btn:hover,
.vitality-site .form .btn,
.vitality-site .form .btn:hover,
.vitality-site button.btn,
.vitality-site a.btn,
.vitality-site .cta-band .btn-secondary,
.vitality-site .cta-band .btn-secondary:hover,
.vitality-site .cta-band .cta-band__btn-sub,
.vitality-site .cta-band .cta-band__btn-sub:hover,
.vitality-site .service-card .btn,
.vitality-site .service-card .btn:hover,
.vitality-site .hero-actions .btn,
.vitality-site .hero-actions .btn:hover{
  box-shadow:none !important;
}

/* Lists */
.vitality-site .worry-list--plain li{
  font-weight:400 !important;
  color:#3d4654 !important;
  padding:0.45rem 0;
}
.vitality-site .check:before,
.vitality-site .worry-list--plain li::before{
  background:var(--green) !important;
  color:#fff !important;
  opacity:1;
}

/* Support item cards */
.vitality-site .section-support-items .card{
  border:1px solid var(--line) !important;
  box-shadow:none !important;
  background:#fff !important;
}
.vitality-site .section-support-items .card h3{
  font-weight:600 !important;
  font-size:0.98rem !important;
}

/* Lead block */
.vitality-site .lead-box--with-illust .lead-box__body h2{
  font-size:clamp(1.45rem,2.2vw,1.85rem) !important;
  margin-bottom:1rem !important;
  text-align:left !important;
}
.vitality-site .lead-box--with-illust .lead-box__body p{
  margin-bottom:0.95rem;
}

/* FAQ */
.vitality-site .faq details{
  padding:1.1rem 1.25rem !important;
}
.vitality-site .faq summary{
  font-weight:600 !important;
  font-size:1.05rem;
  list-style:none;
  display:flex;
  align-items:flex-start;
  gap:0.45rem;
  cursor:pointer;
}
.vitality-site .faq summary::-webkit-details-marker,
.vitality-site .faq summary::marker{
  display:none;
  content:"";
}
.vitality-site .faq summary::before{
  content:"?";
  flex:0 0 auto;
  color:var(--green) !important;
  font-size:0.72em;
  line-height:1.65;
  margin-top:0.08em;
}

/* Table */
.vitality-site .table:not(.table--modern) th{
  background:#f8f6f2 !important;
  font-weight:600 !important;
}

/* Modern table: borderless, striped rows, colored th */
.vitality-site .table--modern{
  border:none !important;
  box-shadow:none !important;
  border-radius:0 !important;
  background:transparent !important;
  overflow:visible !important;
  border-collapse:separate;
  border-spacing:0.25rem;
}
.vitality-site .table--modern th,
.vitality-site .table--modern td{
  border:none !important;
  padding:0.95rem 1rem;
  vertical-align:top;
}
.vitality-site .table--modern th{
  width:26%;
  padding:0.95rem 1rem 0.95rem 1.25rem;
  background:#edf6fb !important;
  color:var(--leaf) !important;
  font-weight:600 !important;
  font-size:1.0625rem;
  line-height:1.65;
  border-radius:0 !important;
}
.vitality-site .table--modern td{
  background:#fff !important;
  color:#3d4654 !important;
  font-weight:400 !important;
  font-size:1.0625rem;
  line-height:1.85;
  border-radius:0 !important;
}
.vitality-site .table--modern-td-white td{
  background:#fff !important;
}
@media (max-width:560px){
  .vitality-site .table--modern{
    border-spacing:0.25rem;
  }
  .vitality-site .table--modern th,
  .vitality-site .table--modern td{
    display:block;
    width:100%;
    border-radius:0 !important;
  }
  .vitality-site .table--modern tr{
    display:block;
    padding:0;
    border-radius:0 !important;
    background:#fff !important;
    overflow:hidden;
  }
  .vitality-site .table--modern th{
    padding:0.85rem 1.15rem;
    background:#edf6fb !important;
  }
  .vitality-site .table--modern td{
    padding:0.65rem 1.15rem 1rem;
    background:#fff !important;
  }
}

/* Company page */
.vitality-site .section-company .table--modern td a{
  color:var(--leaf);
  font-weight:600;
  text-decoration:underline;
  text-underline-offset:0.15em;
}
.vitality-site .section-company .company-business-list{
  margin:0;
  padding-left:1.15rem;
}
.vitality-site .section-company .company-business-list li{
  margin:0.2rem 0;
  line-height:1.75;
}
.company-btn{
	margin: 3rem auto 0;
    display: block;
    text-align: center;
    color: #243b63;
    font-size: 1.125rem;
    font-weight: 600;
    border: solid 1px;
    padding: 1rem;
    max-width: 350px;
    border-radius: 3px;
}
.company-btn:hover{
	background-color: #edf6fb;
}

/* Footer navigation */
.site-footer .fixed-btn{
    position: fixed;
	top: inherit;
    bottom: 0;
    display: flex;
    width: 100%;
    z-index: 100;
}
.site-footer .fixed-btn a{
	display: flex;
    align-items: center;
    font-size: 1.25rem;
    font-weight: 600;
    gap: 0.5rem;
    margin: auto;
    background-color: #ee8a2e;
    width: 100%;
    padding: 6px 0;
    justify-content: center;
}
.site-footer .fixed-btn img{
	width: 20px;
}
.vitality-site .footer-grid--4{
  grid-template-columns:1.35fr 1fr 1fr 1fr;
  gap:2rem;
}
.vitality-site .footer-col__title{
  display:block;
  margin:0 0 0.65rem;
  font-size:0.9375rem;
  font-weight:700;
  color:#fff !important;
  letter-spacing:0.04em;
}
.vitality-site .footer-col__address{
  margin:1rem 0 0;
  line-height:1.8;
  color:rgba(255,255,255,.88) !important;
}
.vitality-site .footer-nav a{
  display:block;
  margin:0.45rem 0;
  font-weight:500 !important;
  color:#fff !important;
  line-height:1.55;
}
.vitality-site .footer-nav a:hover{
  opacity:.85;
}
.vitality-site .footer-bottom{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:0.75rem 1.5rem;
}
.vitality-site .footer-bottom__copy{
  color:rgba(255,255,255,.72) !important;
}
.vitality-site .footer-legal{
  display:flex;
  flex-wrap:wrap;
  gap:0.35rem 1.25rem;
}
.vitality-site .footer-legal a{
  color:rgba(255,255,255,.88) !important;
  font-size:0.875rem;
  font-weight:500;
  text-decoration:underline;
  text-underline-offset:0.15em;
}
.vitality-site .footer-legal a:hover{
  color:#fff !important;
  opacity:.85;
}

/* Privacy policy */
.vitality-site .policy-content{
  color:var(--ink);
}
.vitality-site .policy-content__date{
  margin:0 0 1.75rem;
  font-size:0.9375rem;
  color:var(--muted);
}
.vitality-site .policy-content h2{
  margin:2rem 0 0.85rem;
  font-size:1.25rem;
  line-height:1.5;
  color:var(--green-2);
}
.vitality-site .policy-content h2:first-of-type{
  margin-top:0;
}
.vitality-site .policy-content p,
.vitality-site .policy-content li{
  line-height:1.9;
  color:var(--ink-soft);
}
.vitality-site .policy-content ul{
  margin:0.5rem 0 0;
  padding-left:1.25rem;
}
.vitality-site .policy-content li{
  margin:0.35rem 0;
}
.vitality-site .policy-contact-table{
  margin-top:1rem;
}
.vitality-site .policy-contact-table a{
  color:var(--ink-soft);
  text-decoration:underline;
  text-underline-offset:0.15em;
}
.vitality-site .policy-contact-table a:hover{
  color:var(--green-2);
}

/* Footer */
.vitality-site .site-footer{
  background:#062a42 !important;
  padding:3.5rem 0 1.75rem !important;
  margin-top:0 !important;
  color:#fff !important;
}
.vitality-site .site-footer p,
.vitality-site .site-footer strong,
.vitality-site .site-footer .logo,
.vitality-site .site-footer .logo small,
.vitality-site .site-footer .footer-bottom{
  color:#fff !important;
}
.vitality-site .footer-grid a{
  font-weight:500 !important;
  color:#fff !important;
  opacity:1;
}
.vitality-site .footer-grid a:hover{
  color:#fff !important;
  opacity:.85;
}
.vitality-site .footer-grid__subheading{
  display:block;
  margin:1.15rem 0 0.35rem;
  font-size:0.875rem;
  font-weight:700;
  color:#fff !important;
  opacity:.92;
}

/* Tags & badges */
.vitality-site .tag{
  font-weight:600 !important;
  background:#f1cd34 !important;
  color:#1a1a1a !important;
  border:none !important;
  box-shadow:none !important;
}

/* Service card tags: white pill with gray border (reference design) */
.vitality-site .service-card .tag,
.vitality-site .service-card.primary .tag{
  background:#fff !important;
  color:#4a5568 !important;
  border:1px solid #d9dee5 !important;
  border-radius:6px !important;
  box-shadow:none !important;
  font-weight:500 !important;
  font-size:0.8125rem !important;
  padding:0.35rem 0.65rem !important;
}

/* Dual CTA / recruit banner - softer depth */
.vitality-site .recruit-banner,
.vitality-site .dual-cta__panel{
  box-shadow:var(--shadow-refined) !important;
}

/* Pro section items */
.vitality-site .section-pro .pro-item{
  background:#fff !important;
  border:none !important;
}
.vitality-site .section-pro .pro-item__icon{
  box-shadow:none !important;
}

/* Home-life: match reference layout */
.vitality-site .section-home-life{
  background:linear-gradient(90deg,#fbf8f0 0%,#faf5ef 38%,#fdecd8 72%,#fce5cc 100%) !important;
  padding-bottom:clamp(3rem,6.5vw,4.25rem) !important;
}
.vitality-site .section-home-life__divider{
  position:relative;
  z-index:1;
  height:clamp(3rem,6.5vw,4.25rem);
  line-height:0;
}
.vitality-site .section-home-life__divider--bottom{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  margin:0;
  overflow:hidden;
  background-color:#fce5cc;
  background-image:
    var(--machi-divider),
    linear-gradient(180deg,transparent 0%,transparent 58%,rgba(250,245,239,.5) 84%,#fff 100%),
    linear-gradient(90deg,#fbf8f0 0%,#faf5ef 38%,#fdecd8 72%,#fce5cc 100%);
  background-repeat:repeat-x,no-repeat,no-repeat;
  background-position:center bottom,center bottom,center bottom;
  background-size:auto 85%,100% 100%,100% 100%;
  background-blend-mode:lighten,normal,normal;
}
.vitality-site .section-home-life > .container{
  position:relative;
  z-index:1;
}
.vitality-site .section-home-life::before,
.vitality-site .section-home-life::after{
  display:none !important;
}
.vitality-site .section-home-life .section-title h2{
  font-size:clamp(1.85rem, 3.2vw, 2.5rem) !important;
  color:var(--leaf) !important;
  text-shadow:none !important;
  font-weight:700 !important;
  line-height:1.45 !important;
}
.vitality-site .section-home-life .section-title p{
  color:#1a1a1a !important;
  font-weight:500 !important;
  line-height:1.85 !important;
  text-shadow:none !important;
  background:transparent !important;
  padding:0 !important;
  border-radius:0 !important;
  backdrop-filter:none !important;
  box-shadow:none !important;
}
.vitality-site .section-home-life .worry-list{
  gap:1rem 1.25rem !important;
  margin-top:0.5rem;
  margin-bottom:clamp(1.5rem,3vw,2.5rem);
}
.vitality-site .section-home-life .check{
  background:#fff !important;
  border:none !important;
  border-radius:0.625rem !important;
  box-shadow:0 4px 16px rgba(10,52,82,.08) !important;
  font-weight:500 !important;
  color:#1a1a1a !important;
  padding:1.05rem 1.15rem !important;
  min-height:0 !important;
  backdrop-filter:none !important;
  align-items:center !important;
}
.vitality-site .section-home-life .check:before{
  background:var(--green) !important;
  color:#fff !important;
  width:1.65rem !important;
  height:1.65rem !important;
  flex:0 0 1.65rem !important;
  border-radius:50% !important;
  font-size:0.875rem !important;
  line-height:1 !important;
  margin-top:0 !important;
  box-shadow:none !important;
}
@media (max-width:980px){
  .vitality-site.home .section-home-life .section-title,
  .vitality-site.front-page .section-home-life .section-title{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    text-align:left;
    gap:1rem;
    margin-bottom:1.25rem;
  }
  .vitality-site.home .section-home-life .section-title p,
  .vitality-site.front-page .section-home-life .section-title p{
    flex:none !important;
  }
  .vitality-site .section-home-life .section-title p{
    max-width:none !important;
    width:100%;
  }
}
@media (max-width:560px){
  .vitality-site.home .section-home-life .section-title,
  .vitality-site.front-page .section-home-life .section-title{
    gap:0.75rem;
    margin-bottom:1rem;
  }
  .vitality-site .section-home-life .worry-list{
    margin-top:0;
  }
}
@media (min-width:560px){
	.site-footer .fixed-btn{
		display:none;
	}
}

/* CTA band */
.vitality-site .cta-band{
  box-shadow:var(--shadow-refined) !important;
  padding:2.75rem 2.5rem !important;
}
.vitality-site .cta-band h2{
  font-weight:600 !important;
}

/* Page load fade + scroll reveal */
@media (prefers-reduced-motion:no-preference){
  .vitality-site:not(.is-page-loaded){
    opacity:0;
  }
  .vitality-site{
    transition:opacity 1.6s cubic-bezier(.22,1,.36,1);
  }
  .vitality-site.is-page-loaded{
    opacity:1;
  }
  .vitality-site .msm-reveal{
    opacity:0;
    transform:translateY(8px);
    transition:
      opacity .9s cubic-bezier(.22,1,.36,1),
      transform .9s cubic-bezier(.22,1,.36,1);
    transition-delay:var(--msm-reveal-delay,0s);
  }
  .vitality-site .msm-reveal.is-visible{
    opacity:1;
    transform:none;
  }
}

@media print{
  .vitality-site{
    opacity:1 !important;
    transition:none !important;
  }
  .vitality-site .msm-reveal{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }

  @page{
    size:A4 portrait;
    margin:14mm 12mm;
  }

  html,
  body{
    background:#fff !important;
    color:#1a1a1a !important;
    overflow:visible !important;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }

  .vitality-site,
  .vitality-site-wrapper,
  .vitality-main,
  .vitality-main__content,
  .l-container{
    width:100% !important;
    max-width:none !important;
    overflow:visible !important;
    background:#fff !important;
  }

  .vitality-site .container,
  .vitality-site .narrow{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
  }

  /* Hide chrome / non-content */
  .vitality-site .nav,
  .vitality-site .menu-btn,
  .vitality-site .header-cta,
  .vitality-site .hero-actions,
  .vitality-site .btn,
  .vitality-site .form,
  .vitality-site .support-badge,
  .vitality-site .person,
  .vitality-site .hero-card:before,
  .vitality-site .hero-photo:before,
  .vitality-site .hero-photo:after{
    display:none !important;
  }

  .vitality-site .site-header{
    position:static !important;
    background:#fff !important;
    backdrop-filter:none !important;
    border-bottom:1px solid #ccc !important;
    box-shadow:none !important;
    page-break-after:avoid;
  }

  .vitality-site .header-inner{
    height:auto !important;
    min-height:0 !important;
    padding:0.5rem 0 !important;
  }

  .vitality-site .site-footer{
    background:#072f4a !important;
    color:#fff !important;
    page-break-before:auto;
  }

  .vitality-site .site-footer a{
    color:#fff !important;
  }

  /* Flatten decorative layers */
  .vitality-site .hero,
  .vitality-site .page-hero,
  .vitality-site .section,
  .vitality-site .section.white,
  .vitality-site .section.blue,
  .vitality-site .card,
  .vitality-site .service-card,
  .vitality-site .lead-box,
  .vitality-site .contact-box,
  .vitality-site .cta-band,
  .vitality-site .flow-item,
  .vitality-site .faq details,
  .vitality-site .notice,
  .vitality-site .job-link,
  .vitality-site .table,
  .vitality-site .hero-card,
  .vitality-site .section-home-life{
    background:#fff !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    overflow:visible !important;
    transform:none !important;
  }

  .vitality-site .hero:before,
  .vitality-site .hero:after,
  .vitality-site .page-hero:after,
  .vitality-site .section.white:before,
  .vitality-site .section.blue:before,
  .vitality-site .card:before,
  .vitality-site .service-card:after,
  .vitality-site .cta-band:after,
  .vitality-site .job-link:before,
  .vitality-site .site-footer:after{
    display:none !important;
  }

  .vitality-site .section{
    padding:1.25rem 0 !important;
    page-break-inside:avoid;
  }

  .vitality-site .page-hero{
    padding:1rem 0 !important;
    border-bottom:1px solid #ccc !important;
  }

  .vitality-site .page-lead{
    padding:0.75rem 0 1rem !important;
  }

  .vitality-site h1,
  .vitality-site h2,
  .vitality-site h3,
  .vitality-site .section-title h2,
  .vitality-site .card h3{
    color:#072f4a !important;
    page-break-after:avoid;
  }

  .vitality-site p,
  .vitality-site li,
  .vitality-site .card p,
  .vitality-site .section-title p,
  .vitality-site .page-lead__text{
    color:#333 !important;
  }

  .vitality-site .section-title{
    display:block !important;
    margin-bottom:1rem !important;
    page-break-inside:avoid;
  }

  .vitality-site .section-title p{
    margin-top:0.5rem !important;
    max-width:none !important;
  }

  /* Grids: stable columns for paper */
  .vitality-site .hero-inner,
  .vitality-site .service-main,
  .vitality-site .grid-2,
  .vitality-site .grid-3,
  .vitality-site .grid-4,
  .vitality-site .footer-grid,
  .vitality-site .cta-band,
  .vitality-site .worry-list{
    display:grid !important;
    gap:0.75rem !important;
  }

  .vitality-site .hero-inner,
  .vitality-site .service-main,
  .vitality-site .grid-2,
  .vitality-site .footer-grid,
  .vitality-site .cta-band{
    grid-template-columns:1fr !important;
  }

  .vitality-site .grid-3{
    grid-template-columns:repeat(2,1fr) !important;
  }

  .vitality-site .grid-4,
  .vitality-site .worry-list{
    grid-template-columns:repeat(2,1fr) !important;
  }

  .vitality-site .card,
  .vitality-site .service-card,
  .vitality-site .flow-item,
  .vitality-site .faq details,
  .vitality-site .job-link,
  .vitality-site .lead-box,
  .vitality-site .contact-box,
  .vitality-site .worry-list--plain li{
    break-inside:avoid;
    page-break-inside:avoid;
    border:1px solid #ccc !important;
    border-radius:0.35rem !important;
    padding:0.75rem !important;
  }

  .vitality-site .lead-box--with-illust{
    flex-direction:row !important;
    align-items:flex-start !important;
    gap:1rem !important;
    padding:0 !important;
    border:none !important;
  }

  .vitality-site .lead-box__illust{
    width:38% !important;
    max-width:9rem !important;
  }

  .vitality-site .lead-box__illust img{
    max-height:9rem;
    object-fit:contain;
  }

  .vitality-site .section-support-items .card{
    padding:0.65rem 0.5rem !important;
  }

  .vitality-site .hero-photo,
  .vitality-site .service-card__media img,
  .vitality-site .lead-box__illust img{
    max-width:100% !important;
    height:auto !important;
  }

  .vitality-site .hero-photo{
    height:auto !important;
    min-height:0 !important;
    background:#f5f5f5 !important;
  }

  .vitality-site .section-home-life{
    background:#f5f5f5 !important;
  }

  .vitality-site .section-home-life::before{
    display:none !important;
  }

  /* Tables */
  .vitality-site .table{
    border:1px solid #ccc !important;
    border-radius:0 !important;
    page-break-inside:auto;
  }

  .vitality-site .table th,
  .vitality-site .table td{
    display:table-cell !important;
    width:auto !important;
    border:1px solid #ccc !important;
    padding:0.5rem !important;
    background:#fff !important;
    color:#333 !important;
  }

  .vitality-site .table th{
    background:#f3f3f3 !important;
    color:#072f4a !important;
  }

  .vitality-site .table tr{
    break-inside:avoid;
    page-break-inside:avoid;
  }

  /* FAQ: show all answers */
  .vitality-site .faq details{
    display:block !important;
  }

  .vitality-site .faq details summary{
    display:block !important;
    list-style:none !important;
    cursor:default !important;
  }

  .vitality-site .faq details summary::-webkit-details-marker,
  .vitality-site .faq details summary::marker{
    display:none !important;
  }

  .vitality-site .faq details > *:not(summary){
    display:block !important;
  }

  .vitality-site .faq details:not([open]) > *:not(summary){
    visibility:visible !important;
    height:auto !important;
    overflow:visible !important;
  }

  /* Links */
  .vitality-site a{
    color:inherit !important;
    text-decoration:underline !important;
  }

  .vitality-site a[href^="http"]:after,
  .vitality-site a[href^="/"]:after{
    content:none !important;
  }
}

@media (max-width:980px){
  .vitality-site .footer-grid--4{
    grid-template-columns:1fr 1fr;
    gap:1.75rem 1.25rem;
  }
  .vitality-site .footer-col--brand{
    grid-column:1 / -1;
  }
}

@media (max-width:560px){
  .vitality-site .footer-grid--4{
    grid-template-columns:1fr;
  }
  .vitality-site .footer-bottom{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* Contact hub + SMF form pages */
.vitality-site .contact-hub__phone{
  max-width:680px;
  margin:0 auto;
  text-align:center;
}
.vitality-site .contact-hub__phone .phone-panel{
  width:100%;
  max-width:100%;
  min-width:min(100%, 32rem);
  margin:1.25rem auto 0;
  padding:1.75rem 2.5rem;
  text-align:center;
}
.vitality-site .contact-hub__phone .phone-panel .sub,
.vitality-site .contact-hub__phone .phone-panel .phone,
.vitality-site .contact-hub__phone .phone-panel .phone-panel__mobile{
  text-align:center;
}
.vitality-site .contact-hub__phone .phone-panel a{
  color:#fff;
}
.vitality-site .contact-hub__phone .phone-panel__tel{
  display:none;
}
.vitality-site .contact-hub__phone .phone-panel__number{
  color:#fff;
}
.vitality-site .contact-hub__phone .phone-panel__mobile{
  font-weight:900;
  margin-top:8px;
}
@media (max-width:767px){
  .vitality-site .contact-hub__phone .phone-panel__number{
    display:none;
  }
  .vitality-site .contact-hub__phone .phone-panel__tel{
    display:inline;
    color:#fff;
    text-decoration:none;
  }
}
.vitality-site .contact-hub__forms{
  margin-top:2.5rem;
  padding:0;
  background:transparent !important;
}
.vitality-site .contact-hub__forms-head{
  text-align:center;
  margin-bottom:2rem;
}
.vitality-site .contact-hub__forms-head h2{
  margin:0 0 0.75rem;
}
.vitality-site .contact-hub__forms-head p{
  margin:0;
  color:var(--muted);
  font-weight:700;
}
.vitality-site .contact-hub__choices{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:1.25rem;
  max-width:960px;
  margin:0 auto;
}
.vitality-site .contact-hub__card{
  display:flex;
  flex-direction:column;
  height:100%;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:1.75rem 1.5rem 1.5rem;
  box-shadow:var(--shadow-soft);
  text-decoration:none;
  color:inherit;
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.vitality-site .contact-hub__card:hover{
  border-color:rgba(36,59,99,.28);
  box-shadow:var(--shadow);
  transform:translateY(-2px);
}
.vitality-site .contact-hub__card-label{
  display:inline-block;
  font-size:0.8125rem;
  font-weight:800;
  letter-spacing:.08em;
  color:var(--sub);
  margin-bottom:0.65rem;
}
.vitality-site .contact-hub__card-title{
  margin:0 0 0.85rem;
  font-size:clamp(1.2rem,2.2vw,1.5rem);
  font-weight:900 !important;
  line-height:1.45;
  color:var(--green-2);
}
.vitality-site .contact-hub__card-title:after{
  display:none !important;
}
.vitality-site .contact-hub__card-text{
  margin:0 0 1.35rem;
  flex:1;
  color:var(--muted);
  font-weight:700;
  line-height:1.75;
}
.vitality-site .contact-hub__card-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:12rem;
  padding:0.85rem 1.5rem;
  border-radius:999px;
  background:var(--green);
  color:#fff;
  border:none;
  font-weight:800;
  font-size:0.9375rem;
}
.vitality-site .contact-hub__card:hover .contact-hub__card-btn{
  background:var(--green-2);
}
.vitality-site .contact-form-page .snow-monkey-form{
  margin-top:1.5rem;
}
.vitality-site .contact-form-page .contact-box{
  max-width:960px;
  margin:0 auto;
}
.vitality-site .contact-form-page .smf-form .smf-item{
	display:block;
	border-top: dotted 1px #e1e1e1;
}
.vitality-site .contact-form-page .smf-item__col--label,
.vitality-site .contact-form-page .smf-item__col--controls{
  width:100%;
  max-width:none;
  flex:none;
  padding-right:0;
}
.vitality-site .contact-form-page .smf-text-control,
.vitality-site .contact-form-page .smf-email-control,
.vitality-site .contact-form-page .smf-tel-control,
.vitality-site .contact-form-page .smf-select-control,
.vitality-site .contact-form-page .smf-textarea-control{
  display:block;
  width:100%;
}
.vitality-site .contact-form-page .smf-text-control__control,
.vitality-site .contact-form-page .smf-email-control__control,
.vitality-site .contact-form-page .smf-tel-control__control,
.vitality-site .contact-form-page .smf-select-control__control,
.vitality-site .contact-form-page .smf-textarea-control__control{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.vitality-site .contact-form-page .smf-select-control__control{
  display:block;
}
.vitality-site .contact-form-page__back{
  margin-top:2rem;
  text-align:center;
}
.vitality-site .contact-form-page__back a{
  color:var(--sub);
  font-weight:700;
  text-decoration:underline;
}
.vitality-site .contact-form-page .smf-item__label{
    display: inline-block;
    margin-bottom: 0.8rem;
}
.vitality-site .contact-form-page .smf-item__description {
    display: inline-block;
    background-color: #ee8a2e;
    margin-left: 0.5rem;
    padding: 3px 8px;
    color: white;
    border-radius: 35px;
    font-size: 0.75rem;
}

@media (max-width:767px){
  .vitality-site .contact-hub__choices{
    grid-template-columns:1fr;
  }
  .vitality-site .contact-hub__card{
    padding:1.5rem 1.25rem 1.35rem;
  }
  .vitality-site .contact-hub__card-btn{
    width:100%;
  }
}
/*care-work*/
.fc-red{
	color: var(--red);
}
.vitality-site .job-link .fc-red{
	color: var(--red) !important;
	margin-top: .5rem;
}