@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/poppins-latin-400-normal.woff2) format('woff2')}@font-face{font-family:Poppins;font-style:italic;font-weight:400;font-display:swap;src:url(fonts/poppins-latin-400-italic.woff2) format('woff2')}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(fonts/poppins-latin-600-normal.woff2) format('woff2')}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(fonts/poppins-latin-700-normal.woff2) format('woff2')}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(fonts/montserrat-latin-600-normal.woff2) format('woff2')}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(fonts/montserrat-latin-700-normal.woff2) format('woff2')}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(fonts/montserrat-latin-800-normal.woff2) format('woff2')}
:root{--forest:#285349;--seafoam:#89C0BA;--sunset:#FFA365;--ochre:#D4944C;--ink:#212527;--charcoal:#4D4B48;--warm:#FAF9F6;--soft:#E9ECEB;--white:#fff;--error:#B3261E;--r:22px}
*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden}body{font-family:Poppins,Arial,sans-serif;background:var(--warm);color:var(--ink);user-select:none}.screen{width:100%;height:100%;min-height:100vh;display:flex;flex-direction:column}.header{height:112px;display:flex;align-items:center;padding:0 4vw;gap:28px;background:rgba(250,249,246,.96);border-bottom:1px solid var(--soft);flex:0 0 auto}.brand{font-family:Montserrat,Arial,sans-serif;font-weight:800;letter-spacing:-1px;color:var(--forest);font-size:30px;cursor:pointer}.brand small{display:block;font-size:12px;letter-spacing:2px;font-weight:700}.spacer{flex:1}.navbtn,.btn{border:0;border-radius:999px;padding:20px 30px;font-weight:700;font-size:22px;min-height:72px;cursor:pointer}.navbtn{background:transparent}.primary{background:var(--sunset);color:var(--ink)}.secondary{background:var(--forest);color:white}.ghost{background:var(--soft);color:var(--ink)}.content{padding:36px 4vw 46px;flex:1;overflow:auto}.eyebrow{font-family:Montserrat,Arial,sans-serif;font-size:17px;font-weight:800;letter-spacing:2.5px;color:var(--forest);text-transform:uppercase}.hero-title,h1,h2,h3{font-family:Montserrat,Arial,sans-serif;margin:.2em 0}.hero-title{font-size:clamp(52px,5vw,86px);line-height:.98;letter-spacing:-2px}.lead{font-size:clamp(22px,1.8vw,30px);line-height:1.45;color:var(--charcoal);max-width:1100px}.attract{position:relative;background:linear-gradient(125deg,#173b34,#285349 55%,#4d7c71);color:white;justify-content:flex-end;padding:7vh 6vw}.attract:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 30%,rgba(137,192,186,.6),transparent 28%),linear-gradient(0deg,rgba(0,0,0,.5),transparent 55%)}.attract>*{position:relative;z-index:1}.touch{margin-top:30px;display:inline-flex;align-items:center;gap:18px;font-size:28px;font-weight:800}.pulse{width:18px;height:18px;border-radius:50%;background:var(--sunset);box-shadow:0 0 0 0 rgba(255,163,101,.7);animation:pulse 2s infinite}@keyframes pulse{70%{box-shadow:0 0 0 18px rgba(255,163,101,0)}100%{box-shadow:0 0 0 0 rgba(255,163,101,0)}}
.homeintro{display:flex;align-items:end;gap:40px;margin-bottom:26px}.homeintro h1{font-size:48px;line-height:1}.homeintro p{font-size:21px;color:var(--charcoal);max-width:780px;margin:0}.tiles{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,minmax(260px,1fr));gap:22px;min-height:650px}.tile{position:relative;border:0;border-radius:var(--r);overflow:hidden;cursor:pointer;text-align:left;background:var(--forest);min-height:250px;padding:0;box-shadow:0 1px 0 rgba(0,0,0,.05)}.tile .ph{position:absolute;inset:0;background:linear-gradient(135deg,var(--seafoam),var(--forest));transform:scale(1.01)}.tile .shade{position:absolute;inset:25% 0 0;background:linear-gradient(transparent,rgba(21,31,29,.88))}.tilecopy{position:absolute;left:25px;right:25px;bottom:22px;color:#fff}.tilecopy h2{font-size:30px;line-height:1.05;margin:0 0 7px}.tilecopy p{font-size:17px;margin:0;opacity:.9}.tile.cta .ph{background:linear-gradient(135deg,var(--sunset),var(--ochre))}.tile.cta .tilecopy{color:var(--ink)}.tile.cta .shade{display:none}
.topic-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:stretch;min-height:400px}.hero-photo{border-radius:28px;min-height:400px;background:linear-gradient(135deg,var(--seafoam),var(--forest));position:relative;overflow:hidden}.hero-copy{display:flex;flex-direction:column;justify-content:center}.hero-copy h1{font-size:58px;line-height:1.02}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}.card{background:white;border:1px solid var(--soft);border-radius:20px;padding:28px;min-height:170px}.card h3{font-size:25px;margin-top:8px}.card p{font-size:19px;line-height:1.45;color:var(--charcoal)}.quote{background:var(--forest);color:white}.quote p{color:white;font-size:22px}.roles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.role{background:#fff;border:1px solid var(--soft);border-radius:20px;padding:26px;min-height:160px;cursor:pointer;text-align:left;font:inherit;color:inherit}.role p{font-size:18px;color:var(--charcoal);line-height:1.4}.role h3{font-size:26px}.badge{display:inline-block;background:var(--ochre);color:var(--ink);font-weight:800;border-radius:999px;padding:8px 13px;font-size:13px}.faq{display:grid;grid-template-columns:1fr 1fr;gap:18px}.faqitem{background:#fff;border:1px solid var(--soft);border-radius:18px;padding:24px;cursor:pointer;text-align:left;font:inherit;color:inherit;min-height:96px}.faqitem h3{font-size:23px}.faqitem p{font-size:19px;color:var(--charcoal);line-height:1.45}.formwrap{max-width:1100px;margin:0 auto}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.field label{display:block;font-weight:800;font-size:18px;margin:0 0 8px}.field input{width:100%;height:82px;border:2px solid #cfd5d3;border-radius:16px;background:white;padding:0 22px;font-size:25px;outline:none}.field input:focus{border-color:var(--forest)}.formactions{display:flex;justify-content:flex-end;margin-top:28px}.note{background:#eef5f3;border-radius:16px;padding:18px 22px;margin:24px 0;font-size:17px;color:var(--forest)}.thanks{background:var(--forest);color:white;display:flex;align-items:center;justify-content:center;text-align:center}.thanks h1{font-size:70px}.thanks p{font-size:28px;max-width:900px}.modal{position:fixed;inset:0;background:rgba(33,37,39,.72);display:flex;align-items:center;justify-content:center;z-index:99}.hidden{display:none!important}.modal-card{background:white;border-radius:28px;padding:50px;max-width:700px;text-align:center}.modal-card h2{font-size:38px}.admin{background:#f4f5f4}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stat{background:white;border-radius:18px;padding:26px;border:1px solid var(--soft)}.stat strong{font-size:38px;color:var(--forest);display:block}.pinpad{display:grid;grid-template-columns:repeat(3,100px);gap:12px;justify-content:center}.pinpad button{height:80px;border:0;border-radius:14px;background:var(--soft);font-size:26px;font-weight:800}.pin-dots{font-size:38px;letter-spacing:12px;height:60px}.statusdot{display:inline-block;width:12px;height:12px;border-radius:50%;background:#38a169;margin-right:8px}.footer-note{font-size:14px;color:#6c7471;margin-top:18px}.back{background:transparent;border:0;font-size:22px;font-weight:800;cursor:pointer}@media(max-width:1100px),(orientation:portrait){.tiles{grid-template-columns:repeat(2,1fr);grid-template-rows:auto}.topic-hero{grid-template-columns:1fr}.cards,.roles{grid-template-columns:1fr 1fr}.faq{grid-template-columns:1fr}.formgrid{grid-template-columns:1fr}.header{height:96px}.content{padding:28px}.homeintro{align-items:start;flex-direction:column;gap:8px}}
/* v1.2 additions */
.on-dark{color:#fff}.page-title{font-size:56px;line-height:1.05}
.admin-zone{position:absolute!important;top:0;left:0;width:140px;height:140px;z-index:5}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.field .err{min-height:26px;color:var(--error);font-size:18px;font-weight:600;margin-top:6px}.field input.invalid{border-color:var(--error)}
.warnbar{background:#fff0e3;border:2px solid var(--ochre);color:var(--ink);border-radius:16px;padding:18px 22px;margin:0 0 20px;font-size:19px;font-weight:600}
.row{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}.stat{display:flex;flex-direction:column;gap:8px}.stat span{color:var(--charcoal)}.stat strong.small{font-size:24px}
.stat.wide{margin-top:20px}.stat.wide input{height:72px;border:2px solid #cfd5d3;border-radius:14px;padding:0 18px;font:22px Poppins,Arial,sans-serif;max-width:720px}
.cards.two{grid-template-columns:repeat(2,1fr)}.btn:disabled{opacity:.6}
.toast{position:fixed;left:50%;bottom:48px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:18px 28px;border-radius:999px;font-size:20px;font-weight:600;z-index:120;max-width:80vw;text-align:center}
.pinpad button{font-family:inherit}.pinpad button[data-k=Clear],.pinpad button[data-k=Enter]{font-size:18px}
body.previewing:after{content:"PREVIEW: draft content";position:fixed;top:12px;left:50%;transform:translateX(-50%);background:var(--ochre);color:var(--ink);padding:8px 18px;border-radius:999px;font:700 15px Poppins,Arial,sans-serif;z-index:200}
@media(max-width:1100px),(orientation:portrait){.cards.two{grid-template-columns:1fr}.page-title{font-size:44px}}
button,input,textarea{font-family:inherit}.stat>.btn,.stat .row .btn{align-self:flex-start}
.attract-video{position:absolute!important;inset:0;width:100%;height:100%;object-fit:cover;z-index:0!important;background:#173b34}
.attract.has-video:before{z-index:1;background:linear-gradient(0deg,rgba(0,0,0,.62),rgba(0,0,0,.15) 45%,transparent 70%)}
.attract.has-video>*:not(.attract-video){z-index:2}
.ltable{width:100%;border-collapse:collapse;font-size:18px}.ltable th,.ltable td{text-align:left;padding:12px;border-bottom:1px solid var(--soft);vertical-align:top}.ltable th{font-family:Montserrat,Arial,sans-serif;font-size:14px;letter-spacing:1px;color:var(--forest)}.bad{color:var(--error)}

/* Ready-to-travel checklist in the kiosk admin */
.travel{border-radius:18px;padding:20px 24px;margin:0 0 22px;border:2px solid var(--ochre);background:#fff0e3}
.travel.yes{border-color:#2f9e6b;background:#e7f5ed}
.travel strong{font-family:Montserrat,Arial,sans-serif;font-size:26px;letter-spacing:1.5px;color:var(--ink)}
.travel.yes strong{color:#1d4a3e}
.travel ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px;font-size:18px}
.travel li.ok{color:#1d4a3e}.travel li.bad{color:#7a3a0c;font-weight:600}
.travel small{display:block;font-weight:400;font-size:15px;margin-left:24px;color:#5d4a3a}

/* ---------- v1.9: iPad (and other smaller tablets), without changing the 22" 1920×1080 layout ---------- */
/* Long-press on the logo / admin corner: no iOS copy/lookup menu, no text selection, no scrolling. */
body{-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}
#brand,.admin-zone{touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none}
input,textarea{-webkit-user-select:text;user-select:text}
/* Home Screen app with a translucent status bar: keep content clear of it and of rounded corners. (0 on Android.) */
.header{padding-top:env(safe-area-inset-top);padding-left:max(4vw,env(safe-area-inset-left));padding-right:max(4vw,env(safe-area-inset-right));box-sizing:content-box}
.attract{padding-top:max(7vh,env(safe-area-inset-top))}
/* Short landscape screens (iPad 1024–1366 × 768–1024): the home tiles fit on one screen, 4 across, 2 rows. */
@media (orientation:landscape) and (max-height:1050px) and (max-width:1500px){
  .header{height:84px;gap:20px}.brand{font-size:26px}
  .navbtn,.btn{min-height:60px;padding:14px 24px;font-size:19px}
  .content{padding:20px 3.5vw 24px}
  .page-title{font-size:44px}.lead{font-size:20px}
  .screen.homescreen .content{display:flex;flex-direction:column;overflow:hidden}
  .homeintro{flex-direction:row;align-items:end;gap:28px;margin-bottom:16px}
  .homeintro h1{font-size:36px}.homeintro p{font-size:17px}
  .tiles{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr);gap:16px;min-height:0;flex:1}
  .tile{min-height:0}.tilecopy{left:18px;right:18px;bottom:16px}.tilecopy h2{font-size:24px}.tilecopy p{font-size:15px}
  .field input{height:68px;font-size:22px}.formgrid{gap:16px}
  .stat{padding:18px}.stat strong{font-size:30px}
  .travel strong{font-size:22px}.travel ul{font-size:16px}
  .toast{bottom:28px;font-size:18px}
  /* landscape keeps side-by-side layouts even under 1100 px wide (iPad mini / 1024×768) */
  .topic-hero{grid-template-columns:1fr 1fr;gap:28px;min-height:320px}
  .cards{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}.cards.two{grid-template-columns:1fr 1fr}
  .roles{grid-template-columns:repeat(3,1fr);gap:16px}
  .faq{grid-template-columns:1fr 1fr;gap:14px}
  .formgrid{grid-template-columns:1fr 1fr}
}
/* Very short (iPad mini / 1024×768): one more notch down. */
@media (orientation:landscape) and (max-height:800px) and (max-width:1500px){
  .header{height:72px}.brand{font-size:23px}
  .homeintro h1{font-size:30px}.homeintro p{display:none}
  .tilecopy h2{font-size:21px}.tilecopy p{font-size:14px}
}
.pinhint{margin:-4px 0 14px;color:var(--charcoal);font-size:17px}

/* Staff quote cards: big quotation marks, speaker's name underneath on the right */
figure.card.quote{margin:0;display:flex;flex-direction:column;position:relative;overflow:hidden;padding:30px 32px 26px}
.quote .eyebrow{color:var(--seafoam)}
.quote blockquote{position:relative;margin:8px 0 0;padding:64px 0 0;flex:1}
.quote blockquote::before{content:"\201C";position:absolute;left:-6px;top:-6px;font:800 120px/1 Montserrat,Georgia,serif;color:var(--sunset)}
.quote blockquote p{margin:0;font-size:22px;line-height:1.45;font-style:italic;color:#fff}
.quote blockquote p::after{content:"\201D";font:800 64px/0 Montserrat,Georgia,serif;color:var(--sunset);vertical-align:-30px;margin-left:6px}
.quote figcaption{margin-top:18px;text-align:right;font-weight:700;font-size:18px;color:var(--seafoam)}
@media (orientation:landscape) and (max-height:1050px) and (max-width:1500px){.quote blockquote p{font-size:18px}.quote blockquote{padding-top:54px}.quote blockquote::before{font-size:96px;top:-4px}.quote figcaption{font-size:16px}}

/* Role tagline under the role name */
.lead.tagline{color:var(--forest);font-weight:600}

/* Thank-you screen: Done button and countdown */
.thanks-row{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:34px}.thanks-row span{font-size:19px;opacity:.8}

/* Optional photo step after the interest form */
.photo-card{max-width:760px}.photo-card .row.center{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:22px}
.cam{width:420px;height:420px;max-width:70vw;max-height:52vh;aspect-ratio:1;margin:0 auto;border-radius:24px;overflow:hidden;background:#173b34}
.cam video,.cam img{width:100%;height:100%;object-fit:cover}.cam video{transform:scaleX(-1)}
#camMsg{font-size:20px;margin:16px 0 0}
