/* Guest experience R1.2. Loaded after the retained R1.1 shared stylesheet. */
#guest-app{--paper:#f9f8f2;--white:#fffefa;--wash:#edf0e6;--line:#d8dfd4;--muted:#53665b;background:var(--paper);min-height:100vh}
#guest-app [hidden]{display:none!important}
#guest-app .guest-shell{max-width:1000px;padding:28px 40px 48px}
#guest-app .guest-top{padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:20px}
#guest-app .guest-top .brand-name{font-size:1.75rem}
#guest-app .demo-banner{background:#eaf0e3;color:#40583d;border:1px solid #d7e0ce;font-size:.77rem;padding:10px 14px;line-height:1.6;margin-bottom:32px}
#guest-app h1,#guest-app h2{overflow-wrap:normal}
#guest-app .guest-heading{margin-block:35px}
#guest-app .guest-heading h1{font-size:clamp(2.5rem,5vw,3.55rem)}
#guest-app .eyebrow{font-size:.66rem;line-height:1.7;letter-spacing:.13em}
#guest-app .quest-grid{gap:20px}
#guest-app .quest-card{border-radius:6px;box-shadow:0 4px 12px #28473805}
#guest-app .quest-card>button{padding:27px;transition:background .16s ease}
#guest-app .quest-card h2{font-size:1.9rem;margin-top:22px}
#guest-app .quest-card p{font-size:.9rem;line-height:1.75}
#guest-app .quest-card .card-no{font-size:1.25rem}
#guest-app .quest-card .card-top{font-size:.73rem;align-items:flex-start}
#guest-app .quest-card .card-bottom{padding-top:25px;font-size:.8rem}
#guest-app .quest-grid .quest-card:last-child:nth-child(odd){grid-column:1/-1}
#guest-app .quest-grid .quest-card:last-child:nth-child(odd)>button{display:grid;grid-template-columns:1fr 1fr;column-gap:28px}
#guest-app .quest-grid .quest-card:last-child:nth-child(odd) .card-top{grid-column:1/-1}
#guest-app .quest-grid .quest-card:last-child:nth-child(odd) h2{margin-top:18px}
#guest-app .quest-grid .quest-card:last-child:nth-child(odd) p{margin-top:18px}
#guest-app .quest-grid .quest-card:last-child:nth-child(odd) .card-bottom{grid-column:1/-1}
#guest-app .detail-title{font-size:clamp(2.35rem,5vw,3.45rem);line-height:1.13;max-width:830px}
#guest-app .detail-summary{font-size:1.06rem;line-height:1.8;max-width:730px;margin-top:22px}
#guest-app .quest-chips{display:flex;gap:8px;flex-wrap:wrap;margin:23px 0 29px}
#guest-app .quest-chips span{border:1px solid #d6dfce;border-radius:3px;background:#eef1e7;padding:6px 10px;font-size:.74rem;color:#45613f}
#guest-app .demo-start-panel{background:var(--forest);color:var(--paper);padding:32px;border-radius:6px}
#guest-app .demo-start-panel .eyebrow{color:#c7d5b3;margin-bottom:15px}
#guest-app .demo-start-panel h2{font-size:2.1rem;max-width:660px;line-height:1.22}
#guest-app .demo-start-panel p:not(.eyebrow){font-size:.91rem;color:#e0e7d9;max-width:685px;line-height:1.8;margin-top:18px}
#guest-app .demo-start-panel .button{background:var(--paper);color:var(--forest);border-color:var(--paper);margin-top:25px;min-height:51px}
#guest-app .demo-start-panel .button:hover{background:#e2e9d9}
#guest-app .demo-start-panel :focus-visible{outline-color:#ebd594}
#guest-app .demo-intro .notice{font-size:.84rem;margin-block:18px}
#guest-app .route-box{border-radius:5px;padding:21px 24px;margin-top:18px}
#guest-app .route-box summary{font-size:.88rem;line-height:1.6}
#guest-app .route-box>.route-box{background:transparent;border:0;padding:0;margin-top:24px}
#guest-app .route-box .facts{margin-top:15px}
#guest-app .route-box[open]>summary{margin-bottom:12px}
#guest-app .route-box .offline-control{margin:14px 0}
#guest-app .offline-control .button{font-size:.86rem}
#guest-app .offline-control .text-link{font-size:.8rem}
#guest-app .progress-label{margin-top:28px;font-size:.78rem}
#guest-app .observation{border-radius:6px;padding:35px}
#guest-app .observation h2{font-size:2.25rem;line-height:1.2}
#guest-app .observation .task-copy{line-height:1.85;font-size:1.1rem;max-width:730px}
#guest-app .observation details{font-size:.88rem}
#guest-app .answers button{line-height:1.6;min-height:54px;font-size:.94rem}
#guest-app .ending-eyebrow{margin-top:31px;color:#57734a;margin-bottom:0}
#guest-app .quest-ending>.detail-summary{margin-top:12px}
#guest-app .memory{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:35px;margin-top:29px}
#guest-app .memory>*{min-width:0}
#guest-app .memory canvas{border-radius:5px;box-shadow:0 12px 30px #173f3512;max-width:432px;margin-inline:auto}
#guest-app .memory-editor{padding:7px 0}
#guest-app .memory-editor h2{font-size:2.05rem;line-height:1.23}
#guest-app .memory-editor>p{font-size:.88rem;line-height:1.7}
#guest-app .memory .note-label{display:block;margin:25px 0 0;font-weight:600;font-size:.89rem}
#guest-app .memory #note-description{font-size:.72rem;margin-top:5px;color:var(--muted)}
#guest-app .memory .note-field{font-size:1rem;min-height:139px;line-height:1.7}
#guest-app .memory label:has(input){font-size:.83rem;line-height:1.65;gap:11px;margin:18px 0 0}
#guest-app .memory input{margin:1px 0 0}
#guest-app .memory-editor>.quiet{font-size:.74rem;margin-top:12px}
#guest-app .memory-editor .stack{margin-top:22px;gap:11px}
#guest-app .memory-editor .button{font-size:.87rem;min-height:49px}
#guest-app .memory-editor #note-save-status:empty,#guest-app .memory-editor #card-status:empty{display:none}
#guest-app .response-summary{margin-top:30px}
#guest-app .summary-counts{margin:14px 0 19px}
#guest-app .summary-counts strong{font-size:1.8rem}
#guest-app .summary-counts span{font-size:.8rem}
#guest-app .demo-business{padding:22px 25px;border-left:3px solid #78905c;background:var(--wash);margin-top:30px;border-radius:0 5px 5px 0}
#guest-app .demo-business p{font:1.3rem/1.45 Georgia,serif;margin:0 0 11px}
#guest-app .demo-business a{font-size:.86rem}
#guest-app .guest-footer{margin-top:41px;padding-top:21px;font-size:.78rem;line-height:1.8}
#guest-app .guest-footer .link-button{font-size:.78rem}
#guest-app .guest-footer nav{align-items:center;gap:11px 20px;margin-top:14px}
#guest-app .guest-footer p{max-width:780px}
#guest-app .back{font-size:.82rem}
#guest-app .status-line{font-size:.84rem}
#guest-app .notice{line-height:1.75;font-size:.88rem}
#guest-app :focus-visible{outline:3px solid #ad7223;outline-offset:4px}
@media(max-width:700px){
  #guest-app .guest-shell{padding:21px 20px 35px}
  #guest-app .guest-top{padding-bottom:17px;margin-bottom:17px;gap:12px}
  #guest-app .guest-top .brand-name{font-size:1.5rem}
  #guest-app .demo-banner{font-size:.72rem;margin-bottom:25px}
  #guest-app .guest-heading{margin-block:29px}
  #guest-app .guest-heading h1{font-size:2.55rem}
  #guest-app .guest-heading p{font-size:.89rem;margin-top:12px}
  #guest-app .guest-heading .eyebrow{font-size:.6rem}
  #guest-app .quest-grid{gap:15px}
  #guest-app .quest-card>button{padding:23px}
  #guest-app .quest-card h2{font-size:1.8rem;margin-top:17px}
  #guest-app .quest-grid .quest-card:last-child:nth-child(odd)>button{display:flex}
  #guest-app .quest-grid .quest-card:last-child:nth-child(odd) p{margin-top:10px}
  #guest-app .quest-card .card-bottom{padding-top:20px}
  #guest-app .detail-summary{font-size:.98rem;line-height:1.8;margin-top:19px}
  #guest-app .quest-chips{gap:7px;margin:20px 0 25px}
  #guest-app .quest-chips span{font-size:.67rem;padding:6px 8px}
  #guest-app .demo-start-panel{padding:25px 22px}
  #guest-app .demo-start-panel h2{font-size:1.95rem}
  #guest-app .demo-start-panel p:not(.eyebrow){font-size:.87rem;line-height:1.8}
  #guest-app .demo-start-panel .button{width:100%;font-size:.89rem;margin-top:22px}
  #guest-app .route-box{padding:19px 20px}
  #guest-app .route-box summary{font-size:.84rem}
  #guest-app .observation{padding:25px 22px}
  #guest-app .observation h2{font-size:2rem}
  #guest-app .observation .task-copy{font-size:1rem}
  #guest-app .answers button{font-size:.9rem}
  #guest-app .memory{grid-template-columns:1fr;gap:29px}
  #guest-app .memory canvas{max-width:380px}
  #guest-app .memory-editor{padding:0}
  #guest-app .memory-editor h2{font-size:2rem}
  #guest-app .memory .note-field{min-height:125px}
  #guest-app .memory-editor .stack{flex-direction:row;flex-wrap:wrap}
  #guest-app .memory-editor .button{flex:1;min-width:140px}
  #guest-app .guest-main>.quest-ending>.actions{align-items:stretch;flex-direction:column}
  #guest-app .demo-business{padding:20px}
  #guest-app .guest-footer{font-size:.74rem}
}
@media(max-width:370px){#guest-app .guest-shell{padding-inline:16px}#guest-app .guest-heading h1{font-size:2.3rem}#guest-app .detail-title{font-size:2.15rem}#guest-app .quest-card>button{padding:20px}#guest-app .demo-start-panel{padding:23px 19px}#guest-app .memory-editor .button{width:100%;flex-basis:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}#guest-app *{transition:none!important}}
@media print{#guest-app .demo-start-panel{background:white;color:black}#guest-app .demo-start-panel p:not(.eyebrow){color:black}#guest-app .demo-business{display:none}#guest-app .guest-shell{padding:0;max-width:none}}
