/* About page */

.about-page{
padding:34px 24px 80px}
.about-container{
max-width:1180px;
margin:auto}
.about-breadcrumb{
display:flex;
gap:10px;
align-items:center;
color:#84988d;
font-size:13px;
margin-bottom:42px}
.about-breadcrumb a{
color:var(--green)}
.about-heading{
text-align:center;
margin-bottom:32px}
.about-heading h1{
color:var(--deep);
font-size:clamp(29px,3.5vw,43px);
font-weight:600;
margin:13px 0}
.about-heading p,.about-section-heading>p{
color:#71877a;
font-size:15px;
line-height:1.8}
.about-banner{
margin:0;
overflow:hidden;
border-radius:22px;
background:#e8f3ed}
.about-banner img{
width:100%;
height:auto;
display:block}
.about-story{
display:grid;
grid-template-columns:1fr 1.4fr;
gap:60px;
padding:76px 0 38px}
.about-section-heading h2,.about-contact h2{
font-size:clamp(25px,2.5vw,34px);
font-weight:600;
color:var(--deep);
margin:10px 0}
.about-story-content p,.about-service-grid p{
font-size:15px;
line-height:1.95;
color:#61796d}
.about-story-content p:last-child{
margin-bottom:0}
.about-facts{
display:grid;
grid-template-columns:repeat(3,1fr);
background:#e9f3eb;
border-radius:18px;
margin:0 0 80px;
padding:24px}
.about-facts>div{
display:flex;
flex-direction:column;
align-items:center;
gap:4px;
padding:12px;
text-align:center}
.about-facts>div+div{
border-left:1px solid #d2e4d7}
.about-facts .material-symbols-outlined{
color:#499677;
font-size:26px;
margin-bottom:5px}
.about-facts strong{
color:var(--deep);
font-size:23px}
.about-facts div>span:last-child{
color:#748b7d;
font-size:13px}
.about-services>.about-section-heading{
text-align:center;
margin-bottom:30px}
.about-service-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:14px}
.about-service-grid article{
background:#fff;
border:1px solid #e7eee9;
border-radius:16px;
padding:25px 22px;
box-shadow:0 8px 30px rgba(27,70,48,.04)}
.about-service-grid article>.material-symbols-outlined{
color:var(--green);
background:var(--mint);
padding:11px;
border-radius:11px}
.about-service-grid h3{
font-size:17px;
font-weight:600;
color:var(--deep);
margin:20px 0 10px}
.about-service-grid p{
font-size:13px;
margin:0}
.about-contact{
display:grid;
grid-template-columns:1fr 1.3fr;
gap:50px;
background:#e9f3eb;
border-radius:20px;
padding:38px 42px;
margin-top:80px}
.about-contact p{
color:#71877a;
font-size:14px}
.about-contact dl{
margin:0}
.about-contact dl>div{
display:grid;
grid-template-columns:85px 1fr;
gap:12px;
padding:10px 0;
border-bottom:1px solid #d3e5d8;
font-size:14px;
line-height:1.8}
.about-contact dl>div:last-child{
border:0}
.about-contact dt{
color:#789083;
font-weight:400}
.about-contact dd{
margin:0;
color:var(--deep)}
.about-contact a{
color:var(--green);
overflow-wrap:anywhere}
.about-policy{
padding-top:80px;
text-align:center}
.about-policy img{
display:block;
width:100%;
height:auto;
border-radius:18px;
margin-top:25px}
@media(max-width:991px){
.about-service-grid{
grid-template-columns:repeat(2,1fr)}
.about-story{
gap:30px}
}
@media(max-width:600px){
.about-page{
padding:25px 16px 50px}
.about-breadcrumb{
margin-bottom:30px}
.about-story{
grid-template-columns:1fr;
gap:12px;
padding:48px 0 28px}
.about-facts{
padding:14px 4px;
margin-bottom:50px}
.about-facts strong{
font-size:17px}
.about-facts div>span:last-child{
font-size:11px}
.about-service-grid{
grid-template-columns:1fr}
.about-contact{
grid-template-columns:1fr;
gap:10px;
padding:28px 24px;
margin-top:50px}
.about-contact dl>div{
grid-template-columns:65px 1fr}
.about-policy{
padding-top:50px}
}


/* Dental clinic */

.dental-page{
padding:34px 24px 80px}
.dental-hero{
display:grid;
grid-template-columns:1fr 1fr;
overflow:hidden;
border-radius:22px;
background:#e9f3eb}
.dental-hero-copy{
padding:clamp(32px,5vw,65px);
display:flex;
flex-direction:column;
align-items:flex-start;
justify-content:center}
.dental-hero h1{
font-size:clamp(32px,4vw,48px);
line-height:1.35;
font-weight:600;
color:var(--deep);
margin:14px 0}
.dental-hero p,.dental-contact p{
color:#617b6c;
font-size:15px;
line-height:1.9;
margin-bottom:24px}
.dental-hero .hero-button .material-symbols-outlined,.dental-contact .hero-button .material-symbols-outlined{
font-size:19px}
.dental-extension{
font-size:13px;
color:#6c8576;
margin-top:14px}
.dental-hero-image{
min-height:350px}
.dental-hero-image img,.dental-contact-image img{
width:100%;
height:100%;
object-fit:cover;
display:block}
.dental-services{
padding:75px 0}
.dental-services .about-section-heading{
text-align:center;
margin-bottom:30px}
.dental-service-list{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:12px;
padding:0;
margin:0;
list-style:none}
.dental-service-list li{
display:flex;
align-items:center;
gap:12px;
min-height:72px;
background:#fff;
border:1px solid #e7eee9;
border-radius:14px;
padding:16px;
color:var(--deep);
font-size:15px;
box-shadow:0 8px 30px rgba(27,70,48,.04)}
.dental-service-list li:before{
content:'✓';
display:grid;
place-items:center;
flex:0 0 32px;
height:32px;
border-radius:50%;
background:var(--mint);
color:#338766;
font-weight:600}
.dental-contact{
display:grid;
grid-template-columns:1fr 1fr;
overflow:hidden;
border-radius:20px;
background:#f0f6f1}
.dental-contact-image{
min-height:300px}
.dental-contact-copy{
padding:clamp(30px,4vw,52px);
display:flex;
flex-direction:column;
align-items:flex-start;
justify-content:center}
.dental-contact h2{
font-size:clamp(25px,2.5vw,34px);
font-weight:600;
color:var(--deep);
margin:10px 0}
.dental-contact p{
margin-bottom:10px}
.dental-phone{
font-size:24px;
font-weight:600;
color:var(--green);
margin-bottom:22px}
.dental-phone span{
font-size:15px;
font-weight:400}
.dental-phone:hover{
color:var(--deep)}
@media(max-width:991px){
.dental-service-list{
grid-template-columns:repeat(3,1fr)}
}
@media(max-width:600px){
.dental-page{
padding:25px 16px 50px}
.dental-hero,.dental-contact{
grid-template-columns:1fr}
.dental-hero-copy{
padding:32px 24px}
.dental-hero-image{
min-height:0}
.dental-hero-image img{
height:auto}
.dental-services{
padding:50px 0}
.dental-service-list{
grid-template-columns:repeat(2,1fr);
gap:8px}
.dental-service-list li{
font-size:13px;
padding:12px 10px;
min-height:60px}
.dental-contact-image{
min-height:0}
.dental-contact-image img{
height:auto}
.dental-contact-copy{
padding:30px 24px}
}


/* Rehabilitation department */

.rehab-page{
padding:34px 24px 80px}
.rehab-hero{
display:grid;
grid-template-columns:1fr 1fr;
overflow:hidden;
border-radius:22px;
background:#e9f3eb}
.rehab-hero-copy{
padding:clamp(32px,5vw,65px);
display:flex;
flex-direction:column;
align-items:flex-start;
justify-content:center}
.rehab-hero h1{
font-size:clamp(32px,4vw,48px);
line-height:1.35;
font-weight:600;
color:var(--deep);
margin:14px 0}
.rehab-hero p{
font-size:15px;
line-height:1.9;
color:#617b6c;
margin-bottom:24px}
.rehab-hero .hero-button .material-symbols-outlined{
font-size:19px}
.rehab-extension{
font-size:13px;
color:#6c8576;
margin-top:14px}
.rehab-hero-image{
min-height:350px}
.rehab-hero-image img{
display:block;
width:100%;
height:100%;
object-fit:cover}
.rehab-services{
padding:75px 0}
.rehab-services>.about-section-heading,.rehab-gallery>.about-section-heading{
text-align:center;
margin-bottom:30px}
.rehab-service-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:14px}
.rehab-service-grid article{
background:#fff;
border:1px solid #e7eee9;
border-radius:16px;
padding:25px;
box-shadow:0 8px 30px rgba(27,70,48,.04)}
.rehab-service-grid article>.material-symbols-outlined{
color:var(--green);
background:var(--mint);
padding:11px;
border-radius:11px}
.rehab-service-grid h3{
font-size:17px;
font-weight:600;
color:var(--deep);
margin:20px 0 10px}
.rehab-service-grid p{
font-size:14px;
line-height:1.9;
color:#61796d;
margin:0}
.rehab-hours{
display:grid;
grid-template-columns:1fr 1.5fr;
gap:40px;
padding:40px 42px;
border-radius:20px;
background:#e9f3eb}
.rehab-hours h2,.rehab-contact h2{
font-size:clamp(25px,2.5vw,34px);
font-weight:600;
color:var(--deep);
margin:10px 0}
.rehab-hours-heading p,.rehab-contact p{
color:#71877a;
font-size:14px}
.rehab-hours-row{
display:flex;
align-items:center;
gap:14px;
padding:15px 0;
border-bottom:1px solid #d3e5d8}
.rehab-hours-row>.material-symbols-outlined{
color:#3e9270}
.rehab-hours-row div{
flex:1}
.rehab-hours-row strong,.rehab-hours-row b{
color:var(--deep);
font-size:14px}
.rehab-hours-row p{
color:#71877a;
font-size:13px;
margin:4px 0 0}
.rehab-hours-row b{
white-space:nowrap}
.rehab-notice{
display:flex;
align-items:flex-start;
gap:10px;
padding:14px;
margin:20px 0 0;
border-radius:10px;
background:#fff9e8;
color:#745a25;
font-size:13px;
line-height:1.8}
.rehab-notice .material-symbols-outlined{
font-size:20px}
.rehab-gallery{
padding:75px 0}
.rehab-gallery-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:14px}
.rehab-gallery-grid img{
width:100%;
height:420px;
object-fit:cover;
object-position:center;
border-radius:16px}
.rehab-contact{
display:flex;
align-items:center;
justify-content:space-between;
gap:25px;
padding:38px 42px;
border:1px solid #e0ece3;
border-radius:20px;
background:#fff}
.rehab-contact p{
margin:0}
.rehab-contact-links{
display:flex;
flex-direction:column;
gap:8px}
.rehab-contact-links a{
display:flex;
justify-content:space-between;
gap:25px;
color:var(--green);
font-size:17px;
font-weight:600}
.rehab-contact-links a:hover{
color:var(--deep)}
@media(max-width:991px){
.rehab-hours{
grid-template-columns:1fr;
gap:10px}
.rehab-gallery-grid img{
height:340px}
}
@media(max-width:600px){
.rehab-page{
padding:25px 16px 50px}
.rehab-hero{
grid-template-columns:1fr}
.rehab-hero-copy{
padding:32px 24px}
.rehab-hero-image{
min-height:0}
.rehab-hero-image img{
height:auto}
.rehab-services,.rehab-gallery{
padding:50px 0}
.rehab-service-grid{
grid-template-columns:1fr}
.rehab-hours{
padding:28px 24px}
.rehab-hours-row{
flex-wrap:wrap}
.rehab-hours-row b{
margin-left:38px}
.rehab-gallery-grid{
gap:8px}
.rehab-gallery-grid img{
height:240px}
.rehab-contact{
align-items:flex-start;
flex-direction:column;
padding:28px 24px}
}


/* Dialysis schedule modal */

.dialysis-modal .modal-content{
border-radius:20px;
background:#fff}
.dialysis-modal .modal-header{
align-items:flex-start;
padding:26px 30px 22px;
background:#e9f3eb}
.dialysis-eyebrow{
font-size:11px;
letter-spacing:.15em;
font-weight:600;
color:#3b9a76}
.dialysis-modal .modal-header .modal-title{
font-size:25px;
font-weight:600;
line-height:1.4;
margin:6px 0 2px}
.dialysis-modal .modal-header p{
color:#71877a;
font-size:13px;
margin:0}
.dialysis-modal .modal-header .close{
display:flex;
align-items:center;
justify-content:center;
width:48px;
height:48px;
padding:0;
margin:-8px -8px 0 auto;
border-radius:50%;
color:#155d4a;
font-size:36px;
font-weight:400;
line-height:1;
opacity:1}
.dialysis-modal .modal-header .close:hover,.dialysis-modal .modal-header .close:focus-visible{
background:#d6eadc;
color:#123d35}
.dialysis-modal .modal-body{
padding:25px 30px}
.dialysis-intro{
display:flex;
align-items:center;
gap:13px;
margin-bottom:20px}
.dialysis-intro>.material-symbols-outlined{
color:var(--green);
background:var(--mint);
padding:10px;
border-radius:11px}
.dialysis-intro h3{
font-size:16px;
font-weight:600;
color:var(--deep);
margin:0 0 4px}
.dialysis-intro p{
font-size:13px;
color:#71877a;
margin:0}
.dialysis-table-wrap{
overflow-x:auto;
border:1px solid #e1ebe4;
border-radius:12px}
.dialysis-table{
width:100%;
min-width:630px;
border-collapse:collapse;
font-size:13px;
text-align:center}
.dialysis-table th,.dialysis-table td{
padding:14px 10px;
white-space:nowrap;
border-bottom:1px solid #edf2ee}
.dialysis-table thead th{
background:#f0f6f1;
color:#507463;
font-weight:600}
.dialysis-table tbody th{
color:var(--deep);
font-weight:600;
text-align:left}
.dialysis-table tbody td{
color:#61796d}
.dialysis-table tbody tr:last-child th,.dialysis-table tbody tr:last-child td{
border-bottom:0}
.dialysis-table .dialysis-closed{
color:#9a7762}
.dialysis-scroll-hint{
display:none;
color:#71877a;
font-size:12px;
margin:10px 0 0}
.dialysis-modal .modal-footer{
padding:16px 30px}
.dialysis-close-button{
border:0;
border-radius:10px;
padding:10px 22px;
background:var(--green);
color:#fff;
font:inherit;
font-size:14px}
.dialysis-close-button:hover,.dialysis-close-button:focus-visible{
background:#0f4939}
@media(max-width:600px){
.dialysis-modal .modal-header{
padding:22px 20px}
.dialysis-modal .modal-body{
padding:22px 20px}
.dialysis-modal .modal-footer{
padding:14px 20px}
.dialysis-scroll-hint{
display:block}
}


/* Room rates */

.room-page{
padding:34px 24px 80px}
.room-heading{
text-align:center;
margin-bottom:45px}
.room-heading h1{
color:var(--deep);
font-size:clamp(30px,3.5vw,43px);
font-weight:600;
margin:13px 0}
.room-heading p,.room-section-top p{
color:#71877a;
font-size:15px;
line-height:1.8}
.room-section-top{
display:flex;
align-items:flex-end;
justify-content:space-between;
gap:16px;
margin-bottom:20px}
.room-section-top h2,.room-notes h2,.room-contact h2{
font-size:clamp(24px,2.5vw,32px);
font-weight:600;
color:var(--deep);
margin:9px 0}
.room-section-top p{
margin:0}
.room-unit{
color:#71877a;
font-size:13px;
white-space:nowrap}
.room-table-wrap{
overflow-x:auto;
border:1px solid #e1ebe4;
border-radius:16px;
background:#fff}
.room-table{
width:100%;
border-collapse:collapse;
font-size:15px}
.room-table th,.room-table td{
padding:15px 22px;
border-bottom:1px solid #edf2ee}
.room-table thead th{
background:#e9f3eb;
color:#507463;
font-size:13px;
font-weight:600}
.room-table th:first-child{
text-align:left}
.room-table th:last-child,.room-table td{
text-align:right}
.room-table tbody th{
color:var(--deep);
font-weight:500}
.room-table td{
color:var(--green);
font-weight:600}
.room-table tr:last-child th,.room-table tr:last-child td{
border-bottom:0}
.room-operating,.room-gallery{
padding-top:70px}
.room-operating-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:14px}
.room-operating-grid article{
padding:24px;
background:#fff;
border:1px solid #e7eee9;
border-radius:16px}
.room-operating-grid .material-symbols-outlined{
background:var(--mint);
color:var(--green);
padding:10px;
border-radius:11px}
.room-operating-grid h3{
font-size:17px;
font-weight:600;
color:var(--deep);
margin:16px 0 12px}
.room-operating-grid p{
font-size:14px;
color:#61796d;
margin:5px 0}
.room-operating-grid strong{
color:var(--green)}
.room-gallery-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:14px}
.room-gallery-grid figure{
overflow:hidden;
margin:0;
background:#fff;
border:1px solid #e7eee9;
border-radius:16px}
.room-gallery-grid img{
display:block;
width:100%;
height:220px;
object-fit:cover}
.room-gallery-grid figcaption{
padding:16px 18px;
color:var(--deep);
font-weight:500;
font-size:15px}
.room-notes{
background:#f0f6f1;
border-radius:20px;
padding:36px 40px;
margin-top:70px}
.room-notes h3{
font-size:16px;
font-weight:600;
color:var(--deep);
margin:24px 0 12px}
.room-notes ol,.room-notes ul{
padding-left:22px;
margin:0;
color:#61796d;
font-size:14px;
line-height:1.9}
.room-notes ul{
margin-top:14px}
.room-notes li+li{
margin-top:8px}
.room-contact{
display:flex;
justify-content:space-between;
align-items:center;
gap:24px;
padding:36px 40px;
border:1px solid #e1ebe4;
border-radius:20px;
background:#fff;
margin-top:20px}
.room-contact p{
color:#71877a;
font-size:14px;
margin:0}
.room-contact .hero-button{
flex-shrink:0}
.room-contact .material-symbols-outlined{
font-size:19px}
@media(max-width:600px){
.room-page{
padding:25px 16px 50px}
.room-heading{
margin-bottom:32px}
.room-table th,.room-table td{
padding:13px 14px;
font-size:13px}
.room-operating,.room-gallery{
padding-top:50px}
.room-operating-grid{
grid-template-columns:1fr}
.room-gallery-grid{
grid-template-columns:repeat(2,1fr);
gap:8px}
.room-gallery-grid img{
height:140px}
.room-gallery-grid figcaption{
padding:12px;
font-size:13px}
.room-notes{
padding:28px 24px;
margin-top:50px}
.room-contact{
align-items:flex-start;
flex-direction:column;
padding:28px 24px}
}


/* Food and service rates */

.food-service-page{
padding:34px 24px 80px}
.food-service-table-wrap{
overflow-x:auto;
border:1px solid #e1ebe4;
border-radius:16px;
background:#fff}
.food-service-table{
width:100%;
min-width:760px;
border-collapse:collapse;
font-size:14px}
.food-service-table th,.food-service-table td{
padding:16px 14px;
border-bottom:1px solid #edf2ee;
text-align:center;
white-space:nowrap}
.food-service-table thead th{
background:#e9f3eb;
color:#507463;
font-size:13px;
font-weight:600}
.food-service-table th:first-child{
text-align:left}
.food-service-table tbody th{
color:var(--deep);
font-weight:500}
.food-service-table td{
color:#61796d}
.food-service-table tr:last-child th,.food-service-table tr:last-child td{
border-bottom:0}
.food-service-scroll-hint{
display:none;
color:#71877a;
font-size:12px;
margin:10px 0 0}
.food-service-nursing{
display:grid;
grid-template-columns:1fr 1.5fr;
gap:30px;
align-items:center;
padding:35px 40px;
margin-top:35px;
border-radius:20px;
background:#e9f3eb}
.food-service-nursing-heading{
display:flex;
gap:14px;
align-items:center}
.food-service-nursing-heading>.material-symbols-outlined{
color:var(--green);
background:#fff;
padding:12px;
border-radius:12px}
.food-service-nursing h2{
color:var(--deep);
font-size:23px;
font-weight:600;
margin:7px 0 0}
.food-service-nursing-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:12px}
.food-service-nursing-grid>div{
display:flex;
flex-direction:column;
gap:7px;
padding:18px 20px;
border-radius:12px;
background:#fff}
.food-service-nursing-grid span{
color:#71877a;
font-size:13px}
.food-service-nursing-grid strong{
color:var(--green);
font-size:20px}
.food-service-nursing-grid small{
font-size:13px;
font-weight:400}
.food-service-link{
text-align:center;
margin-top:32px}
.food-service-link a{
color:var(--green);
font-size:14px;
font-weight:500}
.food-service-link span{
margin-left:7px}
@media(max-width:991px){
.food-service-nursing{
grid-template-columns:1fr}
.food-service-scroll-hint{
display:block}
}
@media(max-width:600px){
.food-service-page{
padding:25px 16px 50px}
.food-service-table th,.food-service-table td{
padding:14px 12px}
.food-service-nursing{
padding:28px 24px;
gap:20px}
.food-service-nursing-grid{
grid-template-columns:1fr}
.food-service-nursing h2{
font-size:20px}
}


/* Insurance partners */

.insurance-page{
padding:34px 24px 80px}
.insurance-heading{
text-align:center;
margin-bottom:38px}
.insurance-heading h1{
color:var(--deep);
font-size:clamp(30px,3.5vw,43px);
font-weight:600;
margin:13px 0}
.insurance-heading p{
color:#71877a;
font-size:15px;
line-height:1.8}
.insurance-intro{
display:flex;
gap:15px;
align-items:flex-start;
padding:22px 24px;
background:#e9f3eb;
border-radius:16px}
.insurance-intro>.material-symbols-outlined{
color:var(--green);
background:#fff;
padding:10px;
border-radius:11px}
.insurance-intro strong{
display:block;
color:var(--deep);
font-size:15px;
margin:2px 0 5px}
.insurance-intro p{
color:#61796d;
font-size:13px;
line-height:1.8;
margin:0}
.insurance-section{
padding-top:55px}
.insurance-section-heading{
display:flex;
align-items:flex-end;
justify-content:space-between;
gap:16px;
margin-bottom:18px}
.insurance-section-heading h2,.insurance-contact h2{
color:var(--deep);
font-size:clamp(24px,2.5vw,32px);
font-weight:600;
margin:9px 0 0}
.insurance-section-heading>a{
color:var(--green);
font-size:13px;
white-space:nowrap}
.insurance-image{
display:block;
overflow:hidden;
max-width:850px;
margin:auto;
background:#fff;
border:1px solid #e1ebe4;
border-radius:18px;
box-shadow:0 8px 30px rgba(27,70,48,.05)}
.insurance-image img{
display:block;
width:100%;
height:auto}
.insurance-contact{
display:flex;
align-items:center;
justify-content:space-between;
gap:24px;
padding:36px 40px;
margin-top:65px;
border:1px solid #e1ebe4;
border-radius:20px;
background:#fff}
.insurance-contact p{
color:#71877a;
font-size:14px;
line-height:1.8;
margin:8px 0 0}
.insurance-contact .hero-button{
flex-shrink:0}
.insurance-contact .material-symbols-outlined{
font-size:19px}
@media(max-width:600px){
.insurance-page{
padding:25px 16px 50px}
.insurance-heading{
margin-bottom:28px}
.insurance-intro{
padding:18px}
.insurance-section{
padding-top:42px}
.insurance-section-heading h2{
font-size:23px}
.insurance-section-heading>a{
font-size:12px}
.insurance-image{
border-radius:12px}
.insurance-contact{
align-items:flex-start;
flex-direction:column;
padding:28px 24px;
margin-top:50px}
}


/* Contact */

.contact-page{
padding:34px 24px 80px}
.contact-heading{
text-align:center;
margin-bottom:38px}
.contact-heading h1{
color:var(--deep);
font-size:clamp(30px,3.5vw,43px);
font-weight:600;
margin:13px 0}
.contact-heading p{
color:#71877a;
font-size:15px}
.contact-overview{
display:grid;
grid-template-columns:1fr 1fr;
overflow:hidden;
border-radius:22px;
background:#e9f3eb}
.contact-overview-copy{
padding:clamp(32px,5vw,60px)}
.contact-brand{
display:inline-flex;
align-items:center;
justify-content:center;
width:min(100%,240px);
padding:7px 14px;
margin-bottom:16px;
background:#fff;
border:1px solid #d9e9df;
border-radius:14px;
box-shadow:0 5px 18px rgba(27,70,48,.05)}
.contact-brand img{display:block;width:100%;height:auto}
.contact-overview h2{
color:var(--deep);
font-size:clamp(27px,3vw,38px);
line-height:1.4;
font-weight:600;
margin:12px 0}
.contact-overview-copy p{
color:#617b6c;
font-size:15px;
line-height:1.8;
margin-bottom:24px}
.contact-overview .hero-button .material-symbols-outlined{
font-size:19px}
.contact-overview-details{
display:flex;
flex-direction:column;
justify-content:center;
gap:23px;
background:#fff;
border:1px solid #e1ebe4;
border-radius:0 22px 22px 0;
padding:35px 40px}
.contact-overview-details>div{
display:flex;
align-items:flex-start;
gap:14px}
.contact-overview-details>div>.material-symbols-outlined,.contact-department-grid article>.material-symbols-outlined{
color:var(--green);
background:var(--mint);
padding:10px;
border-radius:11px}
.contact-overview-details h3,.contact-department-grid h3{
font-size:15px;
color:var(--deep);
font-weight:600;
margin:0 0 7px}
.contact-overview-details p,.contact-department-grid p{
font-size:14px;
line-height:1.9;
color:#61796d;
margin:0}
.contact-overview-details a,.contact-department-grid a{
color:var(--green);
overflow-wrap:anywhere}
.contact-departments,.contact-map{
padding-top:75px}
.contact-departments>.about-section-heading,.contact-map>.about-section-heading{
text-align:center;
margin-bottom:30px}
.contact-department-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:14px}
.contact-department-grid article{
padding:24px;
background:#fff;
border:1px solid #e7eee9;
border-radius:16px;
box-shadow:0 8px 30px rgba(27,70,48,.04)}
.contact-department-grid h3{
margin:18px 0 10px}
.contact-department-grid a{
display:block;
font-size:14px;
font-weight:500;
line-height:1.9}
.contact-map iframe{
display:block;
width:100%;
height:400px;
border:0;
border-radius:20px}
@media(max-width:991px){
.contact-department-grid{
grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
.contact-page{
padding:25px 16px 50px}
.contact-heading{
margin-bottom:28px}
.contact-overview{
grid-template-columns:1fr}
.contact-overview-copy{
padding:32px 24px}
.contact-brand{width:min(100%,210px);margin-bottom:12px}
.contact-overview-details{
border-radius:0 0 22px 22px;
padding:28px 24px}
.contact-departments,.contact-map{
padding-top:50px}
.contact-department-grid{
grid-template-columns:1fr}
.contact-map iframe{
height:300px}
}



/* Careers */
.careers-page{padding:34px 24px 80px}
.careers-hero{display:grid;grid-template-columns:1.4fr 1fr;overflow:hidden;border-radius:22px;background:#e9f3eb}
.careers-hero-copy{padding:clamp(32px,5vw,64px)}
.careers-hero h1{color:var(--deep);font-size:clamp(32px,4vw,48px);line-height:1.35;font-weight:600;margin:14px 0}
.careers-hero-copy p,.careers-hero-aside p{color:#617b6c;font-size:15px;line-height:1.9;margin-bottom:24px}
.careers-hero-aside{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:40px;background:#dceee1}
.careers-hero-aside>.material-symbols-outlined{padding:12px;color:var(--green);background:#fff;border-radius:12px;font-size:25px}
.careers-date-label{font-size:13px;color:#688777;margin-top:18px}
.careers-hero-aside strong{font-size:24px;color:var(--deep);margin:4px 0 10px}
.careers-hero-aside p{font-size:14px;margin-bottom:12px}
.careers-hero-aside a,.careers-original a,.careers-contact-grid a{color:var(--green)}
.careers-positions{padding:75px 0 0;scroll-margin-top:100px}
.careers-section-heading{text-align:center;margin-bottom:30px}
.careers-section-heading h2,.careers-apply h2{font-size:clamp(25px,2.5vw,34px);font-weight:600;color:var(--deep);margin:10px 0}
.careers-section-heading p,.careers-apply-heading p{color:#71877a;font-size:14px;line-height:1.8}
.careers-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.careers-card{border:1px solid #e1ebe4;border-radius:16px;background:#fff;overflow:hidden}
.careers-card-header{display:flex;align-items:center;gap:12px;padding:20px 22px;background:#f0f6f1;border-bottom:1px solid #e1ebe4}
.careers-card-header .material-symbols-outlined{padding:9px;color:var(--green);background:#fff;border-radius:10px}
.careers-card h3{margin:0;color:var(--deep);font-size:17px;font-weight:600;line-height:1.5}
.careers-card ul{list-style:none;margin:0;padding:0 22px}
.careers-card li{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 0;color:var(--ink);font-size:14px;line-height:1.7}
.careers-card li+li{border-top:1px solid #edf2ee}
.careers-card small{display:block;color:#71877a;font-size:13px}
.career-badge{flex-shrink:0;padding:3px 10px;border-radius:999px;background:#e8f3ed;color:#267553;font-size:12px;white-space:nowrap}
.career-badge.urgent{background:#fff1e7;color:#a34f21}
.careers-original{text-align:center;margin:24px 0 0;font-size:14px}
.careers-apply{margin-top:65px;padding:38px 42px;border-radius:20px;background:#e9f3eb;scroll-margin-top:100px}
.careers-apply-heading p{margin:0}
.careers-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:25px}
.careers-contact-grid>div{display:flex;align-items:flex-start;gap:12px;padding:18px;background:#fff;border-radius:12px}
.careers-contact-grid .material-symbols-outlined{color:var(--green);background:var(--mint);padding:9px;border-radius:10px}
.careers-contact-grid h3{color:var(--deep);font-size:14px;font-weight:600;margin:0 0 5px}
.careers-contact-grid p{color:#61796d;font-size:14px;line-height:1.8;margin:0;overflow-wrap:anywhere}
@media(max-width:767px){.careers-hero,.careers-grid{grid-template-columns:1fr}.careers-hero-copy,.careers-hero-aside{padding:32px 24px}.careers-positions{padding-top:50px}.careers-apply{margin-top:50px;padding:28px 24px}.careers-contact-grid{grid-template-columns:1fr}}
@media(max-width:600px){.careers-page{padding:25px 16px 50px}.careers-card-header{padding:17px}.careers-card ul{padding:0 17px}}

/* Careers illustration */
.careers-hero-aside{display:block;padding:18px;background:#dceee1}
.careers-illustration{position:relative;overflow:hidden;margin:0;border-radius:14px;background:#d1e5d7}
.careers-illustration img{display:block;width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover}
.careers-illustration figcaption{position:absolute;right:10px;bottom:10px;padding:3px 8px;border-radius:6px;background:rgba(255,255,255,.88);color:#416455;font-size:11px}
.careers-hero-aside-content{padding:16px 8px 7px}
.careers-hero-aside-content .careers-date-label,.careers-hero-aside-content strong{display:block}
.careers-hero-aside-content .careers-date-label{margin-top:0}
@media(max-width:767px){.careers-hero-aside{padding:16px}.careers-hero-aside-content{padding:17px 8px 8px}}

/* Illustrations for information pages */
.page-illustration{position:relative;overflow:hidden;margin:0 0 28px;border-radius:18px;background:#eaf3e9}
.page-illustration img{display:block;width:100%;height:260px;object-fit:cover}
.page-illustration-insurance img{object-position:center 52%}
.page-illustration-meal img{object-position:center 55%}
.page-illustration figcaption{position:absolute;right:12px;bottom:12px;padding:4px 9px;border-radius:6px;background:rgba(255,255,255,.9);color:#416455;font-size:11px}
@media(max-width:600px){.page-illustration{border-radius:14px;margin-bottom:22px}.page-illustration img{height:180px}}

/* Facebook news */
.news-page{padding:34px 24px 80px}.news-heading{text-align:center;margin-bottom:38px}.news-heading h1{color:var(--deep);font-size:clamp(30px,3.5vw,43px);font-weight:600;margin:13px 0}.news-heading p,.news-facebook-copy p{color:#71877a;font-size:15px;line-height:1.9}.news-facebook{display:grid;grid-template-columns:1fr 1.15fr;gap:30px;align-items:start;padding:38px;background:#e9f3eb;border-radius:20px}.news-facebook-copy{padding:15px}.news-facebook-copy h2{font-size:clamp(25px,2.5vw,34px);font-weight:600;color:var(--deep);margin:10px 0}.news-facebook-copy p{margin-bottom:24px}.news-facebook-feed{min-width:0;padding:16px;border:1px solid #dce9df;border-radius:16px;background:#fff;text-align:center}.news-facebook-feed iframe{display:block;width:100%;max-width:500px;height:160px;margin:auto;border:0}.news-facebook-feed p{margin:14px 0 0;color:#71877a;font-size:13px;line-height:1.8}.news-facebook-feed a{color:var(--green)}@media(max-width:767px){.news-facebook{grid-template-columns:1fr;padding:20px;gap:20px}.news-facebook-copy{padding:6px}.news-page{padding:25px 16px 50px}.news-heading{margin-bottom:28px}.news-facebook-feed{padding:12px}.news-facebook-feed iframe{height:160px}}
