/*
Theme Name: CareSync
Theme URI: https://caresync.net/
Author: CareSync
Description: CareSync product site theme (Care in motion design, 2026-10). Native WPBakery elements styled by theme classes; blog templates; server-rendered pricing.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: caresync
*/

/* ---------- Fonts (SIL OFL, self-hosted) ---------- */
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url(assets/fonts/dm-sans-latin.woff2) format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:500 600;font-display:swap;src:url(assets/fonts/source-serif-4-latin.woff2) format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:500;font-display:swap;src:url(assets/fonts/source-serif-4-italic-latin.woff2) format("woff2")}

/* ---------- Tokens ---------- */
:root{
	--navy:#304770;--navy-dark:#1f365b;--blue:#4eabf9;--blue-ink:#1370b5;--pale:#e9f4fc;--neutral:#f3f6f8;--band:#c9e7fc;
	--ink:#233b60;--muted:#52637a;--line:#ccd8e4;--line-soft:#dbe4ec;
	--serif:"Source Serif 4",Georgia,"Times New Roman",serif;--sans:"DM Sans",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
	--max:1280px;--pad:max(5%,calc((100% - var(--max)) / 2));--gut:20px;
	--sec:150px;--sec-sm:96px
}
@media (max-width:767px){:root{--sec:85px;--sec-sm:60px}}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:2rem;-webkit-text-size-adjust:100%}
body.cs-design{margin:0;color:var(--ink);background:#fff;font:400 17px/1.7 var(--sans);overflow-x:hidden}
.cs-design img{max-width:100%;height:auto}
.cs-design a{color:inherit;text-underline-offset:5px}
.cs-design a:hover{color:#185f99}
.cs-design a,.cs-design button{transition:background-color .2s,color .2s,transform .2s}
.cs-design a:focus-visible,.cs-design button:focus-visible,.cs-design input:focus-visible,.cs-design textarea:focus-visible,.cs-design summary:focus-visible{outline:3px solid var(--blue-ink);outline-offset:4px}
.cs-design h1,.cs-design h2,.cs-design h3,.cs-design h4,.cs-design p{margin-top:0}
.cs-design h1,.cs-design h2,.cs-design h3,.cs-design h4{color:var(--navy);line-height:1.15;text-wrap:balance}
.cs-design h1,.cs-design h2{font-family:var(--serif);font-weight:600;letter-spacing:-.025em}
.cs-design h1{font-size:clamp(3rem,4.8vw,5rem);margin-bottom:1.6rem}
.cs-design h2{font-size:clamp(2rem,3.2vw,3.25rem);margin-bottom:1.4rem}
.cs-design h3{font-family:var(--sans);font-size:1.2rem;font-weight:600;margin-bottom:.7rem}
.cs-design h4{font-family:var(--sans);font-size:1.05rem;font-weight:600}
.cs-design em{font-style:italic;font-weight:500}
.cs-design p,.cs-design li{color:var(--muted)}
.cs-design p{max-width:65ch}
.cs-design strong{color:var(--ink);font-weight:600}
.cs-design sup{font-size:.45em;vertical-align:super;line-height:0;letter-spacing:0;font-family:var(--sans);font-weight:600}
.cs-design .lead,.cs-design .cs-lead p{font-size:1.2rem;line-height:1.6;max-width:44ch}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-100px;z-index:100;background:#fff;color:var(--navy);padding:12px 16px;border:2px solid var(--navy)}
.skip:focus{top:12px}

/* Buttons (theme) */
.cs-design .button{display:inline-block;background:var(--navy);color:#fff;padding:15px 24px;border:0;border-radius:5px;text-decoration:none;font:600 15px/1.3 var(--sans);cursor:pointer}
.cs-design .button:hover{background:var(--navy-dark);color:#fff;transform:translateY(-2px)}
.cs-design .button.small{padding:12px 18px;font-size:14px}
.cs-design .cs-more{font-size:15px;font-weight:500}
.cs-design .cs-more::after,.cs-design .vc_btn3::after,.cs-design .cs-content .wpb_text_column a.cs-more::after{content:" \2197";}

/* ---------- Header ---------- */
.cs-header{position:relative;z-index:20;background:#fff}
.cs-header-in{display:flex;align-items:center;gap:2rem;min-height:100px;padding-inline:var(--pad)}
.cs-brand{display:inline-flex;text-decoration:none}
.brand-logo{display:inline-block;position:relative;width:205px;height:48px;flex-shrink:0}
.brand-logo .logo{display:block;width:100%;height:100%;object-fit:contain;clip-path:inset(0 4.8% 0 0)}
.brand-logo>sup{position:absolute;right:0;top:5px;color:var(--navy);font:600 9px/1 var(--sans)}
.cs-nav{margin-left:auto;display:flex;align-items:center;gap:1.6rem;font-size:15px}
.cs-menu{list-style:none;display:flex;align-items:center;gap:1.5rem;margin:0;padding:0}
.cs-menu>li{position:relative;margin:0}
.cs-menu a,.cs-nav .signin{text-decoration:none;color:var(--ink)}
.cs-menu a:hover,.cs-nav .signin:hover{text-decoration:underline}
.cs-menu [aria-current="page"],.cs-menu .is-current>a,.cs-menu .is-current>.cs-sub-toggle{text-decoration:underline;font-weight:600}
.cs-sub-toggle{background:none;border:0;padding:0;font:inherit;color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.cs-chev{display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.cs-sub-toggle[aria-expanded="true"] .cs-chev{transform:translateY(1px) rotate(-135deg)}
.cs-menu .sub-menu{list-style:none;margin:0;padding:10px 0;position:absolute;top:calc(100% + 14px);left:-18px;min-width:250px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 18px 40px rgba(35,59,96,.12);display:none}
.cs-menu .sub-menu li{margin:0}
.cs-menu .sub-menu a{display:block;padding:10px 18px}
.cs-menu li.open>.sub-menu{display:block}
.cs-nav .signin::after{content:" \2197"}
.menubtn{display:none}
@media (max-width:1100px){.cs-header-in{gap:1.2rem}.cs-nav,.cs-menu{gap:1rem}.cs-design .headercta{display:none}.brand-logo{width:170px;height:40px}.brand-logo>sup{top:3px;font-size:8px}}
@media (max-width:860px){
	.cs-header-in{flex-wrap:wrap;min-height:80px;justify-content:space-between;padding-block:14px}
	.brand-logo{width:170px}
	.menubtn{display:block;background:transparent;border:1px solid var(--line);border-radius:4px;padding:10px 16px;color:var(--navy);font:500 15px var(--sans);cursor:pointer}
	.cs-nav{display:none;width:100%;margin:0;flex-direction:column;align-items:flex-start;gap:0;padding:8px 0 20px;border-top:1px solid var(--line)}
	.cs-nav.open{display:flex}
	.cs-menu{flex-direction:column;align-items:flex-start;gap:0;width:100%}
	.cs-menu>li{width:100%;border-bottom:1px solid var(--line-soft)}
	.cs-menu>li>a,.cs-menu>li>.cs-sub-toggle{display:flex;padding:14px 0;width:100%;font-size:17px}
	.cs-menu .sub-menu{position:static;box-shadow:none;border:0;padding:0 0 10px 14px;min-width:0}
	.cs-nav .signin{padding:16px 0 0;font-size:17px}
}

/* ---------- WPBakery normalisation (scoped to theme content) ---------- */
.cs-content .vc_row{margin-left:0;margin-right:0}
.cs-content .vc_row:not(.vc_inner){padding-left:calc(var(--pad) - var(--gut));padding-right:calc(var(--pad) - var(--gut))}
.cs-content .vc_column_container>.vc_column-inner{padding-left:var(--gut);padding-right:var(--gut)}
.cs-content .vc_row.vc_inner{margin-left:calc(var(--gut) * -1);margin-right:calc(var(--gut) * -1)}
.cs-content .wpb_content_element,.cs-content .wpb_row,.cs-content .vc_row.vc_inner{margin-bottom:0}
.cs-content .wpb_text_column :last-child{margin-bottom:0}
.cs-content .wpb_wrapper>p:empty{display:none}
.cs-content .wpb_single_image{margin-bottom:0}
.cs-content .wpb_single_image img{border-radius:6px}
.cs-content .vc_row-flex>.vc_column_container>.vc_column-inner{width:100%}
.cs-content .wpb_text_column ul{padding-left:1.2em;margin:0 0 1.2em}
.cs-content .wpb_text_column li{margin-bottom:.45em}
.cs-content .wpb_text_column h3{margin-top:1.6em}
.cs-content .wpb_text_column h3:first-child{margin-top:0}

/* vc_btn mapped to the theme button */
.cs-design .vc_btn3-container{margin:0 1.6rem 0 0;display:inline-block}
.cs-design .vc_btn3-container.vc_btn3-inline{vertical-align:middle}
.cs-design a.vc_btn3,.cs-design a.vc_btn3.vc_btn3-color-grey,.cs-design a.vc_btn3.vc_btn3-color-grey.vc_btn3-style-flat{background:var(--navy)!important;color:#fff!important;border:0!important;border-radius:5px!important;padding:15px 24px!important;font:600 15px/1.3 var(--sans)!important;box-shadow:none!important;text-decoration:none!important;letter-spacing:0}
.cs-design a.vc_btn3:hover{background:var(--navy-dark)!important;color:#fff!important;transform:translateY(-2px)}
.cs-design .cs-btn-link a.vc_btn3,.cs-design .cs-btn-link a.vc_btn3.vc_btn3-color-grey{background:transparent!important;color:var(--ink)!important;padding:8px 0!important;text-decoration:underline!important;text-underline-offset:5px;font-weight:500!important}
.cs-design .cs-btn-link a.vc_btn3:hover{background:transparent!important;color:#185f99!important;transform:none}
.cs-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 0;margin:30px 0 26px}

/* ---------- Sections ---------- */
.cs-content .cs-hero{background:var(--pale);padding-top:40px!important;padding-bottom:64px!important}
.cs-content .cs-hero h1{margin-bottom:1.6rem}
.cs-content .cs-hero .cs-audience p{font-size:15px}
.cs-content .cs-hero>.vc_column_container:first-child>.vc_column-inner{padding-top:48px;padding-bottom:48px}
.cs-photo{margin:0;position:relative;overflow:hidden;border-radius:4px}
.cs-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:45% center}
.cs-photo-hero{height:620px}
.cs-photo-card{aspect-ratio:4/3}
.cs-photo figcaption{position:absolute;left:28px;right:28px;bottom:28px;padding:22px 24px;background:rgba(255,255,255,.93);color:var(--ink);font:400 clamp(1.2rem,1.8vw,1.6rem)/1.3 var(--sans)}

.cs-content .cs-intro{background:var(--pale);padding-top:80px;padding-bottom:90px}
.cs-content .cs-intro h1{max-width:16ch}
.cs-content .cs-intro .cs-photo{height:440px}

.cs-content .cs-section{padding-top:var(--sec-sm);padding-bottom:var(--sec-sm);border-top:1px solid var(--line)}
.cs-content .cs-intro+.cs-section,.cs-content .cs-hero+.cs-section,.cs-content .cs-section.cs-first{border-top:0}
.cs-content .cs-section.cs-tint{background:var(--neutral);border-top:0}
.cs-content .cs-tint+.cs-section{border-top:0}
.cs-content .cs-section h2{font-size:clamp(1.9rem,2.6vw,2.6rem)}
.cs-content .cs-section .vc_inner{margin-top:8px}
.cs-content .cs-section .vc_inner>.vc_column_container>.vc_column-inner>.wpb_wrapper{border-top:1px solid #b9cfe1;padding-top:24px;margin-bottom:34px}
.cs-content .cs-tint+.cs-cards{padding-top:0}
.cs-content .cs-section .vc_inner .wpb_text_column p{font-size:16px;line-height:1.75}

/* Home: practical path */
.cs-content .cs-approach{padding-top:var(--sec);padding-bottom:24px}
.cs-content .cs-approach .cs-approach-lede p{max-width:34ch;margin-top:.6rem}
.cs-content .cs-step{padding-top:0;padding-bottom:0}
.cs-content .cs-step>.vc_column_container>.vc_column-inner>.wpb_wrapper{border-top:1px solid var(--line);padding:46px 0}
.cs-content .cs-step-row{display:grid;grid-template-columns:90px 1fr 1fr;gap:3rem;align-items:center}
.cs-content .cs-step:last-child,.cs-content .cs-step.cs-last{padding-bottom:var(--sec)}
.cs-content .cs-num p{font:400 58px/1 Georgia,serif;color:#6da6d1;margin:0}
.cs-content .cs-step h3{font:600 clamp(1.7rem,2.4vw,2.2rem)/1.2 var(--serif);letter-spacing:-.02em;margin:0}
.cs-content .cs-step .vc_inner>.vc_column_container>.vc_column-inner{display:flex;align-items:center;min-height:100%}

/* Home: capabilities */
.cs-content .cs-platform{background:var(--neutral);padding-top:var(--sec);padding-bottom:var(--sec)}
.cs-content .cs-platform .vc_inner>.vc_column_container>.vc_column-inner>.wpb_wrapper{border-top:1px solid #b9cfe1;padding-top:26px;margin-bottom:44px}
.cs-content .cs-platform .vc_inner:last-child>.vc_column_container>.vc_column-inner>.wpb_wrapper{margin-bottom:0}
.cs-content .cs-platform .vc_inner p{font-size:15px;line-height:1.75}

/* Trust, teaser, closing */
.cs-content .cs-trust{padding-top:110px}
.cs-content .cs-trust{background:linear-gradient(var(--line),var(--line)) no-repeat;background-origin:content-box;background-size:calc(100% - 2 * var(--gut)) 1px;background-position:var(--gut) 0}
.cs-content .cs-trust>.vc_column_container>.vc_column-inner>.wpb_wrapper{padding-top:58px}
.cs-content .cs-trust h2{font-size:clamp(1.6rem,2.2vw,2rem);margin:0}
.cs-content .cs-trust-last>.vc_column_container>.vc_column-inner>.wpb_wrapper{padding-bottom:58px}
.cs-content .cs-teaser{background:var(--pale);padding-top:var(--sec-sm);padding-bottom:var(--sec-sm)}
.cs-content .cs-teaser h2{margin-bottom:1rem}
.cs-content .cs-teaser .vc_btn3-container{margin:0}
.cs-right>.vc_column-inner>.wpb_wrapper{text-align:right}
.cs-content .cs-news-row{padding-top:var(--sec);padding-bottom:var(--sec)}
.cs-content .cs-closing,.cs-closing-band{background:var(--band);padding-top:100px;padding-bottom:100px}
.cs-content .cs-closing h2,.cs-closing-band h2{margin:0}
.cs-content .cs-closing p{margin-bottom:24px}
.cs-closing-band{padding-left:var(--pad);padding-right:var(--pad)}
.cs-closing-in{display:grid;grid-template-columns:1.3fr 1fr;gap:4rem;align-items:center}
.cs-closing-band p{margin-bottom:24px}

/* Contact */
.cs-content .cs-contact{padding-top:var(--sec-sm);padding-bottom:var(--sec)}
.cs-content .cs-contact-info>.vc_column-inner>.wpb_wrapper{background:var(--pale);border-radius:6px;padding:36px}
.cs-content .cs-contact-info h2{font-size:1.9rem}

/* Vertical alignment helper for 2-column rows */
@media (min-width:768px){
	.cs-content .cs-middle{display:flex;align-items:center}
	.cs-content .cs-middle::before,.cs-content .cs-middle::after{display:none}
}

/* ---------- CF7 ---------- */
.cs-design .wpcf7 label,.cs-design .wpcf7 p{display:block;font-size:15px;font-weight:500;color:var(--ink);max-width:none}
.cs-design .wpcf7 p{margin:0 0 18px}
.cs-design .wpcf7 input[type=text],.cs-design .wpcf7 input[type=email],.cs-design .wpcf7 input[type=tel],.cs-design .wpcf7 textarea,.cs-search input[type=search]{display:block;width:100%;margin-top:6px;padding:13px 14px;border:1px solid #8193aa;border-radius:4px;background:#fff;font:400 16px/1.4 var(--sans);color:var(--ink)}
.cs-design .wpcf7 textarea{min-height:150px}
.cs-design .wpcf7 label{margin-bottom:18px}
.cs-design .wpcf7 input[type=submit]{background:var(--navy);color:#fff;border:0;border-radius:5px;padding:15px 28px;font:600 15px var(--sans);cursor:pointer}
.cs-design .wpcf7 input[type=submit]:hover{background:var(--navy-dark)}
.cs-design .wpcf7-not-valid-tip{font-size:14px}
.cs-design .wpcf7 form .wpcf7-response-output{margin:16px 0 0;font-size:15px}

/* ---------- Pricing ---------- */
.cs-content .cs-pricing-row{background:#f4f8fb;padding-top:90px;padding-bottom:var(--sec)}
.pricing-head{display:flex;justify-content:space-between;gap:3rem;align-items:flex-end;margin-bottom:56px}
.pricing-head h1{max-width:15ch;margin:0}
.pricing-head .lead{max-width:40ch;margin:0}
.pricing-empty{padding:48px;border:1px solid var(--line);border-radius:6px;background:#fff;max-width:760px}
.pricing-empty h2{font-size:2rem}
.plan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.plan-card{display:flex;flex-direction:column;min-width:0;padding:30px 25px 34px;background:#fff;border:1px solid #d1dfea;border-radius:6px}
.plan-card-enterprise{background:var(--pale)}
.plan-heading{min-height:170px}
.plan-card h3{font-size:21px;margin:0 0 24px}
.plan-display-price{font:600 32px/1.15 var(--serif)!important;color:var(--navy)!important;margin:0 0 10px}
.plan-billing,.plan-desc{font-size:13px;line-height:1.5}
.plan-cta{width:100%;text-align:center;margin:12px 0 30px}
.plan-limits{margin:0 0 26px}
.plan-limits>div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line-soft);font-size:14px}
.plan-limits dt{color:var(--muted)}
.plan-limits dd{margin:0;font-weight:600;color:var(--ink);text-align:right}
.plan-highlights p{font-size:13px;margin-bottom:10px}
.plan-highlights ul{list-style:none;margin:0;padding:0}
.plan-highlights li{position:relative;padding-left:22px;margin-bottom:8px;font-size:14px;color:var(--ink)}
.plan-highlights li::before,.feature-status.included::before{content:"\2713";color:var(--navy);font-weight:700}
.plan-highlights li::before{position:absolute;left:0}
.pricing-details{margin-top:40px;border-top:1px solid var(--line)}
.pricing-details summary{cursor:pointer;font-size:17px;font-weight:600;padding:22px 0;text-decoration:underline;text-underline-offset:6px;color:var(--ink)}
.pricing-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:6px;background:#fff}
.pricing-scroll table{border-collapse:collapse;width:100%;min-width:900px;table-layout:fixed;font-size:15px;text-align:left}
.pricing-scroll th,.pricing-scroll td{padding:18px;border-bottom:1px solid var(--line-soft);vertical-align:top}
.pricing-scroll thead th{background:var(--pale);font-size:17px;color:var(--navy)}
.pricing-scroll thead th:first-child{width:28%}
.pricing-scroll th[scope=row]{font-weight:500;color:var(--ink)}
.pricing-scroll td{color:var(--muted)}
.plan-price{display:block;font-size:14px;font-weight:500;margin-top:8px;color:var(--muted)}
.pricing-note{margin-top:24px;font-size:15px}
@media (max-width:1050px){.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.plan-grid{grid-template-columns:1fr}.pricing-head{display:block}.pricing-head h1{margin-bottom:1.2rem}.pricing-empty{padding:28px}.pricing-scroll th[scope=row]{position:sticky;left:0;background:#fff}}

/* ---------- Blog ---------- */
.cs-page-intro{background:var(--pale);padding:80px var(--pad) 80px}
.cs-page-intro h1{max-width:18ch;margin-bottom:1.2rem}
.cs-page-intro .lead{margin:0}
.cs-eyebrow{font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:1rem}
.cs-eyebrow a{text-decoration:none;color:var(--blue-ink)}
.cs-eyebrow a::before{content:"\2190  "}
.cs-updated{font-size:14px;margin:0}
.cs-page-body{padding:70px var(--pad) var(--sec)}
.cs-bloglist{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:5rem;padding:80px var(--pad) var(--sec)}
.cs-blog-side .cs-search{margin-bottom:44px}
.cs-search label{display:block;font-weight:600;color:var(--ink);margin-bottom:6px}
.cs-search .button{margin-top:12px}
.cs-side-title{font:600 13px/1.4 var(--sans)!important;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)!important;margin-bottom:12px!important}
.cs-topics{list-style:none;margin:0;padding:0}
.cs-topics li{border-top:1px solid var(--line-soft);margin:0}
.cs-topics a{display:block;padding:10px 0;text-decoration:none;font-size:15px}
.cs-topics a[aria-current]{font-weight:600;text-decoration:underline}
.posts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}
.post-card{padding:32px 0 36px;border-top:1px solid var(--line);min-width:0}
.post-card .postphoto{display:block;width:100%;aspect-ratio:1.65;object-fit:cover;border-radius:4px;margin-bottom:22px}
.post-meta{font-size:14px;margin-bottom:10px}
.post-meta a{color:var(--blue-ink);text-decoration:none}
.post-card .post-title{font:600 clamp(1.4rem,1.8vw,1.75rem)/1.25 var(--serif);letter-spacing:-.015em;margin-bottom:12px}
.post-card .post-title a{text-decoration:none}
.post-card .post-title a:hover{text-decoration:underline}
.post-excerpt p{font-size:16px;margin-bottom:14px}
.cs-blog-main .posts .post-card:first-child{grid-column:1/-1}
.cs-blog-main .posts .post-card:first-child .post-title{font-size:clamp(1.8rem,2.6vw,2.4rem)}
.cs-news-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:40px}
.cs-news-head h2{margin:0}
.cs-news .posts{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 36px}
.cs-design .navigation.pagination{margin-top:30px}
.cs-design .nav-links{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.cs-design .page-numbers{display:inline-block;min-width:44px;padding:10px 14px;border:1px solid var(--line);border-radius:4px;text-align:center;text-decoration:none;font-size:15px}
.cs-design .page-numbers.current{background:var(--navy);border-color:var(--navy);color:#fff}
.cs-article{max-width:860px;margin:0 auto;padding:70px 5% 110px;box-sizing:content-box}
.cs-article h1{font-size:clamp(2.4rem,4.4vw,4rem)}
.cs-article-photo{margin:34px 0 0}
.cs-article-photo img{display:block;width:100%;border-radius:4px}
.cs-prose{font-size:18px;line-height:1.8;margin-top:44px}
.cs-prose p,.cs-prose li{color:#3b4d66;max-width:none}
.cs-prose h2{font-size:clamp(1.7rem,2.4vw,2.2rem);margin:2.2em 0 .7em}
.cs-prose h3{font-size:1.3rem;margin:1.8em 0 .6em}
.cs-prose ul,.cs-prose ol{padding-left:1.3em}
.cs-prose a{color:var(--blue-ink)}
.cs-prose blockquote{margin:2em 0;padding:4px 0 4px 24px;border-left:3px solid var(--blue)}
.cs-prose table{border-collapse:collapse;width:100%;font-size:16px;display:block;overflow-x:auto}
.cs-prose td,.cs-prose th{border:1px solid var(--line);padding:10px}
.cs-page-body .cs-prose{max-width:860px;margin-top:0}
.cs-tags{font-size:15px;margin-top:40px}
.cs-tags span{font-weight:600;color:var(--ink)}
.cs-design .post-navigation{margin-top:50px;border-top:1px solid var(--line);padding-top:26px}
.cs-design .post-navigation .nav-links{justify-content:space-between;gap:26px}
.cs-design .post-navigation a{text-decoration:none;font-weight:500;max-width:46%}
.nav-label{display:block;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.cs-comments{margin-top:50px}

/* ---------- Footer ---------- */
.cs-footer{border-top:1px solid var(--line);font-size:15px}
.cs-footer-in{display:grid;grid-template-columns:1.3fr 1fr 1.3fr;gap:3rem;padding:70px var(--pad) 50px}
.cs-footer p{margin:14px 0 0;font-size:15px}
.cs-footer-links{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.cs-footer a{text-decoration:none}
.cs-footer a:hover{text-decoration:underline}
.cs-newsletter-title{font:600 1.15rem/1.3 var(--sans)!important;letter-spacing:0!important;margin:0!important}
.cs-newsletter p{margin:8px 0 14px}
.cs-newsletter .wpcf7 form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}
.cs-newsletter .wpcf7 p.csx-inline{margin:0}
.cs-newsletter .wpcf7 p.csx-inline:first-child{flex:1 1 220px}
.cs-newsletter .wpcf7 input[type=email]{margin-top:0}
.cs-newsletter .wpcf7 form .wpcf7-response-output{flex-basis:100%}
.cs-footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 30px;padding:22px var(--pad);border-top:1px solid var(--line-soft);font-size:14px;color:var(--muted)}
.cs-footer-bottom a{margin-left:24px}
.cs-footer-bottom a:first-child{margin-left:0}

/* ---------- Mobile ---------- */
@media (max-width:767px){
	body.cs-design{font-size:16px}
	.cs-design h1{font-size:clamp(2.6rem,11vw,3.3rem)}
	.cs-content .cs-hero{background:#fff;padding-top:20px!important;padding-bottom:50px!important}
	.cs-content .cs-hero>.vc_column_container:first-child>.vc_column-inner{padding-top:20px;padding-bottom:30px}
	.cs-photo-hero{height:360px}
	.cs-photo figcaption{left:16px;right:16px;bottom:16px;padding:16px;font-size:1.15rem}
	.cs-content .cs-intro{padding-top:50px;padding-bottom:56px}
	.cs-content .cs-intro .cs-photo{height:260px;aspect-ratio:auto;margin-top:30px}
	.cs-content .cs-section h2{margin-bottom:1.2rem}
	.cs-content .cs-step-row{grid-template-columns:48px 1fr;gap:12px 18px}
	.cs-content .cs-step-row>p:last-child{grid-column:2}
	.cs-content .cs-num p{font-size:38px}
	.cs-content .cs-step>.vc_column_container>.vc_column-inner>.wpb_wrapper{padding:30px 0}
	.cs-content .cs-platform .vc_column_container+.vc_column_container{margin-top:30px}
	.cs-content .cs-platform .vc_inner>.vc_column_container>.vc_column-inner>.wpb_wrapper{margin-bottom:28px}
	.cs-content .cs-trust{padding-top:60px}
	.cs-content .cs-trust>.vc_column_container>.vc_column-inner>.wpb_wrapper{padding-top:36px}
	.cs-content .cs-trust .vc_column_container+.vc_column_container>.vc_column-inner>.wpb_wrapper{padding-top:0}
	.cs-content .cs-trust h2{margin-bottom:18px}
	.cs-right>.vc_column-inner>.wpb_wrapper{text-align:left}
	.cs-content .cs-teaser .vc_column_container+.vc_column_container{margin-top:24px}
	.cs-content .cs-closing,.cs-closing-band{padding-top:64px;padding-bottom:64px}
	.cs-content .cs-closing h2{margin-bottom:20px}
	.cs-closing-in{grid-template-columns:1fr;gap:20px}
	.cs-content .cs-section .vc_column_container+.vc_column_container{margin-top:6px}
	.cs-content .cs-contact .vc_column_container+.vc_column_container{margin-top:40px}
	.cs-content .cs-contact-info>.vc_column-inner>.wpb_wrapper{padding:26px}
	.cs-page-intro{padding:50px var(--pad)}
	.cs-bloglist{grid-template-columns:1fr;gap:30px;padding-top:44px}
	.posts,.cs-news .posts{grid-template-columns:1fr}
	.cs-news-head{display:block}
	.cs-news-head h2{margin-bottom:14px}
	.cs-footer-in{grid-template-columns:1fr;gap:34px;padding-top:50px}
	.cs-footer-bottom a{margin-left:0;margin-right:20px}
	.cs-article{padding-top:44px}
	.cs-prose{font-size:17px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cs-design a,.cs-design button{transition:none}.cs-design .button:hover,.cs-design a.vc_btn3:hover{transform:none}}
