/* Demo request: contact-page foundation, with distinct form, review and confirmation states. */
.demo-compose [hidden]{display:none!important}
.demo-progress{display:flex;gap:18px;list-style:none;padding:0 0 24px;margin:0 0 28px;border-bottom:1px solid #e0e2d5}
.demo-progress li{display:flex;align-items:center;gap:8px;flex:1;font-size:12px;line-height:1.4;color:#657163}
.demo-progress li>span{flex:none;display:grid;place-items:center;width:26px;height:26px;border:1px solid #cdd3c5;border-radius:50%;font-size:11px;background:#f8f7f0}
.demo-progress [aria-current]{color:#173d2d;font-weight:600}
.demo-progress [aria-current]>span{background:#173d2d;border-color:#173d2d;color:#fffdf3}
.demo-progress .is-complete>span{background:#e6ecdd;color:#315539;border-color:#e6ecdd}
.demo-form-intro{margin-bottom:27px}
.demo-form-intro>.eyebrow,#demo-review>.eyebrow,#demo-confirmation>.eyebrow{font-size:10px;letter-spacing:.12em;margin:0 0 12px}
.demo-form-intro h2{font-size:clamp(28px,2.4vw,35px);line-height:1.15;letter-spacing:-.025em;margin:0 0 14px}
.demo-form-intro p,.demo-state-intro{font-size:15px;line-height:1.7;color:#53634f;margin:0 0 12px}
.demo-form-intro small{font-size:12px;line-height:1.5;color:#65715f}
.demo-fieldset{border:0;padding:0;margin:0;min-width:0}
.demo-fieldset legend{font:600 14px/1.5 'IBM Plex Sans',sans-serif;padding:0 0 17px;color:#1d392a}
.demo-fieldset legend span{font-weight:400;font-size:12px;color:#65715f}
.demo-preferences{margin-top:14px;border-top:1px solid #e0e2d5;padding-top:12px}
.demo-preferences legend{padding-right:12px}
#demo-form label{display:block;font-size:13px;font-weight:500;margin-bottom:8px}
#demo-form label>span{font-weight:400;color:#65715f;font-size:11px}
#demo-form input,#demo-form textarea,#demo-form select{width:100%;border:1px solid #c9d0c1;border-radius:4px;background:#fff;padding:11px 12px;color:#1d3126;font:inherit;font-size:14px;line-height:1.5;min-height:46px}
#demo-form textarea{resize:vertical;min-height:100px}
#demo-form input::placeholder,#demo-form textarea::placeholder{color:#697463}
#demo-form input:focus,#demo-form textarea:focus,#demo-form select:focus{outline:2px solid #a88936;outline-offset:2px}
#demo-form [aria-invalid=true]{border-color:#9b5341}
.demo-help{display:block;margin-top:7px;font-size:12px;line-height:1.55;color:#65715f}
#demo-result h2{font-size:clamp(31px,2.9vw,42px);line-height:1.12;letter-spacing:-.025em;margin:0 0 18px}
.demo-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 24px;padding:24px;background:#f5f3eb;border:1px solid #e1e1d3;border-radius:6px;margin:25px 0}
.demo-summary>div{min-width:0}
.demo-summary dt{font-size:11px;line-height:1.5;letter-spacing:.015em;color:#69735f;margin-bottom:6px}
.demo-summary dd{font-size:15px;line-height:1.55;color:#243d2d;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
.demo-summary-note{grid-column:1/-1;border-top:1px solid #dddfcf;padding-top:18px}
.demo-scheduling-note{display:flex;gap:10px;font-size:13px;line-height:1.6;color:#53634f;margin:0}
.demo-scheduling-note>span{color:#8a6b1b;font-size:18px;line-height:1.2}
#demo-result .delivery-panel{margin:22px 0 0;padding:20px 0 0;border-bottom:0}
#demo-result .delivery-panel>p:first-child{font-size:12px;line-height:1.65;margin:0 0 20px;color:#65715f}
#demo-result .delivery-panel .button-row{gap:12px;margin:0;flex-wrap:wrap}
#demo-result .btn{font-size:13px;min-height:47px;padding:13px 18px}
#demo-result .delivery-status{font-size:14px;margin:18px 0 0}
.demo-success-mark{display:grid;place-items:center;width:49px;height:49px;border-radius:50%;background:#e7eddd;border:1px solid #d4dfc8;color:#31583b;font-size:25px;margin:0 0 20px}
#demo-confirmation .demo-state-intro strong{color:#173c2b;font-weight:500;overflow-wrap:anywhere}
.demo-next{margin:27px 0 25px;padding:23px 24px;background:#f2f5eb;border:1px solid #dfe5d4;border-radius:7px}
.demo-next>h3{font-family:'Source Serif 4',serif;font-size:25px;line-height:1.25;margin:0 0 22px;color:#173c2b}
.demo-next ol{list-style:none;padding:0;margin:0}
.demo-next li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:14px;padding:0 0 22px;position:relative}
.demo-next li:last-child{padding-bottom:0}
.demo-next li:not(:last-child):before{content:'';position:absolute;top:33px;bottom:7px;left:14px;width:1px;background:#d2dcc5}
.demo-next li>span{display:grid;place-items:center;width:30px;height:30px;border:1px solid #bfcdae;border-radius:50%;background:#f9faf4;color:#596b47;font-size:10px;position:relative}
.demo-next h4{font:600 15px/1.5 'IBM Plex Sans',sans-serif;color:#243d2d;margin:2px 0 5px}
.demo-next p{font-size:13px;line-height:1.65;color:#53634f;margin:0}
.demo-next a,.demo-correction a{color:#28553b;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.demo-sent-details{border-top:1px solid #dfe1d5;border-bottom:1px solid #dfe1d5}
.demo-sent-details summary{display:flex;justify-content:space-between;align-items:center;gap:15px;cursor:pointer;font-size:14px;line-height:1.6;padding:16px 0;color:#284a32;list-style:none}
.demo-sent-details summary::-webkit-details-marker{display:none}
.demo-sent-details summary::after{content:"+";font:400 22px/1 'IBM Plex Sans',sans-serif;color:#806222}
.demo-sent-details[open] summary::after{content:"−"}
.demo-sent-details summary:focus-visible{outline:2px solid #a88936;outline-offset:3px}
.demo-sent-details .demo-summary{background:transparent;border:0;padding:4px 0 16px;margin:0}
.demo-receipt{font-size:11px;line-height:1.6;color:#65715f;padding:0 0 18px;margin:0;overflow-wrap:anywhere}
.demo-correction{font-size:12px;line-height:1.7;margin:18px 0 22px;color:#65715f}
.demo-explore{display:inline-flex}
@media(max-width:720px){
 .demo-progress{gap:8px;margin-bottom:24px;padding-bottom:20px}
 .demo-progress li{font-size:11px;gap:6px}
 .demo-progress li>span{width:23px;height:23px;font-size:10px}
 .demo-form-intro h2{font-size:30px}
 .demo-form-intro p,.demo-state-intro{font-size:15px}
 .demo-fieldset .contact-field-row{gap:19px}
 .demo-summary{grid-template-columns:1fr;gap:18px;padding:19px;margin:21px 0}
 .demo-summary dd{font-size:15px}
 .demo-summary-note{grid-column:auto}
 .demo-next{padding:20px 17px;margin:23px 0}
 .demo-next li{gap:12px}
 #demo-result h2{font-size:34px}
 #demo-result .delivery-panel .button-row{flex-direction:column;align-items:stretch}
 #demo-result .delivery-panel .btn{justify-content:center;font-size:14px}
 .demo-sent-details .demo-summary{grid-template-columns:1fr}
 .demo-explore{width:100%;justify-content:center}
}
@media(max-width:370px){.demo-progress{gap:5px}.demo-progress li{font-size:10px;gap:4px}.demo-form-intro h2{font-size:28px}#demo-result h2{font-size:31px}}
