/* Resolve legacy flex widths in the date controls. */
.date-grid .date-entry{display:flex;flex-direction:row;position:relative;align-items:stretch;width:100%;min-width:0;height:48px}
.date-grid .date-entry>input[type="text"]{display:block;flex:1 1 auto;width:100%;min-width:0;max-width:100%;height:48px;margin:0;padding:10px 54px 10px 12px;line-height:26px;font-size:16px;color:#352720;-webkit-text-fill-color:#352720;background:#faf7f2;opacity:1;box-sizing:border-box}
.date-grid .date-picker-button{position:absolute;inset:1px 1px 1px auto;width:46px;min-width:46px;height:46px;margin:0;outline:none;box-shadow:none}
.date-grid .date-picker-button input{display:block;flex:none;min-width:0;min-height:0;width:100%;max-width:100%;height:100%;padding:0;margin:0}
html[data-input-mode="keyboard"] .date-picker-button:has(input:focus-visible){outline:2px solid #cfad89;outline-offset:-3px}
/* Pointer focus is kept for functionality, without a persistent visual ring. */
html[data-input-mode="pointer"] :is(a,button,input,select,textarea,summary,[tabindex],[role="button"],[role="link"]):focus{outline:none!important;box-shadow:none!important}
html[data-input-mode="pointer"] .date-picker-button:focus-within{outline:none!important;box-shadow:none!important}
@media(hover:none){button:hover,.button:hover{filter:none}.site-header .nav-links>a:hover,.design-back:hover{background:transparent}}
/* Step badges share padding with their text and remain true circles. */
.section-steps .feature-grid article{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr;align-content:start;justify-items:center;gap:14px;padding:24px 18px;min-width:0;text-align:center;border-radius:20px}
.section-steps .feature-grid article>small{grid-column:1;grid-row:1;display:grid;place-items:center;align-self:center;justify-self:center;box-sizing:border-box;flex:none;width:48px;min-width:48px;max-width:48px;height:48px;min-height:48px;aspect-ratio:1;margin:0;padding:0;border-radius:50%;font-family:Interface,sans-serif;font-size:16px;line-height:1;letter-spacing:0;font-variant-numeric:tabular-nums}
.section-steps .feature-grid article>h3{grid-column:1;grid-row:2;align-self:end;width:100%;margin:0;line-height:1.2;font-size:clamp(22px,2vw,27px);overflow-wrap:anywhere}
.section-steps .feature-grid article>p{grid-column:1;grid-row:3;width:100%;margin:0;line-height:1.7}
@media(min-width:961px) and (max-width:1279px){.section-steps .feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:960px){
 .section-steps .feature-grid{grid-template-columns:minmax(0,1fr)}
 .section-steps .feature-grid article{grid-template-columns:48px minmax(0,1fr);grid-template-rows:auto auto;column-gap:18px;row-gap:10px;padding:22px;align-items:center;text-align:left;justify-items:stretch}
 .section-steps .feature-grid article>small{grid-column:1;grid-row:1 / 3;align-self:center}
 .section-steps .feature-grid article>h3{grid-column:2;grid-row:1;align-self:end}
 .section-steps .feature-grid article>p{grid-column:2;grid-row:2;align-self:start}
}
@media(max-width:360px){.section-steps .feature-grid article{padding:18px 16px;column-gap:14px;grid-template-columns:42px minmax(0,1fr)}.section-steps .feature-grid article>small{width:42px;min-width:42px;max-width:42px;height:42px;min-height:42px}.section-steps .feature-grid article>h3{font-size:22px}}
/* The first-screen phones sit beside the complete heading on wide viewports. */
.section-hero{min-height:0}
.section-hero .section-inner{min-height:0}
.section-hero .section-heading{min-width:0}
.section-hero .hero-phones{min-width:0;min-height:0;margin:0;padding:12px 0 48px;justify-content:center;align-items:center}
.section-hero .hero-phones .phone{width:clamp(140px,34vw,180px)}
.section-hero .hero-phones .phone:nth-child(2){width:clamp(130px,31vw,170px);margin-left:-42px;transform:translateY(18px) rotate(6deg)}
.section-hero .hero-phones .caption{left:0;right:0;bottom:6px;text-align:center}
@media(min-width:760px){
 .section-hero .section-inner{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:clamp(24px,4vw,60px);align-items:center;padding:clamp(48px,5vw,76px) 5%}
 .section-hero .section-heading{grid-column:1;grid-row:1;width:100%;max-width:none;margin:0}
 .section-hero .section-heading h1{max-width:none;font-size:clamp(36px,4.3vw,64px);line-height:1.14;margin:0 0 22px}
 .section-hero .section-heading p{max-width:48ch}
 .section-hero .hero-phones{grid-column:2;grid-row:1;align-self:center;width:100%;padding-top:24px}
 .section-hero .hero-phones .phone{width:clamp(140px,18vw,245px)}
 .section-hero .hero-phones .phone:nth-child(2){width:clamp(130px,16vw,225px);margin-left:clamp(-55px,-4vw,-36px)}
}
