@font-face{font-family:Bourton;src:url("BourtonBase.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
:root{--navy:#001a26;--red:#fa3640;--cta:#bd2635;--muted:#6b7b83;--line:#e2e8eb;--paper:#f8fafb;--green:#37694e;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--navy);background:#fff;font:15px/1.5 var(--font);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:disabled{cursor:default;opacity:.5}button,a,input,select{outline-offset:4px}button:focus-visible,a:focus-visible{outline:3px solid #fa3640}input:focus,select:focus{outline:2px solid #bb2431;outline-offset:2px}a{color:inherit}.demo-strip{position:relative;z-index:3;background:#eaf0f3;color:#46606f;text-align:center;padding:6px 10px;font-size:9px;font-weight:800;letter-spacing:1.5px}.demo-strip span{font-weight:450;letter-spacing:0;margin-left:12px}.experience{display:grid;grid-template-columns:minmax(350px,.95fr) minmax(530px,1.05fr);min-height:calc(100vh - 25px)}.landscape{background:radial-gradient(ellipse at 75% 28%,#1f4659 0,transparent 55%),var(--navy);color:#fff;position:sticky;top:0;height:calc(100vh - 25px);overflow:hidden;min-height:760px}.desktop-brand{position:absolute;top:42px;left:48px;z-index:2;padding:12px 15px;background:#fff;border-radius:2px;display:block}.desktop-brand img{width:160px;display:block}.landscape-copy{position:relative;z-index:2;padding:198px 48px 0;max-width:670px}.tiny-label{font-size:9px;letter-spacing:2.8px;font-weight:750;display:flex;align-items:center;gap:9px;color:#b0c5ce}.tiny-label i{width:5px;height:5px;background:var(--red);border-radius:50%}.landscape h1{font-size:clamp(35px,3.6vw,59px);line-height:1.08;letter-spacing:-2.4px;margin:25px 0 24px}.landscape h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-1.6px;color:#d8e6eb}.landscape p{font-size:14px;color:#bbced6;line-height:1.8}.mountains{position:absolute;bottom:-20px;width:100%;height:60%;opacity:.8}.altitude{position:absolute;bottom:32px;left:48px;right:48px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;color:#d0e0e6}.app-area{position:relative;min-width:0;background:linear-gradient(140deg,#f5f8fa 0%,#fff 45%)}.mobile-header{display:none}.workspace{width:min(100%,550px);margin:0 auto;padding:48px 36px 26px}.flow-header{display:flex;align-items:center;gap:14px;min-height:38px;margin-bottom:25px}.flow-caption{font-size:8px;letter-spacing:1.8px;font-weight:800;color:#6f838e;flex:1}.icon-button{width:34px;height:34px;flex-shrink:0;background:#fff;border:1px solid var(--line);border-radius:50%;color:var(--navy);font-size:18px;display:grid;place-items:center}.icon-button[hidden]{display:none}.language-shortcut{border:0;background:none;font-size:10px;font-weight:750;color:#566d7b;padding:8px}.progress-steps{display:flex;gap:5px;margin-bottom:34px}.progress-steps i{height:3px;flex:1;background:#dfe7ec;border-radius:2px;transition:background .3s}.progress-steps i.done{background:#001a26}.progress-steps i.current{background:var(--red)}.step-enter{animation:stepIn .38s cubic-bezier(.2,.7,.3,1) both}.step-kicker{font-size:9px;color:#a23b46;font-weight:800;letter-spacing:2px;text-transform:uppercase;margin-bottom:12px}.step-title{font-size:37px;line-height:1.12;letter-spacing:-1.6px;margin:0 0 15px;font-weight:750}.step-title .serif{font-family:Georgia,serif;font-style:italic;font-weight:400}.step-description{font-size:13px;color:var(--muted);line-height:1.75;margin:0 0 26px;max-width:430px}.language-card,.tour-choice{width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:15px;padding:18px;display:flex;align-items:center;gap:15px;margin-bottom:12px;box-shadow:0 4px 15px #001a2603;transition:border-color .2s,transform .2s,box-shadow .2s}.language-card:hover,.tour-choice:hover{border-color:#93a8b4;transform:translateY(-2px);box-shadow:0 6px 20px #001a2609}.lang-symbol{display:grid;place-items:center;width:44px;height:44px;border:1px solid #e2e8ed;border-radius:50%;font-family:Georgia,serif;font-size:16px;background:#f8fafb;color:#314e5d}.language-card b{font-size:14px}.language-card small{font-size:10px;display:block;color:var(--muted);margin-top:2px}.arrow{margin-left:auto;color:#b72b3c;font-size:19px}.language-footnote{font-size:10px;color:#8b99a1;margin:25px 0 0}.app-footer{display:flex;gap:8px;align-items:center;font-size:9px;color:#8998a0;margin-top:35px;padding-top:19px;border-top:1px solid #e6ebee}.footer-brand{display:none}.secure-mark{font-size:17px;color:#9eaeb6}.tour-date{display:flex;justify-content:space-between;margin:0 0 16px;font-size:11px;color:#6b7d87;align-items:center}.tour-date .tag{font-size:8px}.tag{padding:5px 8px;border-radius:5px;background:#eaf1ed;color:var(--green);font-size:9px;font-weight:750;letter-spacing:.8px;display:inline-flex;align-items:center;gap:5px}.tag i{width:4px;height:4px;border-radius:50%;background:currentColor}.tour-choice{align-items:stretch;gap:16px;padding:20px 18px}.tour-time{font-size:25px;letter-spacing:-1px;line-height:1.1;font-weight:750}.tour-time small{display:block;font-size:8px;color:#81929c;font-weight:550;letter-spacing:1px;margin-top:7px}.tour-choice .tour-info{border-left:1px solid var(--line);padding-left:16px;flex:1}.tour-info b{font-size:12px;display:block;margin-bottom:4px}.tour-info span{font-size:10px;color:#6c808b;display:block}.tour-choice .arrow{align-self:center}.help-line{font-size:10px;color:#81939d;text-align:center;line-height:1.7;margin-top:24px}.help-line strong{color:#536c7a;font-weight:650}.trip-chip{display:flex;align-items:center;gap:13px;background:#edf2f5;border-radius:11px;padding:12px 15px;margin:0 0 25px;font-size:11px}.trip-chip b{font-size:13px}.trip-chip span{color:#6e838e}.trip-chip .dot{height:3px;width:3px;border-radius:50%;background:#a6b7c0}.pin-intro{text-align:center}.pin-intro .step-description{margin-left:auto;margin-right:auto}.pin-dots{display:flex;justify-content:center;gap:14px;margin:32px 0 18px}.pin-dots span{width:54px;height:62px;border:1px solid #dce5e9;border-radius:13px;background:#fff;display:grid;place-items:center;transition:all .15s}.pin-dots span.filled{border-color:#536e7b;background:#f0f4f6}.pin-dots span.filled:after{content:'';height:10px;width:10px;border-radius:50%;background:var(--navy)}.pin-dots.error{animation:shake .35s}.pin-dots.error span{border-color:#ca4854;background:#fff4f4}.pin-status{text-align:center;font-size:11px;color:#7c8d97;min-height:27px;display:flex;align-items:center;justify-content:center;gap:7px}.pin-status.error{color:#b32637}.spinner{width:12px;height:12px;border:2px solid #d8e1e6;border-top-color:var(--red);border-radius:50%;animation:spin .65s linear infinite}.keypad{width:268px;max-width:100%;margin:10px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:7px 13px}.keypad button{border:0;border-radius:50%;background:transparent;color:var(--navy);height:64px;font-size:26px;transition:background .22s,transform .16s}.keypad button:hover{background:#e9eff3}.keypad button:active{background:#dfe7ec;transform:scale(.9)}.keypad button.erase{font-size:18px}.pin-demo-hint{margin-top:20px;font-size:9px;letter-spacing:.4px;color:#8c9ba3;text-align:center}.group-toggle{display:flex;background:#e9eff3;border-radius:11px;padding:4px;gap:4px;margin-bottom:23px}.group-toggle button{flex:1;background:none;border:0;padding:10px;font-size:11px;border-radius:8px;color:#6b818f}.group-toggle button.active{background:#fff;color:var(--navy);box-shadow:0 2px 7px #001a2609;font-weight:700}.person-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px;margin-bottom:12px}.person-top{display:flex;align-items:center;gap:10px;margin-bottom:15px;font-size:11px;font-weight:700}.person-avatar{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;font-size:10px;background:#eaf0f4;color:#496674}.person-avatar.child{background:#fff0e8;color:#9c6650}.person-top .person-note{margin-left:auto;font-size:9px;color:#8797a0;font-weight:450}.remove-person{border:0;background:none;color:#80929d;padding:4px 0 4px 8px;font-size:16px;line-height:1}.fields{display:grid;grid-template-columns:1fr 1fr;gap:11px}label.field{display:grid;gap:6px;font-size:10px;color:#536c7a;font-weight:600}.field.wide{grid-column:1/-1}input,select{font:inherit;font-size:13px;width:100%;min-width:0;min-height:46px;padding:11px 12px;border:1px solid #dbe4e9;background:#f9fbfc;color:var(--navy);border-radius:8px}select{appearance:auto}input::placeholder{color:#a0aeb7}.add-persons{display:flex;gap:10px;margin:17px 0 20px}.add-button{border:1px dashed #b8c8d1;background:transparent;border-radius:10px;min-height:44px;color:#456170;flex:1;font-size:11px;display:flex;gap:7px;align-items:center;justify-content:center}.group-note{display:flex;gap:10px;align-items:start;padding:14px;background:#edf2f5;border-radius:10px;color:#627b89;font-size:10px;line-height:1.7;margin-bottom:20px}.group-note .note-icon{color:#ab3a47;font-size:17px;line-height:1.3}.primary,.secondary{min-height:51px;border:0;border-radius:11px;font-size:12px;font-weight:700;padding:14px 18px;display:flex;align-items:center;justify-content:center;gap:14px;width:100%;text-decoration:none}.primary{background:var(--cta);color:#fff;box-shadow:0 7px 18px #bd26351c;transition:background .3s,transform .24s}.primary:hover{background:#a91e2e;transform:translateY(-1px)}.primary:active{transform:scale(.985)}.primary .arrow{color:#fff;font-size:17px;margin-left:auto}.secondary{background:#edf2f5;color:#3a596a;margin-top:11px}.form-error{font-size:11px;color:#b32637;line-height:1.6;margin:12px 0}.form-error:empty{display:none}.handoff-art{height:112px;display:flex;justify-content:center;align-items:center;position:relative;margin:24px 0}.phone-illustration{width:49px;height:85px;border:2px solid #496777;border-radius:11px;transform:rotate(-12deg);background:#f4f7f9;box-shadow:7px 7px 0 #e5edf1;position:relative;animation:phoneFloat 3s ease-in-out infinite}.phone-illustration:before{content:'';position:absolute;top:6px;left:16px;width:14px;height:3px;background:#a0b3bf;border-radius:4px}.phone-illustration:after{content:'↗';position:absolute;font-size:28px;color:var(--cta);top:25px;left:10px}.handoff-arrow{font-size:29px;color:#aabcc7;margin-left:28px;animation:nudge 2s ease-in-out infinite}.queue-count{font-size:9px;color:#7b919e;letter-spacing:1.2px;text-transform:uppercase;text-align:center;margin-bottom:25px}.handoff-body{text-align:center}.handoff-body .step-description{margin-left:auto;margin-right:auto}.signing-for{margin:20px 0;background:#fff;border:1px solid var(--line);border-radius:13px;padding:15px 17px;text-align:left;display:flex;align-items:center;gap:12px}.signing-for b{display:block;font-size:13px}.signing-for small{display:block;color:#778e9b;font-size:10px;margin-top:2px}.signing-for .person-avatar{width:39px;height:39px;font-size:13px}.consent-version{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#8b9ca7;margin-bottom:12px}.consent-text{background:#fff;border:1px solid var(--line);border-radius:12px;padding:19px;font-size:12px;color:#526b7a;line-height:1.8;max-height:235px;overflow:auto;margin-bottom:18px}.consent-text h3{font-size:13px;color:var(--navy);margin:0 0 10px}.consent-text p{margin:0 0 12px}.consent-text p:last-child{margin:0}.check-row{display:flex;align-items:start;gap:10px;font-size:11px;color:#4d6979;line-height:1.7;cursor:pointer;margin:16px 0}.check-row input{accent-color:var(--cta);width:19px;height:19px;min-height:19px;flex-shrink:0;margin:2px 0 0}.signature-title{font-size:10px;color:#536c7a;font-weight:600;margin:18px 0 8px;display:block}.signature-box{border:1px solid #c7d5df;background:#fff;border-radius:12px;overflow:hidden;position:relative;margin-bottom:19px}.signature-box canvas{display:block;width:100%;height:150px;touch-action:none}.signature-line{position:absolute;top:112px;left:18px;right:18px;border-bottom:1px dashed #d9e3e9;pointer-events:none}.signature-hint{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:2px 13px 8px;font-size:9px;color:#8a9da9}.signature-hint button{font-size:10px;border:0;background:none;min-height:28px;padding:4px;color:#7c3946}.signed-progress{display:flex;gap:5px;margin:21px 0}.signed-progress i{height:4px;border-radius:4px;background:#dce6ec;flex:1}.signed-progress i.signed{background:#51836a}.success-hero{text-align:center;margin:30px 0 25px}.success-symbol{width:70px;height:70px;border-radius:50%;margin:0 auto 23px;background:#e5efe9;color:#3e7256;display:grid;place-items:center;font-size:30px;position:relative;animation:pop .6s both}.success-symbol:after{content:'';position:absolute;inset:-9px;border:1px solid #d8e7dd;border-radius:50%;animation:ring 1.5s ease-out 1}.group-reference{font-size:9px;color:#8b9da7;letter-spacing:1.3px;margin:15px 0}.signed-person{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #e7edf0}.signed-person:last-child{border:0}.signed-person b{display:block;font-size:12px}.signed-person small{display:block;color:#7c919e;font-size:9px;margin-top:3px}.signed-person .signed-check{margin-left:auto;color:#44785a;font-size:15px}.group-summary{border:1px solid var(--line);border-radius:14px;background:#fff;padding:7px 17px;margin:20px 0}.text-button{background:none;border:0;padding:12px;color:#748e9c;font-size:10px;margin:8px auto;display:block;min-height:40px;text-decoration:underline}.driver-group{border:1px solid var(--line);border-radius:15px;background:#fff;margin-bottom:16px;overflow:hidden}.driver-group header{padding:15px 18px;background:#edf2f5;display:flex;justify-content:space-between;font-size:10px;align-items:center}.driver-group .members{padding:0 18px}.driver-count{font-size:30px;font-weight:750;margin-bottom:12px}.driver-label{color:#6b8391;font-size:11px}.empty-state{text-align:center;padding:30px 15px;color:#7c929e;border:1px dashed #c9d6df;border-radius:14px;font-size:12px}.signature-thumbnail{width:80px;height:40px;object-fit:contain;margin-left:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}dialog{border:0;padding:26px;border-radius:17px;max-width:370px;width:calc(100% - 35px);color:var(--navy)}dialog::backdrop{background:#001a2670;backdrop-filter:blur(3px)}dialog h2{font-size:21px;letter-spacing:-.6px}dialog p{font-size:12px;line-height:1.7;color:#6e8491}#splash{position:fixed;inset:0;z-index:100;background:#f6f9fb;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .45s,visibility .45s}#splash.leaving{opacity:0;visibility:hidden}.splash-logo{position:relative;width:242px;animation:logoArrive .7s cubic-bezier(.2,.7,.3,1) both}.splash-logo>img{display:block;width:100%;opacity:.14;filter:grayscale(1)}.logo-reveal{position:absolute;inset:0;overflow:hidden;clip-path:inset(0 100% 0 0);animation:logoFill 1.15s cubic-bezier(.3,.1,.2,1) forwards}.logo-reveal img{display:block;width:242px}.loading-track{height:2px;width:60px;background:#dce6ec;overflow:hidden;border-radius:2px;margin-top:32px}.loading-track span{display:block;width:100%;height:100%;background:var(--red);transform:translateX(-100%);animation:loadLine 1.2s cubic-bezier(.4,0,.2,1) infinite}.loading-caption{font-size:8px;letter-spacing:3px;color:#7a909d;margin-top:20px}@keyframes logoFill{to{clip-path:inset(0 0 0 0)}}@keyframes logoArrive{from{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes loadLine{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}@keyframes stepIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{25%,75%{transform:translateX(-6px)}50%{transform:translateX(6px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes phoneFloat{50%{transform:rotate(-6deg) translateY(-5px)}}@keyframes nudge{50%{transform:translateX(6px)}}@keyframes pop{from{opacity:0;transform:scale(.65)}to{opacity:1;transform:scale(1)}}@keyframes ring{to{transform:scale(1.6);opacity:0}}@media(min-width:1600px){.workspace{padding-top:65px}.landscape-copy{padding-top:230px}}@media(max-width:1050px){.experience{grid-template-columns:minmax(300px,.8fr) minmax(470px,1.2fr)}.landscape-copy{padding-left:32px;padding-right:20px}.landscape h1{font-size:38px}.desktop-brand{left:32px}.altitude{left:32px;right:32px}}@media(max-width:800px){.experience{display:block}.landscape{display:none}.app-area{min-height:calc(100dvh - 25px);background:radial-gradient(ellipse at 100% 0,#e6eef3 0,transparent 48%),#f8fafb}.mobile-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;gap:14px;max-width:550px;margin:auto}.mobile-header img{width:153px;height:auto}.pill{display:flex;gap:5px;align-items:center;font-size:7px;font-weight:750;color:#778b98;letter-spacing:1px;white-space:nowrap}.pill i{width:4px;height:4px;background:#fa3640;border-radius:50%}.workspace{padding:26px 24px 24px;max-width:510px}.flow-header{margin-bottom:17px}.flow-caption{font-size:7px;letter-spacing:1.5px}.progress-steps{margin-bottom:30px}.step-title{font-size:35px}.step-description{font-size:12px;line-height:1.8;margin-bottom:24px}.language-card{padding:17px;margin-bottom:11px}.language-card b{font-size:13px}.app-footer{margin-top:29px;font-size:8px;padding-bottom:env(safe-area-inset-bottom)}.demo-strip{font-size:7px;padding:5px 7px;letter-spacing:1px}.demo-strip span{font-size:7px;margin-left:7px}.pin-dots{margin-top:25px}.keypad button{height:58px;font-size:25px}.keypad{gap:5px 12px}.pin-demo-hint{margin-top:16px}.handoff-art{height:100px}.step-title.handoff-name{font-size:35px}.fields{gap:9px}.person-card{padding:15px}.tour-choice{padding:19px 16px}.consent-text{max-height:none}.primary{min-height:51px}.signature-box canvas{height:155px}}@media(max-width:360px){.workspace{padding-left:19px;padding-right:19px}.mobile-header{padding-left:19px;padding-right:19px}.mobile-header img{width:135px}.pill{font-size:6px}.step-title{font-size:31px}.keypad{width:250px}.pin-dots span{width:49px;height:56px}.tour-time{font-size:23px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}#splash{transition:none}}


/* A single readable type scale on every customer step. */
:root{--readable:#334f60}
body{font-size:18px;color:var(--navy)}
h1,h2,h3,.step-title,.step-title .serif,.landscape h1 em{font-family:Bourton,var(--font);font-style:normal;font-weight:400;letter-spacing:.25px;line-height:1.18}
.step-title,.step-title.handoff-name{font-size:30px;margin:0 0 20px}
.step-description{font-size:18px;line-height:1.5;font-weight:500;color:var(--readable);margin:0 0 24px}
.flow-caption,.app-footer,.step-kicker,.language-footnote,.help-line,.pin-demo-hint,.group-note{display:none}
.flow-header{min-height:48px;margin-bottom:12px;justify-content:space-between}
.icon-button{width:48px;height:48px;font-size:24px}
.language-shortcut{font-size:16px;font-weight:700;min-width:56px;min-height:48px;margin-left:auto}
.progress-steps{margin-bottom:24px}
.workspace{padding-top:24px}
.lang-symbol{width:48px;height:48px;border:0;padding:0;overflow:hidden;background:transparent;flex-shrink:0}
.lang-symbol img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
.language-card,.tour-choice{min-height:84px;padding:18px;gap:18px}
.language-card b{font-size:20px;font-weight:700}
.language-card .arrow,.tour-choice .arrow{font-size:25px}
.tour-date{font-size:16px;font-weight:600;color:var(--readable);margin-bottom:18px}
.tour-date .tag,.tag{font-size:14px;letter-spacing:0;font-weight:700}
.tour-time{font-size:27px}.tour-time small{display:none}
.tour-info b{font-size:18px;font-weight:700}.tour-info span{font-size:16px;color:var(--readable)}
.trip-chip{font-size:16px;color:var(--readable);font-weight:600;padding:12px;margin-bottom:20px}
.trip-chip b{font-size:18px}.trip-chip span{color:var(--readable)}
.group-toggle button{min-height:52px;font-size:16px;font-weight:650;padding:12px 8px}
.person-top{font-size:18px}.person-top .person-note{font-size:14px;font-weight:600;color:var(--readable)}
.person-avatar{width:36px;height:36px;font-size:16px}
label.field,.signature-title{font-size:16px;font-weight:700;color:var(--navy)}
input,select{font-size:18px;font-weight:500;min-height:56px;padding:13px 12px}
.remove-person{min-width:44px;min-height:44px;font-size:26px}
.add-button{min-height:56px;font-size:16px;font-weight:650}
.primary,.secondary{font-size:18px;min-height:58px;font-weight:700;padding:15px 18px}
.check-row{font-size:18px;line-height:1.5;color:var(--readable);gap:14px;min-height:56px}
.check-row input{width:28px;height:28px;min-height:28px;margin:0;flex-shrink:0}
.consent-text{font-size:18px;line-height:1.6;color:var(--readable);max-height:none}
.consent-text h3{font-size:23px}.consent-version{font-size:14px;color:var(--readable);gap:12px}
.signature-hint{font-size:16px;color:var(--readable)}.signature-hint button{min-height:48px;min-width:68px;font-size:16px;font-weight:650}
.signature-box canvas{height:190px}.signature-line{top:145px}
.form-error{font-size:16px;line-height:1.5;font-weight:600}
.queue-count{font-size:16px;font-weight:650;letter-spacing:0;color:var(--readable)}
.signing-for b{font-size:20px}.signing-for small{font-size:16px;line-height:1.5;color:var(--readable)}
.signed-person b{font-size:18px}.signed-person small{font-size:16px;line-height:1.4;color:var(--readable)}
.group-reference{font-size:16px;letter-spacing:0}.text-button{font-size:16px;min-height:48px}
.empty-state{font-size:18px;color:var(--readable)}
.demo-strip{font-size:11px;letter-spacing:.5px;line-height:16px;padding:4px 8px}.demo-strip span{font-size:11px}
@media(max-width:800px){
 .mobile-header{padding:12px 20px 0}.mobile-header img{width:132px}
 .workspace{padding:8px 20px 24px}.flow-header{margin-bottom:8px}
 .step-title,.step-title.handoff-name{font-size:30px}.step-description{font-size:18px}
 .language-card,.tour-choice{padding:18px 14px}.language-card b{font-size:20px}
 .fields{grid-template-columns:1fr;gap:14px}.person-top{flex-wrap:wrap;gap:8px}.person-top .person-note{margin-left:0}
 .person-card{padding:18px 16px}.person-top .remove-person{margin-left:auto}
 .group-toggle button{font-size:16px}.consent-version{font-size:14px;flex-wrap:wrap}
}
/* PIN: stable DOM and fixed geometry; no text resizing between steps. */
body[data-flow-step="pin"] .experience{height:calc(100dvh - var(--demo-strip-height,24px));min-height:0}
body[data-flow-step="pin"] .landscape{height:100%;min-height:0;position:relative}
body[data-flow-step="pin"] .app-area{height:100%;min-height:0;display:flex;flex-direction:column}
body[data-flow-step="pin"] .workspace{flex:1;min-height:0;display:flex;flex-direction:column;padding:8px 24px max(8px,env(safe-area-inset-bottom))}
body[data-flow-step="pin"] .flow-header{flex-shrink:0;min-height:48px;margin-bottom:8px}
body[data-flow-step="pin"] .progress-steps{flex-shrink:0;margin-bottom:12px}
body[data-flow-step="pin"] #view{flex:1;min-height:0}
body[data-flow-step="pin"] #view>section{height:100%;min-height:0;display:grid;grid-template-rows:auto auto 48px 44px minmax(220px,1fr);row-gap:4px}
body[data-flow-step="pin"] .pin-intro .step-title{font-size:30px;line-height:1.18;margin:0}
body[data-flow-step="pin"] .trip-chip{margin:0;padding:6px 10px;min-height:34px;font-size:16px;justify-content:center}
body[data-flow-step="pin"] .trip-chip b{font-size:18px}
body[data-flow-step="pin"] .pin-dots{margin:0;gap:12px;align-self:center}
body[data-flow-step="pin"] .pin-dots span{width:48px;height:48px;border-radius:10px}
body[data-flow-step="pin"] .pin-dots.error{animation:none}
body[data-flow-step="pin"] .pin-status{margin:0;height:44px;font-size:16px;line-height:22px;font-weight:600;color:var(--readable);padding:0}
body[data-flow-step="pin"] .pin-status.error{color:#b32637}
body[data-flow-step="pin"] .keypad{height:100%;max-height:280px;min-height:220px;margin:0 auto;width:100%;max-width:290px;align-self:center;grid-template-rows:repeat(4,minmax(52px,1fr));gap:4px 12px}
body[data-flow-step="pin"] .keypad button{height:auto;min-height:52px;border-radius:14px;font-size:28px;font-weight:650;background:#edf2f5}
body[data-flow-step="pin"] .keypad button:hover{background:#dbe6ec}
body[data-flow-step="pin"] .keypad button:active{background:#c9d9e2;transform:none}
body[data-flow-step="pin"] .keypad button.erase{font-size:24px}
body[data-flow-step="pin"] .mobile-header{width:100%;padding:10px 20px 0;flex-shrink:0}
body[data-flow-step="pin"] .mobile-header img{width:132px}
@media(min-width:801px){body[data-flow-step="pin"] .workspace{padding:12px 36px}body[data-flow-step="pin"] .landscape-copy{padding-top:145px}}

.person-top .person-note,.consent-version,.tour-date .tag,.tag{font-size:16px}

/* Clear participant-add actions, distinct from the red next-step action. */
.add-persons{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 24px}
.add-button{background:#001a26;color:#fff;border:2px solid #001a26;border-radius:12px;min-height:64px;padding:14px 16px;font-size:18px;font-weight:700;justify-content:flex-start;gap:13px;box-shadow:0 4px 12px #001a2612}
.add-button:hover{background:#173d50;border-color:#173d50}
.add-button:active{background:#264e62}
.add-icon{width:30px;height:30px;display:inline-grid;place-items:center;border-radius:50%;background:#fff;color:#001a26;flex-shrink:0;font-size:26px;line-height:1;font-weight:600}
.tour-choice .tour-info{display:flex;align-items:center}.tour-info b{margin-bottom:0}
@media(max-width:800px){.add-persons{grid-template-columns:1fr}.add-button{min-height:64px}}

/* One customer column on every screen; the decorative desktop panel is removed. */
.experience{display:block;background:#f8fafb}
.app-area{width:100%;min-height:calc(100dvh - 24px);background:radial-gradient(ellipse at 100% 0,#e6eef3 0,transparent 48%),#f8fafb}
.mobile-header{display:flex;align-items:center;max-width:550px;width:100%;margin:0 auto;padding:12px 20px 0}
.mobile-header img{width:132px;height:auto}
.workspace{max-width:550px}
@media(min-width:801px){body[data-flow-step="pin"] .workspace{padding:8px 24px max(8px,env(safe-area-inset-bottom))}}

.tour-choice .tour-time{white-space:nowrap;flex-shrink:0}

/* Focus language picker: isolated from all later signing screens. */
body[data-flow-step="language"] .workspace{max-width:510px;padding-top:24px}
body[data-flow-step="language"] .progress-steps{display:none}
body[data-flow-step="language"] .flow-header:has(#back[hidden]){display:none}
body[data-flow-step="language"] .mobile-header{max-width:510px;padding:28px 24px 0}
body[data-flow-step="language"] .mobile-header img{width:158px}
.client-focus .step-title{font:400 34px/1.17 Bourton,sans-serif;letter-spacing:.2px;margin:14px 0 30px}
.focus-quick-choices{display:grid;gap:13px}
.focus-language-choice{display:flex;align-items:center;gap:20px;width:100%;min-height:94px;padding:22px;border:1px solid #dae5e9;border-radius:22px;background:#ffffffc9;color:#16323e;box-shadow:0 5px 18px #193c4503;text-align:left;transition:background .28s,border-color .28s,transform .25s}
.focus-language-choice:hover{border-color:#a4bdc7;background:#fff}
.focus-language-choice:active{transform:scale(.98);background:#fff1f3;border-color:#bd3049}
.focus-language-flag{display:grid;place-items:center;flex:none;width:48px;height:48px;font:37px/1 'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif}
.focus-language-name{font-size:24px;font-weight:650;line-height:1.3;min-width:0}
.focus-language-choice>svg{width:23px;height:23px;flex:none;margin-left:auto;stroke:#8aa0a9;fill:none;stroke-width:1.8}
.focus-more-languages{display:flex;align-items:center;gap:18px;width:100%;min-height:86px;margin-top:26px;padding:19px 22px;border:0;border-radius:22px;background:#173c49;color:#fff;text-align:left;transition:background .28s,transform .25s}
.focus-more-languages:active{transform:scale(.98)}
.focus-more-languages>svg{width:34px;height:34px;flex:none;stroke:currentColor;fill:none;stroke-width:1.5}
.focus-more-languages>span{flex:1}.focus-more-languages strong{display:block;font-size:21px;font-weight:650}.focus-more-languages small{display:block;font-size:16px;color:#c1d4dc;margin-top:5px}.focus-more-languages>b{font-size:26px;font-weight:400}
dialog.focus-language-sheet{position:fixed;inset:auto 0 0;margin:0 auto;padding:0;border:0;border-radius:28px 28px 0 0;width:min(100%,510px);max-width:100%;max-height:87dvh;background:#f8fafb;color:#17333e;overflow:auto;overscroll-behavior:contain;box-shadow:0 -10px 70px #001a2630}
.focus-language-sheet[open]{animation:focusSheetIn .4s cubic-bezier(.22,.8,.25,1)}
.focus-language-sheet::backdrop{background:#071f2d70;backdrop-filter:blur(5px)}
.focus-sheet-header{position:sticky;top:0;z-index:5;background:#f8fafbf2;backdrop-filter:blur(15px);padding:12px 24px 8px}
.focus-sheet-grip{height:4px;width:42px;background:#cad9df;border-radius:3px;margin:0 auto 20px}
.focus-sheet-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}
.focus-sheet-title h2{font:400 27px/1.2 Bourton,sans-serif;margin:0;letter-spacing:0}
.focus-sheet-title>button{width:44px;height:44px;flex:none;border:0;border-radius:50%;background:#e9eff2;color:#264956;font-size:28px}
.focus-sheet-list{padding:0 24px calc(20px + env(safe-area-inset-bottom))}
.focus-sheet-list .focus-language-choice{gap:16px;min-height:66px;padding:12px 10px;border:0;border-bottom:1px solid #dce5e9;border-radius:0;background:transparent;box-shadow:none}
.focus-sheet-list .focus-language-flag{width:38px;height:40px;font-size:30px}.focus-sheet-list .focus-language-name{font-size:21px}
@keyframes focusSheetIn{from{transform:translateY(55px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(max-width:420px){body[data-flow-step="language"] .mobile-header{padding:22px 20px 0}body[data-flow-step="language"] .mobile-header img{width:146px}body[data-flow-step="language"] .workspace{padding-left:20px;padding-right:20px}.focus-sheet-header,.focus-sheet-list{padding-left:20px;padding-right:20px}}
@media(max-width:350px){.focus-language-choice{padding:18px;gap:14px;min-height:88px}.focus-language-name{font-size:22px}}
@media(prefers-reduced-motion:reduce){.focus-language-sheet[open]{animation:none}.focus-language-choice,.focus-more-languages{transition:none}}

/* Center the brand and departure time; expose language switching clearly. */
.mobile-header{justify-content:center}
.tour-choice .tour-time{display:flex;align-items:center;justify-content:center;text-align:center}
.language-shortcut{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:10px 14px;border:1px solid #b7cbd4;border-radius:14px;background:#fff;color:#173c49;font-size:16px;font-weight:700;box-shadow:0 3px 12px #173c4907;transition:background .28s,border-color .28s,transform .25s}
.language-shortcut:hover{background:#edf4f6;border-color:#7295a6}.language-shortcut:active{transform:scale(.98)}
.shortcut-flag{font:24px/1 'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif}
.language-shortcut[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.language-shortcut{transition:none}}
