/* Block values are bounded by PageBlocks and blockStyle, and reset at every node. */
.page-block{--block-background:initial;--block-color:initial;--block-padding:initial;--block-gap:initial;--block-radius:initial;--block-font-size:initial;--block-image-height:initial;min-width:0}
.page-block[style*="--block-background:"]>section{background:var(--block-background)}
.page-block[style*="--block-padding:"]>section{padding-block:var(--block-padding)}
.page-block[style*="--block-radius:"]>section{border-radius:var(--block-radius)}
.page-block[style*="--block-color:"]>section>.container,.page-block[style*="--block-color:"]>section>.container>:is(h1,h2,h3,h4,p),.page-block[style*="--block-color:"]>section>.container>:is(.hero-copy,.section-head,.block-richtext) :is(h1,h2,h3,h4,p){color:var(--block-color)}
.page-block[style*="--block-font-size:"]>section>.container,.page-block[style*="--block-font-size:"]>section>.container>:is(h1,h2,h3,h4,p),.page-block[style*="--block-font-size:"]>section>.container>:is(.hero-copy,.block-richtext) :is(h1,h2,h3,h4,p){font-size:var(--block-font-size)}
.page-block[style*="--block-image-height:"]>section>.container>.block-figure img,.page-block[style*="--block-image-height:"]>section>.container>.block-video{height:var(--block-image-height)}
.page-block[style*="--block-radius:"]>section>.container>.block-figure img,.page-block[style*="--block-radius:"]>section>.container>.block-video{border-radius:var(--block-radius)}
.page-block>section>.container>.block-children,.page-block>section>.container>.block-card-grid{gap:var(--block-gap,24px)}
.page-block.block-align-center>section>.container{text-align:center}.page-block.block-align-end>section>.container{text-align:end}
.page-block.block-align-center>section>.container>.block-buttons{justify-content:center}.page-block.block-align-end>section>.container>.block-buttons{justify-content:flex-end}
.page-block.block-width-narrow>section>.container{width:min(780px,calc(100% - 48px))}.page-block.block-width-full>section>.container{width:100%}
.composed-block{padding-block:45px}.block-inner{min-width:0;overflow-wrap:anywhere}.block-inner>h2{margin-bottom:22px}
.block-heading{line-height:1.7}.block-lead{margin-top:12px;font-size:18px}.block-richtext p+p{margin-top:18px}.block-richtext{line-height:2.1}
.block-figure{margin:0}.block-figure img{width:100%;height:auto;object-fit:cover;border-radius:var(--radius)}.block-figure figcaption{font-size:14px;color:var(--muted);margin-top:12px}
.block-video{display:block;width:100%;max-height:650px;background:var(--navy);border-radius:var(--radius);aspect-ratio:16/9;object-fit:contain}
.block-buttons{display:flex;gap:12px;flex-wrap:wrap}.block-quote{margin:0;padding:32px;border-inline-start:4px solid var(--accent);background:var(--soft);border-radius:0 18px 18px 0}
.block-quote>i{font-size:30px;color:var(--brand);opacity:.4;margin-bottom:16px}.block-quote p{color:var(--ink);font-size:21px;line-height:1.9}.block-quote cite{font-style:normal;color:var(--brand);display:block;margin-top:15px;font-weight:700}
.block-list{list-style:none;margin:0;padding:0;display:grid;gap:16px}.block-list li{display:flex;gap:12px;align-items:baseline}.block-list i{color:var(--brand)}.block-list small{display:block;color:var(--muted);font-size:14px;margin-top:3px}
ol.block-list{list-style:decimal;padding-inline-start:24px}ol.block-list li{display:list-item;padding-inline-start:8px}
.block-divider{border:0;border-top:1px solid var(--line);margin:0}.block-divider~*{margin-top:15px}.block-spacer{height:var(--block-padding,45px)}.page-block>section.composed-spacer{padding-block:0}
.block-children{display:grid;gap:24px}.block-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.block-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.block-columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.block-children>.page-block>section{padding-block:20px}.block-children>.page-block>section>.container{width:100%;max-width:100%}
.block-children .hero .hero-grid{grid-template-columns:1fr}.block-children .hero .hero-visual{max-width:440px;margin:auto}
.block-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:24px}
.block-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:27px;text-align:start;min-width:0;box-shadow:0 8px 25px color-mix(in srgb,var(--brand) 4%,transparent)}
.block-card>img{width:100%;aspect-ratio:1.6;object-fit:cover;border-radius:12px;margin-bottom:20px}.block-card>img.block-avatar{width:65px;height:65px;border-radius:50%;aspect-ratio:1;margin-bottom:20px}
.block-card-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:13px;background:var(--soft);color:var(--brand);margin-bottom:17px}.block-card h3{font-size:21px;line-height:1.7;margin-bottom:10px}
.block-card p{font-size:15px;line-height:2}.block-card p+p{margin-top:12px}.block-card .btn{margin-top:24px}.block-card-value{font-size:33px;color:var(--brand);display:block;margin:15px 0}
.block-price{border-top:4px solid var(--accent)}.block-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px}.block-table{border-collapse:collapse;text-align:start;width:100%;min-width:360px}
.block-table th,.block-table td{text-align:start;padding:15px 20px;border-bottom:1px solid var(--line)}.block-table th{background:var(--soft);color:var(--brand);font-weight:700}.block-table tbody tr:last-child td{border:0}
.page-block.tone-dark>section .block-card{color:var(--ink)}.page-block.tone-dark>section .block-card p{color:var(--muted)}.page-block.tone-dark>section>.container>h2{color:var(--block-color,#fff)}
@media(min-width:761px){.page-block.block-hide-desktop{display:none}}
@media(max-width:760px){.page-block.block-hide-mobile{display:none}.block-columns,.block-columns-3,.block-columns-4{grid-template-columns:1fr}.composed-block{padding-block:30px}.block-quote{padding:24px}.block-quote p{font-size:19px}.block-card{padding:24px}.block-table th,.block-table td{padding:12px 15px}}
