.smart-page { background:var(--paper); }
.smart-layout { padding-block:60px 84px; }
/* End the sticky heading's containing block before the privacy notice. */
.smart-form-content { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(48px,7vw,106px); align-items:start; }
.smart-intro { position:sticky; top:138px; }
.smart-back { display:inline-flex; align-items:center; gap:10px; font-size:13px; color:var(--type-muted); margin-bottom:38px; }
.smart-back:hover { color:var(--type-accent); text-decoration:underline; text-underline-offset:4px; }
.smart-kicker { display:block; font-size:11px; font-weight:500; letter-spacing:.13em; text-transform:uppercase; color:var(--type-accent); margin-bottom:20px; }
.smart-intro h1 { font-size:clamp(40px,4.3vw,60px); letter-spacing:-.035em; line-height:1.08; overflow-wrap:break-word; }
.smart-intro h1 em { color:var(--type-accent); }
.smart-intro>p { margin-top:24px; max-width:370px; font-size:17px; line-height:1.7; color:var(--type-muted); }
.smart-intro .smart-note { font-size:13px; border-top:1px solid #52634830; padding-top:23px; margin-top:34px; }
.smart-panel { border-top:2px solid #526348; padding-top:26px; min-width:0; }
.smart-form fieldset { border:0; padding:0; margin:0 0 28px; min-width:0; }
.smart-form legend { font-size:20px; font-weight:500; letter-spacing:-.025em; margin-bottom:20px; padding:0; }
.smart-form legend .step-number { display:inline-block; font-size:12px; font-weight:400; letter-spacing:0; color:var(--type-accent); margin-right:12px; vertical-align:middle; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.smart-field { display:flex; flex-direction:column; gap:8px; min-width:0; margin-bottom:20px; }
.smart-field:last-child { margin-bottom:0; }
.field-grid .smart-field { margin-bottom:0; }
.smart-field label,.services-legend { font-size:14px; font-weight:500; line-height:1.55; }
.smart-field .optional { color:var(--type-muted); font-size:12px; font-weight:400; margin-left:5px; }
.smart-field input,.smart-field textarea { display:block; width:100%; border:1px solid #a3ab9d; border-radius:4px; padding:13px 14px; background:#fffdf8; color:var(--type-ink); font:inherit; font-size:16px; line-height:1.5; transition:border-color .2s,box-shadow .2s; }
.smart-field input { min-height:52px; }
.smart-field textarea { min-height:138px; resize:vertical; }
.smart-field input::placeholder,.smart-field textarea::placeholder { color:#72796f; opacity:1; }
.smart-field input:focus,.smart-field textarea:focus { outline:2px solid #526348; outline-offset:2px; border-color:#526348; }
.smart-field [aria-invalid="true"] { border-color:#9a352d; }
.smart-field .field-help { color:var(--type-muted); font-size:12px; line-height:1.6; }
.smart-field .field-error { color:#7c2d25; font-size:12px; line-height:1.6; }
.smart-form .spaced-field { margin-top:20px; }
.service-options { display:grid; gap:9px; }
.service-choice { position:relative; display:flex; align-items:center; gap:13px; padding:14px 16px; border:1px solid #b5bcad; border-radius:4px; cursor:pointer; font-size:15px; line-height:1.45; background:transparent; transition:background .18s,border-color .18s; }
.service-choice:hover { background:#edf0e6; }
.service-choice:has(input:checked) { border-color:#526348; background:#e8eddf; }
.service-choice:has(input:focus-visible) { outline:2px solid #526348; outline-offset:3px; }
.service-choice input { flex:0 0 auto; width:19px; height:19px; margin:0; accent-color:#354737; }
.selection-note { color:var(--type-muted); font-size:12px; margin:-10px 0 15px; }
.form-errors { padding:14px 17px; margin:0 0 20px; border-left:3px solid #9a352d; background:#f7e8df; color:#7c2d25; font-size:14px; }
.form-errors ul { margin:6px 0 0; padding-left:19px; }
.smart-submit { min-width:170px; min-height:54px; justify-content:center; background:#354737; border-color:#354737; font-size:15px; }
.smart-submit:hover { background:#526348; border-color:#526348; }
.smart-submit:disabled { opacity:.65; }
.form-bottom { display:flex; align-items:center; gap:20px; margin-top:26px; }
.form-bottom p { max-width:240px; font-size:12px; color:var(--type-muted); }
.privacy-smallprint { border-top:1px solid #52634830; padding-top:25px; margin-top:64px; font-size:11px; line-height:1.7; color:#5a645c; }
.privacy-smallprint h2 { font-size:12px; font-weight:500; letter-spacing:0; margin-bottom:7px; }
.privacy-smallprint p+p { margin-top:7px; }
.privacy-smallprint a { text-decoration:underline; text-underline-offset:2px; }
.form-success { position:relative; padding:46px 0 64px; }
.success-symbol { width:66px; height:66px; display:grid; place-items:center; border-radius:50%; background:#e6eddf; color:#354737; margin-bottom:26px; }
.success-symbol svg { width:30px; height:30px; }
.form-success h2 { font-size:clamp(40px,5vw,60px); letter-spacing:-.04em; margin-bottom:16px; }
.form-success>p { font-size:21px; color:var(--type-muted); line-height:1.5; max-width:440px; }
.form-success .smart-back { margin-top:35px; margin-bottom:0; }
.local-preview-note { font-size:12px!important; line-height:1.6!important; border:1px solid #c7cdbf; border-radius:4px; padding:12px 15px; margin-top:24px; background:#eff1e8; color:#4c5b46; }
.confetti-shower { position:fixed; inset:0; z-index:100; pointer-events:none; overflow:hidden; }
.confetti-piece { position:absolute; left:var(--start-x); top:var(--start-y); width:var(--width); height:var(--height); animation:confettiCelebrate var(--duration) linear both; animation-delay:var(--delay); will-change:transform; }
@keyframes confettiCelebrate {
  0% { transform:translate3d(0,0,0) rotate(0deg); opacity:0; }
  3% { opacity:1; }
  26% { transform:translate3d(var(--peak-x),var(--peak-y),0) rotate(calc(var(--spin)*.3)) rotateY(110deg); opacity:1; }
  45% { transform:translate3d(var(--mid-x),var(--mid-y),0) rotate(calc(var(--spin)*.5)) rotateY(220deg); opacity:1; }
  86% { opacity:1; }
  100% { transform:translate3d(var(--end-x),var(--end-y),0) rotate(var(--spin)) rotateY(540deg); opacity:0; }
}
.form-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:900px) { .smart-form-content { gap:45px; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); } .field-grid { grid-template-columns:1fr; } .smart-intro h1 { font-size:43px; } }
@media(max-width:700px) { .smart-layout { padding-block:28px 52px; } .smart-form-content { grid-template-columns:1fr; gap:34px; } .smart-intro { position:static; } .smart-back { margin-bottom:27px; } .smart-kicker { margin-bottom:14px; } .smart-intro h1 { font-size:42px; max-width:470px; } .smart-intro>p { font-size:16px; margin-top:18px; max-width:none; } .smart-intro .smart-note { display:none; } .smart-panel { padding-top:23px; } .service-choice { padding:14px 12px; min-height:55px; } .form-bottom { flex-direction:column; align-items:stretch; gap:12px; } .form-bottom p { max-width:none; text-align:center; } .privacy-smallprint { margin-top:34px; } .form-success { padding:22px 0 28px; } .form-success>p { font-size:20px; } }
@media(prefers-reduced-motion:reduce) { .confetti-shower { display:none; } .smart-field input,.smart-field textarea,.service-choice { transition:none; } }
