/* Maps core block markup (what editors produce) onto the design system in site.css. */

.ms-content figure{margin:0}
.ms-content :where(.is-layout-flow,.is-layout-constrained)>*{margin-block-start:0}

/* buttons */
.ms-content .wp-block-buttons,.ms-btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px}
.wp-block-button .wp-block-button__link{display:inline-flex;align-items:center;gap:11px;font:500 15px/1 var(--font);letter-spacing:.01em;text-decoration:none;padding:17px 28px;border-radius:999px;border:1px solid transparent;white-space:nowrap;transition:background .25s,color .25s,border-color .25s}
.wp-block-button.is-style-primary .wp-block-button__link,.wp-block-button:not([class*=is-style-]) .wp-block-button__link{background:var(--blue);color:#fff}
.wp-block-button.is-style-primary .wp-block-button__link:hover{background:#0b6cc6}
.wp-block-button.is-style-line .wp-block-button__link{background:transparent;border-color:#c6d0dd;color:var(--navy)}
.wp-block-button.is-style-line .wp-block-button__link:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.wp-block-button.is-style-ghost .wp-block-button__link{background:transparent;border-color:rgba(255,255,255,.45);color:#fff}
.wp-block-button.is-style-ghost .wp-block-button__link:hover{background:#fff;color:var(--navy)}
.wp-block-button.is-style-primary .wp-block-button__link::after{content:"";width:16px;height:16px;flex:none;background:currentColor;-webkit-mask:var(--i-arr) center/contain no-repeat;mask:var(--i-arr) center/contain no-repeat;transition:transform .25s}
.wp-block-button.is-style-primary .wp-block-button__link:hover::after{transform:translateX(4px)}
.wp-block-button.ms-phone .wp-block-button__link::before{content:"";width:16px;height:16px;flex:none;background:currentColor;-webkit-mask:var(--i-phone) center/contain no-repeat;mask:var(--i-phone) center/contain no-repeat}
.sec-foot .wp-block-buttons{margin:0}
.faq-side .wp-block-buttons{margin-top:28px}
:root{
  --i-arr:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M1 8h13M9 3l5 5-5 5' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3C/svg%3E");
  --i-phone:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z' fill='none' stroke='%23000' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* article + rail (core Columns) */
.wp-block-columns.article{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(40px,6vw,96px);align-items:start;margin:0}
.wp-block-columns.article>.wp-block-column{flex-basis:auto!important;margin:0;min-width:0}
.wp-block-column.rail{align-self:start}
.toc .ms-toc{list-style:none;margin:0;padding:0;display:grid;gap:2px;counter-reset:t}
.toc .ms-toc a{display:flex;gap:12px;padding:8px 0;text-decoration:none;color:var(--ink);font-size:15px;border-bottom:1px solid #dfe5ee;line-height:1.4}
.toc .ms-toc a::before{counter-increment:t;content:counter(t,decimal-leading-zero);flex:none;width:20px;color:var(--blue);font-size:12.5px;padding-top:2px}
.toc .ms-toc a:hover{color:var(--blue)}
.card.dark .tel{margin:4px 0 6px}
.card.dark .tel a{color:#fff;text-decoration:none;font-size:1.5rem;font-weight:300;letter-spacing:-.02em}
.card.dark .wp-block-buttons{margin-top:10px}
.card.dark .wp-block-button,.card.dark .wp-block-button__link{width:100%;justify-content:center}

/* tables */
.wp-block-table :is(td,th){border:0}
.wp-block-table thead{border:0}
.wp-block-table.tbl{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:20px;margin:24px 0 12px}
.wp-block-table.tbl table{width:100%;border-collapse:collapse;font-size:15.5px}
.wp-block-table.tbl tbody td:first-child{font-weight:500;color:var(--ink)}
.wp-block-table.tbl .wp-element-caption{text-align:left;padding:12px 22px 16px;margin:0;font-size:13px;color:var(--mute);border-top:1px solid var(--line)}
.wp-block-table.facts-tbl table,.wp-block-table.tn-specs table{width:100%;border-collapse:collapse;font-size:14.5px;table-layout:auto}
.wp-block-table.facts-tbl td{padding:10px 0;border-bottom:1px solid #dfe5ee;vertical-align:top}
.wp-block-table.facts-tbl td:first-child{color:var(--mute);padding-right:16px}
.wp-block-table.facts-tbl td:last-child{text-align:right;font-weight:500;color:var(--ink)}
.wp-block-table.facts-tbl tr:last-child td{border-bottom:0}
.wp-block-table.tn-specs{margin:6px 0 18px;padding-top:12px;border-top:1px solid var(--line)}
.wp-block-table.tn-specs td{padding:3px 0;font-size:14px}
.wp-block-table.tn-specs td:first-child{color:var(--mute)}
.wp-block-table.tn-specs td:last-child{text-align:right;font-weight:500;color:var(--ink)}

/* benefit icons (set by the ico-* class on each card) */
.ben::before{content:"";display:block;width:40px;height:40px;margin-bottom:18px;background:var(--blue);-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat}
.ico-clock{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='%23000' stroke-width='1.6'%3E%3Ccircle cx='20' cy='20' r='15'/%3E%3Cpath d='M20 11v9l6 4'/%3E%3C/svg%3E")}
.ico-shield{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M20 5l13 5v9c0 8-6 14-13 16C13 33 7 27 7 19v-9z'/%3E%3C/svg%3E")}
.ico-wave{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M6 30c8 0 8-20 14-20s6 20 14 20'/%3E%3C/svg%3E")}
.ico-bend{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M8 32c0-14 10-24 24-24'/%3E%3Cpath d='M14 32c0-10 8-18 18-18'/%3E%3C/svg%3E")}
.ico-flask{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M15 6h10M17 6v10l-9 16a2 2 0 0 0 2 3h20a2 2 0 0 0 2-3l-9-16V6'/%3E%3C/svg%3E")}
.ico-bond{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='%23000' stroke-width='1.6'%3E%3Crect x='6' y='14' width='12' height='12' rx='2'/%3E%3Crect x='22' y='14' width='12' height='12' rx='2'/%3E%3Cpath d='M18 20h4'/%3E%3C/svg%3E")}
.ico-clear{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='%23000' stroke-width='1.6'%3E%3Ccircle cx='20' cy='20' r='14'/%3E%3Ccircle cx='20' cy='20' r='6'/%3E%3C/svg%3E")}
.ico-cross{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M20 6v28M6 20h28'/%3E%3Ccircle cx='20' cy='20' r='14'/%3E%3C/svg%3E")}

/* whole-card links: the heading or "more" link stretches over the card */
.tn,.rel,.ms-card-link{position:relative}
.tn .more a::after,.rel h3 a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.rel h3 a{text-decoration:none;color:inherit}
.tn .more{margin:0}
.tn .more a{color:var(--blue);text-decoration:none;font-size:14px;font-weight:500}
.tn:hover .more a{text-decoration:underline}
.tn h3,.rel h3,.xs h3,.ben h3,.num-i h3,.flow-i h3{margin-top:0}
.rel .wp-block-image img{width:96px;height:96px;border-radius:50%;object-fit:cover}
.ms-card-link{display:block}

/* strip captions */
.strip .wp-block-image{margin:0}
.strip .wp-element-caption{font-size:13.5px;color:var(--mute);text-align:center;margin:12px 0 0;line-height:1.4}

/* pull quote (core Quote) */
.wp-block-quote.pull{display:block;border:0;margin:0;padding:0 0 0 clamp(64px,9vw,140px);position:relative}
.wp-block-quote.pull::before{content:"\201C";position:absolute;left:0;top:-.1em;font-family:Georgia,"Times New Roman",serif;font-size:clamp(5rem,9vw,8rem);line-height:.8;color:var(--sky)}
.wp-block-quote.pull p{margin:0;font-size:clamp(1.6rem,2.8vw,2.6rem);font-weight:300;letter-spacing:-.025em;line-height:1.2;color:var(--navy)}
.wp-block-quote.pull cite{display:block;font-style:normal;margin-top:22px;font-size:15px;color:var(--mute)}
.wp-block-quote.pull cite a{color:inherit}
.wp-block-quote.pull cite strong{color:var(--ink);font-weight:500}

/* FAQ (core Details) */
.faq summary::after{content:"";flex:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);
  background:linear-gradient(var(--blue),var(--blue)) center/14px 1.5px no-repeat,linear-gradient(var(--blue),var(--blue)) center/1.5px 14px no-repeat;transition:background-color .3s,border-color .3s}
.faq details.is-open summary::after,.no-js .faq details[open] summary::after{background:linear-gradient(var(--blue),var(--blue)) center/14px 1.5px no-repeat,var(--mist);border-color:var(--mist)}
.faq details>p{margin:0;padding:0 0 26px;color:var(--mute);max-width:64ch}

/* chips inside prose */
.prose ul.chips{display:flex;gap:10px}
.prose ul.chips li{padding:0}
.prose ul.chips li::before{display:none}

/* flow steps as groups */
.flow>.flow-i{padding:36px 26px 0 0;position:relative}
.flow>.flow-i:not(:first-child){padding-left:26px}
.flow>.flow-i::before{content:"";position:absolute;top:-6px;left:0;width:11px;height:11px;border-radius:50%;background:#fff;border:2px solid var(--blue)}
.flow>.flow-i:not(:first-child)::before{left:26px}
.flow .k{font-size:13px;letter-spacing:.14em;color:var(--blue);font-weight:500;margin:0}
.num-i .k{margin:0}

/* Fluent Forms */
.frm-fluent-form .ff-el-group{margin-bottom:16px}
.frm-fluent-form .ff-el-input--label label{font-size:13px;font-weight:500;color:var(--ink);display:inline-block;margin-bottom:7px}
.frm-fluent-form .ff-el-is-required.asterisk-right label::after{content:" *";color:#b42318}
.frm-fluent-form .ff-el-form-control{width:100%;font:inherit;font-size:15.5px;padding:14px 16px;border:1px solid #8a97a8;border-radius:14px;background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.frm-fluent-form .ff-el-form-control:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(9,91,168,.18)}
.frm-fluent-form textarea.ff-el-form-control{min-height:120px;resize:vertical}
.frm-fluent-form .ff-t-container{display:flex;gap:16px}
.frm-fluent-form .ff-t-cell{flex:1;min-width:0}
.frm-fluent-form .ff-el-form-check{display:inline-flex;align-items:center;gap:8px;margin:0 18px 8px 0;font-size:15px}
.frm-fluent-form .ff-el-form-check-input{width:18px;height:18px;accent-color:var(--blue);margin:0}
.frm-fluent-form .ff-btn-submit{display:inline-flex;align-items:center;justify-content:center;gap:11px;width:100%;font:500 15px/1 var(--font);padding:17px 28px;border-radius:999px;border:0;cursor:pointer;background:var(--blue)!important;color:#fff!important}
.frm-fluent-form .ff-btn-submit:hover{background:#0b6cc6!important}
.frm-fluent-form .error,.frm-fluent-form .text-danger{color:#b42318;font-size:13px;margin-top:6px}
.frm-fluent-form .ff-el-is-error .ff-el-form-control{border-color:#b42318}
.ff-message-success{font-size:15px;color:var(--blue);padding:14px 0;border:0;box-shadow:none}
.form .frm-fluent-form fieldset{border:0;margin:0;padding:0}
@media (max-width:640px){
  .frm-fluent-form .ff-t-container{flex-direction:column;gap:0}
}

/* spacing modifiers */
.pad.pad-top-sm{padding-top:clamp(40px,5vw,72px)}
.pad.pad-bottom-sm{padding-bottom:clamp(40px,5vw,72px)}

.wrap.narrow{max-width:860px}

@media (max-width:1180px){
  .wp-block-columns.article{grid-template-columns:minmax(0,1fr)}
  .wp-block-column.rail{position:static;display:grid;grid-template-columns:1fr 1fr;gap:20px}
  .wp-block-column.rail .toc{display:none}
}
@media (max-width:640px){
  .wp-block-column.rail{grid-template-columns:1fr}
}
.rel .rel-title{font-size:1.3rem;color:var(--navy);margin:0 0 6px;font-weight:300;letter-spacing:-.03em;line-height:1.08}
.rel .rel-title a{text-decoration:none;color:inherit}
.rel .rel-title a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.ms-card-link>div{grid-column:1/-1}
