/* ==========================================================================
   Progressive Technology Solutions — site system (pts)
   Palette from S1 sample: cream #F5F1EA / ink #2A2228 / teal #0C7876
   mint #C2EFED / coral #F77D53
   ========================================================================== */

@font-face{font-family:'Work Sans';src:url('fonts/WorkSans-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Work Sans';src:url('fonts/WorkSans-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Manrope';src:url('fonts/Manrope-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Manrope';src:url('fonts/Manrope-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Manrope';src:url('fonts/Manrope-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Manrope';src:url('fonts/Manrope-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

:root{
  --cream:#F5F1EA; --paper:#FFFFFF; --ink:#2A2228; --teal:#0C7876;
  --mint:#C2EFED; --coral:#F77D53; --muted:#6B6067; --line:#E4DCD0;
  --radius:22px; --radius-lg:32px; --shadow:6px 6px 0 rgba(42,34,40,.06);
}

body .pts, body .pts *{box-sizing:border-box}
html,body{background:#F5F1EA}
body .pts{
  overflow-x:clip;
  font-family:'Manrope',system-ui,sans-serif;
  font-size:17px; line-height:1.62; color:var(--ink);
  background:var(--cream); margin:0; padding:0;
  -webkit-font-smoothing:antialiased;
}
body .pts img{max-width:100%;height:auto;display:block}
body .pts p{margin:0 0 1.05em}
body .pts a{text-decoration:none}
body .pts h1,body .pts h2,body .pts h3,body .pts h4{
  font-family:'Work Sans',system-ui,sans-serif;font-weight:700;
  letter-spacing:-.022em;line-height:1.08;margin:0 0 .5em;color:var(--ink)
}
body .pts h1{font-size:clamp(38px,4.6vw,64px)}
body .pts h2{font-size:clamp(29px,3.1vw,44px);line-height:1.1}
body .pts h3{font-size:clamp(19px,1.7vw,24px);line-height:1.22;letter-spacing:-.012em}
body .pts h4{font-size:17px;letter-spacing:-.008em}
body .pts ul,body .pts ol{margin:0 0 1em;padding-left:1.15em}
body .pts li{margin:.34em 0}
body .pts strong{font-weight:700}

.pts-wrap{width:100%;max-width:1248px;margin:0 auto;padding:0 20px}
.pts-sec{padding:84px 0}
.pts-sec--tight{padding:56px 0}
.pts-sec--paper{background:var(--paper)}
.pts-sec--mint{background:var(--mint)}
.pts-sec--dark{background:var(--ink);color:var(--cream)}
body .pts .pts-sec--dark h2,body .pts .pts-sec--dark h3{color:var(--cream)}

.pts-eyebrow{
  font-size:11.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--teal);margin:0 0 14px;display:flex;align-items:center;gap:10px
}
.pts-eyebrow::before{content:"";width:22px;height:2px;background:var(--coral);display:block;flex:none}
.pts-sec--dark .pts-eyebrow{color:var(--mint)}
.pts-lede{font-size:19px;line-height:1.6;color:var(--muted);max-width:62ch}
.pts-sec--dark .pts-lede{color:#CFC6CB}
.pts-center{text-align:center}
.pts-center .pts-lede{margin-left:auto;margin-right:auto}
.pts-center .pts-eyebrow{justify-content:center}

/* ---------- header ---------- */
.pts-head{
  position:sticky;top:0;z-index:60;background:rgba(245,241,234,.94);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line)
}
.pts-head-in{display:flex;align-items:center;gap:26px;height:76px}
.pts-brand{display:flex;align-items:center;flex:none}
.pts-brand img{width:214px;height:auto}
.pts-nav{display:flex;align-items:center;gap:4px;margin-left:14px}
.pts-nav a{
  font-size:14.5px;font-weight:600;color:var(--ink);padding:9px 13px;border-radius:999px;
  transition:background .18s ease,color .18s ease
}
.pts-nav a:hover{background:#EBE4D9}
.pts-nav a[aria-current="page"]{color:var(--teal);background:#EBF5F3}
.pts-head-cta{margin-left:auto;display:flex;align-items:center;gap:10px}

/* ---------- buttons ---------- */
.pts-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:'Manrope',sans-serif;font-size:15px;font-weight:700;line-height:1;
  padding:15px 24px;border-radius:999px;border:1.5px solid transparent;cursor:pointer;white-space:nowrap;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease
}
.pts-btn--primary{background:var(--coral);color:#241C21;border-color:#241C21;box-shadow:3px 3px 0 #241C21}
.pts-btn--primary:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 #241C21;background:#F98C66}
.pts-btn--ghost{background:transparent;color:var(--ink);border-color:#C9BFB2}
.pts-btn--ghost:hover{background:#fff;border-color:var(--ink)}
.pts-btn--teal{background:var(--teal);color:#F7F4EE;border-color:var(--teal)}
.pts-btn--teal:hover{background:#0A6A68}
.pts-btn--sm{padding:11px 18px;font-size:14px}
.pts-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.pts-link-arrow{font-weight:700;color:var(--teal);display:inline-flex;align-items:center;gap:7px}
.pts-link-arrow:hover{gap:11px}
.pts-link-arrow svg{width:15px;height:15px;flex:none}

/* ---------- hero ---------- */
.pts-hero{padding:64px 0 76px;position:relative;overflow:clip}
.pts-hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center}
.pts-hero h1{max-width:15ch}
.pts-hero h1 em{font-style:normal;position:relative;white-space:nowrap}
.pts-hero h1 em::after{
  content:"";position:absolute;left:-2px;right:-2px;bottom:.06em;height:.32em;
  background:var(--coral);opacity:.34;border-radius:3px;z-index:-1
}
.pts-hero-lede{font-size:19.5px;line-height:1.58;color:#544A51;max-width:44ch;margin-top:22px}
.pts-hero-facts{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:26px;font-size:13px;font-weight:600;color:var(--muted)}
.pts-hero-facts span{display:inline-flex;align-items:center;gap:7px}
.pts-hero-facts i{width:6px;height:6px;border-radius:50%;background:var(--teal);display:block}
.pts-hero-art{position:relative}
.pts-hero-art .shot-main{
  border-radius:18px;border:1px solid #E1D8CB;box-shadow:0 26px 60px rgba(42,34,40,.16);
  transform:rotate(-1.1deg);background:#fff
}
.pts-hero-art .shot-sub{
  position:absolute;right:-26px;bottom:-34px;width:58%;
  border-radius:14px;border:1px solid #E1D8CB;box-shadow:0 18px 40px rgba(42,34,40,.2);
  transform:rotate(2.2deg);background:#fff
}
.pts-hero-art .scribble{position:absolute;left:-46px;top:-30px;width:96px;height:96px;opacity:.9}

/* ---------- generic cards ---------- */
.pts-grid{display:grid;gap:20px}
.pts-grid--3{grid-template-columns:repeat(3,1fr)}
.pts-grid--2{grid-template-columns:repeat(2,1fr)}
.pts-grid--4{grid-template-columns:repeat(4,1fr)}
.pts-card{
  background:var(--paper);border:1.5px solid var(--line);border-radius:var(--radius);
  padding:26px 24px;box-shadow:var(--shadow)
}
.pts-card h3{margin-bottom:.42em}
.pts-card p{font-size:15.5px;color:#5D5359;margin-bottom:0}
.pts-card .num{
  font-family:'Work Sans';font-weight:700;font-size:12px;letter-spacing:.14em;
  color:var(--teal);text-transform:uppercase;margin-bottom:14px;display:block
}
.pts-icon{
  width:44px;height:44px;border-radius:13px;background:var(--mint);color:var(--teal);
  display:flex;align-items:center;justify-content:center;margin-bottom:18px
}
.pts-icon svg{width:22px;height:22px}
.pts-sec--dark .pts-card{background:#332A30;border-color:#463B41;box-shadow:none}
.pts-sec--dark .pts-card p{color:#CDC3C9}

/* ---------- steps ---------- */
.pts-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:step}
.pts-step{
  position:relative;background:var(--paper);border:1.5px solid var(--line);
  border-radius:var(--radius);padding:26px 24px 24px;box-shadow:var(--shadow)
}
.pts-step::before{
  counter-increment:step;content:counter(step);
  font-family:'Work Sans';font-weight:700;font-size:13px;color:#241C21;
  width:32px;height:32px;border-radius:50%;background:var(--mint);
  display:flex;align-items:center;justify-content:center;margin-bottom:16px
}
.pts-step h3{font-size:19px;margin-bottom:.35em}
.pts-step p{font-size:15px;color:#5D5359;margin:0}

/* ---------- gallery strip ---------- */
.pts-strip{display:flex;gap:18px;overflow-x:auto;padding:6px 20px 22px;scroll-snap-type:x mandatory}
.pts-strip::-webkit-scrollbar{height:8px}
.pts-strip::-webkit-scrollbar-thumb{background:#D8CFC2;border-radius:99px}
.pts-strip figure{
  flex:0 0 auto;margin:0;scroll-snap-align:start;background:#fff;
  border:1px solid #E1D8CB;border-radius:16px;overflow:hidden;width:min(430px,78vw);
  box-shadow:0 14px 32px rgba(42,34,40,.1)
}
.pts-strip img{width:100%;height:auto}
.pts-strip figcaption{font-size:12.5px;font-weight:600;color:var(--muted);padding:11px 14px}

/* ---------- plan table ---------- */
.pts-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.pts-plan{
  position:relative;
  background:var(--paper);border:1.5px solid var(--line);border-radius:var(--radius-lg);
  padding:30px 28px;display:flex;flex-direction:column;box-shadow:var(--shadow)
}
.pts-plan--feat{background:#FBF7EF;border-color:var(--ink);box-shadow:6px 6px 0 rgba(42,34,40,.14)}
.pts-plan .tag{
  position:absolute;top:-13px;left:26px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  background:var(--coral);color:#241C21;padding:6px 11px;border-radius:999px
}
body .pts .pts-plan h3{font-size:24px;margin-bottom:6px}
.pts-plan .for{font-size:14px;color:var(--muted);margin-bottom:18px}
.pts-plan .price{
  font-family:'Work Sans';font-weight:700;font-size:26px;letter-spacing:-.02em;
  padding:14px 0 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:18px
}
.pts-plan .price small{display:block;font-family:'Manrope';font-size:12.5px;font-weight:600;color:var(--muted);letter-spacing:0;margin-top:6px}
.pts-plan ul{list-style:none;padding:0;margin:0 0 22px;font-size:14.5px}
.pts-plan li{display:flex;gap:9px;align-items:flex-start;margin:.5em 0;color:#4F454B}
.pts-plan li svg{width:15px;height:15px;flex:none;margin-top:4px;color:var(--teal)}
.pts-plan .pts-btn{margin-top:auto}

/* ---------- table ---------- */
.pts-tablewrap{overflow-x:auto;border:1.5px solid var(--line);border-radius:var(--radius);background:#fff}
.pts-table{width:100%;border-collapse:collapse;font-size:15px;min-width:640px}
.pts-table th,.pts-table td{padding:15px 18px;text-align:left;border-bottom:1px solid #F0E9DE;vertical-align:top}
.pts-table th{font-family:'Work Sans';font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:#FBF7EF}
.pts-table tr:last-child td{border-bottom:0}
.pts-table td strong{font-weight:700}
.pts-table .yes{color:var(--teal);font-weight:700}
.pts-table .no{color:#A79CA3}

/* ---------- FAQ ---------- */
.pts-faq{max-width:820px;margin:0 auto}
.pts-faq details{border-bottom:1px solid var(--line);padding:20px 0}
.pts-faq summary{
  cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:18px;
  font-family:'Work Sans';font-weight:600;font-size:18px;letter-spacing:-.01em
}
.pts-faq summary::-webkit-details-marker{display:none}
.pts-faq summary::after{content:"+";font-size:24px;line-height:1;color:var(--teal);flex:none}
.pts-faq details[open] summary::after{content:"–"}
.pts-faq .ans{padding-top:12px;color:#5D5359;font-size:16px;max-width:70ch}
.pts-faq .ans p:last-child{margin-bottom:0}

/* ---------- CTA band ---------- */
.pts-cta{
  background:var(--coral);border-radius:var(--radius-lg);padding:52px 48px;
  display:flex;align-items:center;justify-content:space-between;gap:36px;
  border:1.5px solid #241C21;box-shadow:8px 8px 0 rgba(36,28,33,.16)
}
.pts-cta h2{max-width:22ch;margin:0;color:#241C21}
.pts-cta p{margin:12px 0 0;color:#3D3036;max-width:44ch;font-size:15.5px}
.pts-cta .pts-btn--primary{background:#241C21;color:var(--cream);border-color:#241C21;box-shadow:3px 3px 0 rgba(245,241,234,.5)}
.pts-cta .pts-btn--primary:hover{background:#3A2E34;box-shadow:5px 5px 0 rgba(245,241,234,.6)}

/* ---------- notice / boundary ---------- */
.pts-notice{
  border:1.5px solid #D8CEC1;border-left:5px solid var(--teal);background:#FDFBF6;
  border-radius:14px;padding:20px 22px;font-size:15px;color:#4F454B
}
.pts-notice strong{color:var(--ink)}
.pts-boundary{
  background:var(--ink);color:#E7E0E4;border-radius:var(--radius);
  padding:34px 36px;display:grid;grid-template-columns:1fr 1.2fr;gap:32px;align-items:start
}
body .pts .pts-boundary h3{color:var(--cream);margin-bottom:.3em}
.pts-boundary ul{font-size:15px;color:#CFC6CB;margin:0;padding-left:1.1em}

/* ---------- page head ---------- */
.pts-pagehead{background:var(--cream);padding:58px 0 24px;border-bottom:1px solid transparent}
.pts-pagehead .crumb{font-size:12.5px;font-weight:600;color:var(--muted);margin-bottom:18px;display:flex;gap:8px;align-items:center}
.pts-pagehead .crumb a{color:var(--muted)}
.pts-pagehead .crumb a:hover{color:var(--teal)}
.pts-pagehead h1{max-width:20ch}
.pts-pagehead .pts-lede{margin-top:16px}

/* ---------- prose (legal pages) ---------- */
.pts-prose{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:56px;align-items:start}
.pts-prose>*{min-width:0}
.pts-tablewrap{max-width:100%}
.pts-prose .body{max-width:74ch}
.pts-prose h2{font-size:26px;margin:2.1em 0 .55em}
.pts-prose h2:first-child{margin-top:0}
.pts-prose h3{font-size:19px;margin:1.7em 0 .5em}
.pts-prose p,body .pts .pts-prose li{font-size:16px;color:#4F454B}
.pts-toc{position:sticky;top:100px;font-size:14px;border-left:1px solid var(--line);padding-left:20px}
.pts-toc b{display:block;font-family:'Work Sans';font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.pts-toc a{display:block;color:#5D5359;padding:5px 0;font-weight:600}
.pts-toc a:hover{color:var(--teal)}

/* ---------- form ---------- */
.pts-form{background:#fff;border:1.5px solid var(--line);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow)}
.pts-field{margin-bottom:18px}
.pts-field label{display:block;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
.pts-field input,.pts-field select,.pts-field textarea{
  width:100%;font-family:'Manrope',sans-serif;font-size:15.5px;color:var(--ink);
  background:#FDFBF6;border:1.5px solid #DDD4C7;border-radius:12px;padding:13px 14px;
  transition:border-color .16s ease,box-shadow .16s ease
}
.pts-field input:focus,.pts-field select:focus,.pts-field textarea:focus{
  outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(12,120,118,.14)
}
.pts-field textarea{min-height:132px;resize:vertical}
.pts-field--half{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pts-hint{font-size:12.5px;color:#8A7F86;margin-top:10px}
.pts-formmsg{
  display:none;border-radius:14px;padding:18px 20px;font-size:15px;margin-bottom:18px;
  background:#E9F7F5;border:1.5px solid #9FD9D5;color:#0A5453
}
.pts-formmsg.is-ok{display:block}
.pts-formmsg.is-err{display:block;background:#FDECE6;border-color:#F3B8A3;color:#8A3A22}

/* ---------- footer ---------- */
.pts-foot{background:var(--ink);color:#CFC6CB;padding:64px 0 26px;margin-top:0}
.pts-foot a{color:#CFC6CB}
.pts-foot a:hover{color:#fff}
.pts-foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}
.pts-foot-brand img{width:200px;margin-bottom:18px;filter:brightness(0) invert(1) opacity(.92)}
.pts-foot-brand p{font-size:14px;max-width:34ch;color:#B8AEB4}
.pts-foot h4{font-family:'Work Sans';font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#9E949A;margin:0 0 14px}
.pts-foot ul{list-style:none;padding:0;margin:0;font-size:14.5px}
.pts-foot li{margin:.55em 0}
.pts-foot-legal{margin-top:44px;padding-top:22px;border-top:1px solid #443A40;font-size:12.5px;color:#A2989E;line-height:1.7}
.pts-foot-legal b{color:#CFC6CB;font-weight:700}
.pts-foot-mail{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--mint)}

/* ---------- cookie bar ---------- */
.ck-bar{
  position:fixed;left:18px;right:18px;bottom:18px;z-index:90;max-width:860px;margin:0 auto;
  background:#fff;border:1.5px solid var(--ink);border-radius:18px;padding:18px 20px;
  box-shadow:0 20px 50px rgba(42,34,40,.22);display:none;gap:16px;align-items:center;flex-wrap:wrap
}
.ck-bar.is-open{display:flex}
.ck-bar p{margin:0;font-size:14px;color:#4F454B;flex:1 1 320px}
.ck-bar .ck-actions{display:flex;gap:8px;flex-wrap:wrap}
.ck-bar button{font-family:'Manrope';font-size:13.5px;font-weight:700;padding:10px 16px;border-radius:999px;cursor:pointer;border:1.5px solid var(--ink);background:#fff;color:var(--ink)}
.ck-bar button.ck-primary{background:var(--teal);border-color:var(--teal);color:#F7F4EE}
.ck-bar button:hover{transform:translateY(-1px)}

/* ---------- misc ---------- */
.pts-2col{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}
.pts-2col img{border-radius:var(--radius);border:1px solid #E1D8CB;box-shadow:0 18px 40px rgba(42,34,40,.12)}
.pts-list-check{list-style:none;padding:0;margin:0 0 1em}
.pts-list-check li{display:flex;gap:10px;align-items:flex-start;font-size:15.5px;color:#4F454B;margin:.6em 0}
.pts-list-check svg{width:16px;height:16px;flex:none;margin-top:4px;color:var(--teal)}
.pts-chips{display:flex;flex-wrap:wrap;gap:9px}
.pts-chip{font-size:13px;font-weight:700;background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:9px 15px;color:#4F454B}
.pts-divider-dots{text-align:center;color:#C9BFB2;letter-spacing:.6em;font-size:14px;margin:34px 0}
.pts-factcard{background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.pts-factcard dt{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.pts-factcard dd{margin:0 0 0;font-size:15px}
.pts-factcard dd b{font-family:'Work Sans'}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .pts-head-in{gap:14px}
  .pts-brand img{width:186px}
  .pts-nav a{padding:8px 10px;font-size:14px}
  .pts-hero-grid{gap:36px}
  .pts-prose{grid-template-columns:1fr}
  .pts-toc{position:static;border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:16px}
}
@media (max-width:960px){
  .pts-sec{padding:64px 0}
  .pts-nav{display:none}
  .pts-hero{padding:38px 0 56px}
  .pts-hero-grid{grid-template-columns:1fr;gap:44px}
  .pts-hero h1{max-width:18ch}
  .pts-hero-art .shot-sub{width:46%;right:-6px;bottom:-24px}
  .pts-grid--3,.pts-grid--4,.pts-steps,.pts-plans{grid-template-columns:1fr 1fr;gap:18px}
  .pts-2col{grid-template-columns:1fr;gap:32px}
  .pts-cta{flex-direction:column;align-items:flex-start;padding:38px 30px}
  .pts-foot-grid{grid-template-columns:1fr 1fr;gap:30px}
  .pts-boundary{grid-template-columns:1fr}
  .pts-factcard{grid-template-columns:1fr}
}
@media (max-width:640px){
  body .pts{font-size:16px}
  .pts-sec{padding:48px 0}
  .pts-wrap{padding:0 16px}
  .pts-head-in{height:64px}
  .pts-brand img{width:158px}
  .pts-head-cta .pts-btn{padding:11px 15px;font-size:13.5px}
  .pts-grid--3,.pts-grid--4,.pts-steps,.pts-plans,.pts-field--half{grid-template-columns:1fr;gap:16px}
  .pts-hero-lede{font-size:17.5px}
  .pts-hero-art .shot-sub{position:static;width:100%;transform:none;margin-top:14px;box-shadow:0 10px 24px rgba(42,34,40,.14)}
  .pts-hero-art .shot-main{transform:none}
  .pts-hero-art .scribble{display:none}
  .pts-cta{padding:30px 22px;border-radius:24px}
  .pts-foot-grid{grid-template-columns:1fr}
  .pts-table{min-width:560px}
}

@media (max-width:640px){
  .pts-table{min-width:0;border-collapse:separate;border-spacing:0}
  .pts-table thead{display:none}
  .pts-table tbody,.pts-table tr,.pts-table td{display:block;width:100%}
  .pts-table tr{border:1.5px solid var(--line);border-radius:16px;padding:6px 14px;margin-bottom:12px;background:#fff}
  .pts-table td{display:flex;gap:14px;justify-content:space-between;align-items:baseline;border-top:1px solid #F4EEE6;padding:10px 0;min-width:0}
  .pts-table td:first-child{border-top:0}
  .pts-table td::before{content:attr(data-label);font-family:'Work Sans';font-weight:700;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);flex:0 0 42%;line-height:1.5}
}

/* ---------- mobile menu ---------- */
.pts-mnav{display:none;position:relative;margin-left:6px}
.pts-mnav summary{list-style:none;cursor:pointer;width:42px;height:42px;border:1.5px solid var(--line);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#fff}
.pts-mnav summary::-webkit-details-marker{display:none}
.pts-mnav summary i{display:block;width:16px;height:2px;background:var(--ink);border-radius:2px}
.pts-mnav nav{position:absolute;top:52px;right:0;left:auto;min-width:196px;background:#fff;border:1.5px solid var(--ink);border-radius:16px;padding:10px;box-shadow:0 18px 40px rgba(42,34,40,.18);display:flex;flex-direction:column;gap:2px;z-index:70}
.pts-mnav nav a{font-size:15px;font-weight:600;color:var(--ink);padding:10px 12px;border-radius:10px}
.pts-mnav nav a:hover,.pts-mnav nav a[aria-current="page"]{background:#EBF5F3;color:var(--teal)}
@media (max-width:960px){.pts-mnav{display:block}}

/* ===== 质感轮 2026-10-25 ===== */
:root{
  --r-sm:14px; --r-md:22px; --r-lg:32px;
  --ink-2:#4F454B; --ink-3:#6B6067; --line-2:#D6CBBB;
  --tint:#FBF7EF; --hover-shadow:0 16px 36px rgba(42,34,40,.10);
  --t-fast:180ms; --t-std:220ms;
}
/* 圆角收敛三档 */
.pts-card,.pts-step,.pts-notice,.pts-factcard,.pts-plan,.pts-cta,.pts-form,.pts-tablewrap,.pts-strip figure{border-radius:var(--r-md)}
.pts-cta,.pts-form{border-radius:var(--r-lg)}
.pts-field input,.pts-field select,.pts-field textarea{border-radius:var(--r-sm)}
.pts-icon{border-radius:var(--r-sm)}

/* 文字色 token 化（散落硬编码） */
.pts-card p,.pts-list-check li,.pts-plan li,.pts-prose p,.pts-faq .ans,.pts-notice,.pts-step p{color:var(--ink-2)}
.pts-lede{color:var(--ink-3)}
.pts-hero-lede{color:#4A4148}

/* 微交互：三态 + 焦点环 */
.pts-btn{transition:transform var(--t-fast) ease,box-shadow var(--t-fast) ease,background var(--t-fast) ease,color var(--t-fast) ease}
.pts-btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 #241C21}
.pts-btn--teal:active,.pts-btn--ghost:active{transform:translateY(1px);box-shadow:none}
.pts-btn:focus-visible,.pts-nav a:focus-visible,.pts-mnav summary:focus-visible,.pts-mnav nav a:focus-visible,.ck-bar button:focus-visible,.pts-faq summary:focus-visible{outline:2.5px solid var(--teal);outline-offset:3px;border-radius:999px}
.pts-card,.pts-step,.pts-plan,.pts-strip figure,.pts-chip{transition:transform var(--t-std) ease,box-shadow var(--t-std) ease,border-color var(--t-std) ease,background var(--t-std) ease}
.pts-card:hover,.pts-step:hover{transform:translateY(-3px);box-shadow:var(--hover-shadow);border-color:var(--line-2)}
.pts-plan:hover{transform:translateY(-2px);box-shadow:var(--hover-shadow)}
.pts-plan--feat:hover{box-shadow:6px 8px 0 rgba(42,34,40,.14)}
.pts-strip figure:hover{transform:translateY(-3px);box-shadow:var(--hover-shadow)}
.pts-chip:hover{background:#fff;border-color:var(--teal);color:var(--teal)}
.pts-link-arrow{transition:gap var(--t-fast) ease,color var(--t-fast) ease}
.pts-faq summary{transition:color var(--t-fast) ease}
.pts-faq summary:hover{color:var(--teal)}
.pts-nav a{transition:background var(--t-fast) ease,color var(--t-fast) ease}

/* 滚动淡入：JS 门控，无 JS 内容全可见 */
.js .fade{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}
.js .fade.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
  .js .fade{opacity:1 !important;transform:none !important;transition:none !important}
  .pts-card:hover,.pts-step:hover,.pts-plan:hover,.pts-strip figure:hover{transform:none}
}

/* FAQ 两列（左问右图卡） */
.pts-faqwrap{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:52px;align-items:start}
.pts-faqwrap>.side{position:sticky;top:100px}
.pts-faqwrap>.side img{border-radius:var(--r-md);border:1px solid #E1D8CB;box-shadow:0 18px 40px rgba(42,34,40,.12);width:100%}
.pts-faqwrap>.side .cap{font-size:13px;color:var(--ink-3);margin-top:12px;line-height:1.55}
.pts-faqwrap>.side .box{background:#fff;border:1.5px solid var(--line);border-radius:var(--r-md);padding:22px;margin-top:18px;box-shadow:var(--shadow)}
.pts-faqwrap>.side .box h4{font-size:17px;margin-bottom:.4em}
.pts-faqwrap>.side .box p{font-size:14.5px;color:var(--ink-2);margin:0 0 14px}

/* 表单成功态（非浏览器默认） */
.pts-success{display:none;text-align:center;padding:16px 6px 6px}
.pts-success.is-on{display:block}
.pts-success .tick{width:66px;height:66px;border-radius:50%;background:var(--mint);color:var(--teal);display:flex;align-items:center;justify-content:center;margin:0 auto 20px}
.pts-success .tick svg{width:32px;height:32px}
.pts-success h3{font-size:26px;letter-spacing:-.015em;margin-bottom:.35em}
.pts-success .ref{display:inline-block;font-family:'Work Sans';font-weight:700;font-size:13.5px;letter-spacing:.06em;color:#0A5453;background:#F2FBFA;border:1.5px solid #9FD9D5;border-radius:999px;padding:8px 16px;margin:4px 0 16px}
.pts-success p{color:var(--ink-2);max-width:46ch;margin:0 auto 8px;font-size:15.5px}
.pts-success .next{font-size:13.5px;color:var(--ink-3);margin-top:14px}
.pts-form.is-sent .pts-field,.pts-form.is-sent .pts-actions,.pts-form.is-sent .pts-submit,.pts-form.is-sent .pts-hint{display:none !important}
.pts-success h3{max-width:24ch;margin-left:auto;margin-right:auto}

@media (max-width:1100px){.pts-faqwrap{grid-template-columns:minmax(0,1fr) 300px;gap:36px}}
@media (max-width:960px){.pts-faqwrap{grid-template-columns:1fr}.pts-faqwrap>.side{position:static;order:-1}}
