.closing-intro{max-width:700px;margin:22px auto 0;color:var(--muted);font-size:18px}
.visit-section{background:radial-gradient(ellipse at 5% 15%,#e6efff,transparent 55%),#f5f7fb}
.visit-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:64px;align-items:start}
.visit-copy{padding-top:32px}
.visit-copy h2{font-size:clamp(34px,3.7vw,50px);line-height:1.15;max-width:540px}
.visit-copy>.eyebrow{margin-bottom:20px}
.visit-grid .visit-copy>p:not(.eyebrow){max-width:470px;line-height:1.8}
.visit-copy dl{margin:32px 0 0;border:1px solid #dce5f0;border-radius:14px;overflow:hidden;background:#ffffffb3}
.visit-copy dl>div{padding:20px 24px;grid-template-columns:85px minmax(0,1fr);gap:16px;align-items:baseline}
.visit-copy dl>div:first-child{border-top:0}
.visit-copy dt{font-size:12px;font-weight:600}
.visit-copy dd{font-size:15px;line-height:1.65}
.visit-grid .visit-copy .visit-note{margin-top:20px;font-size:12px}
.visit-card{padding:28px 32px;border:1px solid #dce5f0;border-radius:20px;box-shadow:0 16px 48px #03122e08}
.visit-card>.eyebrow{font-size:11px;margin-bottom:10px}
.visit-card h3{font-size:28px;line-height:1.15;margin-bottom:20px}
.visit-card h3 br{display:none}
.visit-card label{font-size:13px;line-height:1.5;margin:0 0 6px}
.visit-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.visit-fields>div{min-width:0}
.visit-field-wide{grid-column:1/-1}
.visit-card input,.visit-card select,.visit-card textarea{width:100%;/*min-height:44px;*/border:1px solid #ced9e8;border-radius:8px;padding:9px 12px;background:#fbfcfe;color:var(--ink);font-size:15px;line-height:1.6}
.visit-card textarea{min-height:76px;display:block}
.visit-card input::placeholder,.visit-card textarea::placeholder{color:#8795aa}
.visit-card input:focus,.visit-card select:focus,.visit-card textarea:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px #1769e810}
.visit-card form>label{margin-top:14px}
.visit-card label[for="visit-note"] span{display:block;margin-top:4px;font-size:12px;line-height:1.65}
.visit-card .button{margin-top:16px;min-height:48px;border-radius:8px;font-size:14px}
.visit-card .email-note{font-size:12px;line-height:1.7;max-width:380px;margin:12px auto 0}
.visit-card .walk-in{margin-top:16px;padding-top:14px;font-size:13px;line-height:1.7}
.visit-card .walk-in span{font-size:12px}
.visit-card input:hover,.visit-card select:hover,.visit-card textarea:hover{border-color:#88a9d4}
@media(max-width:1050px){.visit-grid{gap:32px}.visit-card{padding:30px 26px}.visit-copy dl>div{padding:18px;grid-template-columns:70px minmax(0,1fr)}}
@media(max-width:760px){.visit-grid{grid-template-columns:1fr;gap:32px}.visit-copy{padding-top:0}.visit-card{padding:28px 24px;border-radius:16px}.visit-card h3{font-size:28px}.visit-copy dl{margin-top:24px}.visit-fields{grid-template-columns:1fr;gap:16px}.visit-card input,.visit-card select,.visit-card textarea{font-size:16px}}
.demo-panel .panel-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px 12px}
.demo-panel .panel-top .eyebrow{margin:0;line-height:1.5}
.demo-panel .panel-top .mini-pill{justify-self:end}
.demo-panel .panel-top>p{grid-column:1/-1;color:var(--muted);line-height:1.7}
@media(max-width:380px){.demo-panel .panel-top{column-gap:8px}.demo-panel .panel-top .eyebrow{font-size:11px;letter-spacing:.08em}.demo-panel .panel-top .mini-pill{font-size:11px;padding:4px 6px}}
.faq-section{background:radial-gradient(ellipse at 0 0,#e8f1ff,transparent 55%),#f6f8fc;border-top:1px solid var(--line)}
.faq-section>.wrap{display:grid;grid-template-columns:200px minmax(0,1fr);gap:64px;align-items:start}
.faq-section h2{font-size:clamp(48px,5vw,72px);position:sticky;top:120px;letter-spacing:-.055em}
.faq-section h2::after{content:"";display:block;width:52px;height:4px;margin-top:24px;border-radius:4px;background:var(--blue)}
.faq-list{display:grid;gap:12px}
.faq-item{background:#fff;border:1px solid #dce5f0;border-radius:12px;overflow:hidden;box-shadow:0 3px 12px #03122e03;transition:border-color .2s,box-shadow .2s}
.faq-item:hover{border-color:#a8c5eb;box-shadow:0 6px 20px #03122e08}
.faq-item[open]{border-color:#92b9ed;box-shadow:0 8px 28px #1769e810}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 28px;cursor:pointer;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::marker{content:""}
.faq-item summary:focus-visible{outline:3px solid var(--blue);outline-offset:-5px;border-radius:12px}
.faq-item h3{font-size:18px;line-height:1.5;letter-spacing:-.02em;font-weight:700}
.faq-toggle{position:relative;flex:0 0 32px;height:32px;border-radius:50%;background:#edf3fc;color:var(--blue);transition:background .2s,color .2s}
.faq-toggle::before,.faq-toggle::after{content:"";position:absolute;top:15px;left:10px;width:12px;height:2px;border-radius:2px;background:currentColor}
.faq-toggle::after{transform:rotate(90deg);transition:transform .2s}
.faq-item[open] .faq-toggle{background:var(--blue);color:white}
.faq-item[open] .faq-toggle::after{transform:rotate(0)}
.faq-item[open] h3{color:var(--blue)}
.faq-item p{color:var(--muted);padding:0 84px 26px 28px;line-height:1.8;max-width:850px}
@media(max-width:1050px){.faq-section>.wrap{grid-template-columns:140px minmax(0,1fr);gap:36px}}
@media(max-width:760px){.faq-section>.wrap{grid-template-columns:1fr;gap:28px}.faq-section h2{position:static;font-size:44px}.faq-section h2::after{margin-top:16px}.faq-list{gap:10px}.faq-item summary{padding:20px;gap:16px}.faq-item h3{font-size:16px}.faq-item p{padding:0 20px 22px;font-size:15px}.faq-toggle{flex-basis:30px;height:30px}.faq-toggle::before,.faq-toggle::after{top:14px;left:9px}}
@media(prefers-reduced-motion:reduce){.faq-item,.faq-toggle,.faq-toggle::after{transition:none}}
.closing-features{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px;margin-top:40px;text-align:left}
.closing-features article{grid-column:span 2;padding:28px;background:var(--pale);border:1px solid var(--line);border-top:3px solid var(--blue);border-radius:10px}
.closing-features article:nth-child(4){grid-column:2/span 2}
.closing-features h3{font-size:23px;line-height:1.25;margin-bottom:14px}
.closing-features p{color:var(--muted)}
.closing .button{margin-top:36px}
@media(max-width:1050px){.closing-features{grid-template-columns:repeat(2,minmax(0,1fr))}.closing-features article,.closing-features article:nth-child(4){grid-column:auto}.closing-features article:last-child{grid-column:1/-1}}
@media(max-width:760px){.closing-intro{font-size:17px}.closing-features{grid-template-columns:1fr;gap:18px;margin-top:28px}.closing-features article{padding:24px}.closing-features article:last-child{grid-column:auto}}
/* Keep dropdown sizing and text alignment consistent across both forms. */
.contact-card select,
.visit-card select {
    display: block;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    height: 48px;
    min-height: 48px;
    margin: 0;
    padding: 0 40px 0 12px;
    font-family: inherit;
    font-size: 16px;
    line-height: normal;
    text-align: left;
    border: 1px solid #ced9e8;
    border-radius: 8px;
    appearance: none;
    background-color: #fbfcfe;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230a1d3d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 16px;
}
.contact-card select:focus,
.visit-card select:focus {
    border-color: var(--blue);
    background-color: #fff;
}
.contact-card select:focus-visible,
.visit-card select:focus-visible {
    outline: 2px solid var(--blue);
    outline-offset: 2px;
}