/* The original paper illustration is a clear hero asset, rather than a faded backdrop. */
.hero{display:block;min-height:670px;padding:0;max-width:1480px;margin-inline:auto;background:var(--cream);isolation:isolate}
.hero::after{display:none}
.hero-copy{position:relative;z-index:3;width:44%;max-width:610px;padding:45px 0 120px max(40px,calc((100% - 1240px)/2));grid-column:auto;grid-row:auto}
.hero h1{font-size:clamp(43px,4.25vw,61px);line-height:1.04}
.hero-description{font-size:16px;line-height:1.5;max-width:450px}
.hero-description-phone{display:none}
.hero-art{position:absolute;inset:0 0 auto auto;width:64%;height:510px;margin:0;z-index:0;overflow:hidden;clip-path:none;background:#bdd5cd}
.hero-art>img{width:100%;height:100%;object-fit:cover;object-position:45% 48%;opacity:1;filter:none}
.hero-art::before{display:block;content:"";position:absolute;z-index:2;inset:0 auto 0 -1px;width:17%;height:100%;background:var(--cream);clip-path:polygon(0 0,100% 0,0 100%)}
.board-wrap{position:absolute;z-index:4;width:55%;max-width:724px;right:max(40px,calc((100% - 1240px)/2));bottom:74px;top:auto;margin:0;grid-column:auto;grid-row:auto}
.departure-board{padding:17px 18px 11px}
.board-title{padding-bottom:11px;margin-bottom:10px}.board-kicker{font-size:22px}.board-title h2{margin-top:7px;font-size:9px}.board-clock{font-size:19px}
.board-column-labels{margin-bottom:7px}.board-rows{gap:6px}.flap{height:33px;font-size:23px}.board-service .flap{font-size:17px}.board-footer{margin-top:7px}.board-note{margin-top:10px}
.hero-picker{max-width:470px}.hero-picker input{font-size:13px;padding:13px;min-height:50px}.hero-picker .button{font-size:12px;min-height:50px;padding-inline:16px}
@media(min-width:981px){.hero+.trust-strip{height:66px;margin-top:-66px}}
@media(min-width:981px) and (max-width:1150px){.hero-copy{width:44%;padding-left:32px}.hero h1{font-size:45px}.hero-description{font-size:14px}.hero-art{width:63%;height:465px}.hero{min-height:640px}.board-wrap{right:32px;width:55%;bottom:74px}.board-kicker{font-size:20px}.flap{font-size:20px;height:31px}.board-service .flap{font-size:15px}}
@media(min-width:721px) and (max-width:980px){.hero{min-height:690px}.hero-copy{width:48%;padding:38px 0 100px 30px}.hero h1{font-size:40px}.hero-description{font-size:14px}.hero-art{width:61%;height:400px}.board-wrap{width:63%;right:28px;bottom:30px;max-width:650px}.hero-art::before{width:20%}.hero-picker-fields{flex-wrap:wrap}.hero-picker input{flex-basis:65%}.hero-picker .button{flex:1;padding-inline:11px}.hero+.trust-strip{margin-top:0}}
@media(max-width:720px){
 .hero{display:grid;grid-template-columns:1fr;gap:0;min-height:0;padding:19px 0 15px;overflow:hidden}
 .hero-copy{position:relative;grid-column:1;grid-row:1;width:100%;max-width:none;padding:0 20px;z-index:3}
 .hero-copy .eyebrow{font-size:8px;margin-bottom:12px}.hero h1{font-size:34px;line-height:1.04;max-width:440px}
 .hero-description{font-size:12px;line-height:1.5;margin-top:12px;max-width:450px}.hero-description-desktop{display:none}.hero-description-phone{display:inline}
 .hero-picker{margin-top:14px;max-width:none}.hero-picker>label{font-size:11px;margin-bottom:6px}.hero-picker input{font-size:11px;min-height:43px;padding:11px}.hero-picker .button{font-size:10px;min-height:43px;padding:10px 12px}.hero-directory-link{display:none}#hero-search-status:empty{display:none}
 .hero-art{position:relative;inset:auto;grid-column:1;grid-row:2;width:100%;height:192px;margin-top:14px;z-index:0}.hero-art::before{display:none}.hero-art>img{object-position:50% 46%;height:100%;width:100%}
 .board-wrap{position:relative;inset:auto;grid-column:1;grid-row:3;width:calc(100% - 32px);max-width:600px;margin:-49px auto 0;z-index:4}
 .departure-board{padding:13px 11px 8px}.board-title{padding-bottom:9px;margin-bottom:9px;gap:8px}.board-kicker{font-size:18px}.board-title h2{font-size:7px;margin-top:6px}.board-clock{font-size:16px}.board-column-labels{font-size:6px;margin-bottom:6px}.board-column-labels,.board-row{grid-template-columns:40px minmax(0,1.25fr) minmax(0,1fr);gap:6px}.board-time{font-size:10px}.board-rows{gap:5px}.board-word{gap:1px}.flap{height:27px;font-size:18px;max-width:24px}.board-service .flap{font-size:12px}.board-footer{margin-top:7px;font-size:6px}.board-footer button{font-size:7px;min-height:20px}.board-note{font-size:7px;margin-top:9px}.hero+.trust-strip{margin-top:0}
}
@media(max-width:360px){.hero-copy{padding-inline:17px}.hero h1{font-size:31px}.hero-description{font-size:11px}.hero-art{height:178px}.board-wrap{width:calc(100% - 26px)}.board-column-labels,.board-row{grid-template-columns:34px minmax(0,1.2fr) minmax(0,1fr);gap:4px}.board-kicker{font-size:17px}.board-service .flap{font-size:11px}.board-time{font-size:9px}}

/* A recognisable iPhone silhouette, constructed as stacked paper layers. */
.update-phone{position:relative;max-width:326px;width:100%;padding:10px;border:2px solid #beb397;border-radius:43px;background:linear-gradient(110deg,#fff9e9,#e5d8bc);overflow:visible;box-shadow:0 1px 0 #fffdf6 inset,2px 2px 0 #e2d4b6,4px 4px 0 #cfc0a0,6px 6px 0 #b7a583,13px 19px 30px #233d2920}
.paper-phone-screen{position:relative;isolation:isolate;overflow:hidden;border:1px solid #a79f88;border-radius:31px;background:#f4eddd;box-shadow:0 0 0 2px #d7cbb1,0 0 0 4px #fff7e7}
.paper-phone-screen::after{content:"";position:absolute;z-index:5;inset:0;pointer-events:none;opacity:.10;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100' height='100' filter='url(%23paper)' opacity='.55'/%3E%3C/svg%3E")}
.paper-phone-status{height:46px;position:relative;display:flex;justify-content:space-between;align-items:center;padding:12px 17px 6px;color:#173a2d;background:#fbf5e7}
.paper-phone-time{font-size:11px;font-weight:800;letter-spacing:-.02em}.paper-phone-status>svg{width:51px;height:15px}
.paper-phone-island{position:absolute;left:50%;top:11px;transform:translateX(-50%);width:83px;height:22px;border-radius:20px;background:#183226;box-shadow:0 1px 1px #08180f inset,0 1px 0 #fff7df}
.paper-phone-island::after{content:"";position:absolute;right:9px;top:8px;width:5px;height:5px;border-radius:50%;background:#354e43;box-shadow:0 0 0 1px #0a2018}
.update-phone .phone-top{padding:11px 10px 13px;gap:9px;border-top:1px solid #68866d;background:linear-gradient(110deg,#27543a,#173e2d);box-shadow:0 2px 0 #d5c8a7}
.update-phone .phone-avatar{width:31px;height:31px;box-shadow:1px 2px 0 #0d2b1d66;background:#f3e8d0}.update-phone .phone-top b{font-size:10px}.update-phone .phone-top small{font-size:8px}
.update-phone .phone-chat{min-height:376px;padding:17px 12px;gap:12px;background:linear-gradient(120deg,#e8dfca,#f2ead9)}
.update-phone .chat-bubble{width:92%;padding:10px 11px;background:#fff9e9;border-radius:3px 10px 10px;box-shadow:1px 2px 0 #c2b391,2px 3px 0 #dfd3b8}.update-phone .chat-bubble strong{font-size:11px}.update-phone .chat-bubble p{font-size:10px;line-height:1.45;color:#4c594a}
.update-phone .chat-route{font-size:8px;padding:9px 6px}.update-phone .phone-input{margin:9px 9px 0;padding:9px 11px;border:1px solid #d0c3a9;background:#fff8e7;box-shadow:0 1px 0 #fffdf5 inset;font-size:9px}
.paper-phone-home{height:26px;position:relative;background:#f4eddd}.paper-phone-home::after{content:"";position:absolute;left:50%;bottom:8px;transform:translateX(-50%);width:91px;height:4px;border-radius:5px;background:#254232;box-shadow:0 1px 0 #fff9e8}
.paper-phone-button{position:absolute;width:4px;border:1px solid #b4a484;border-radius:4px;background:#e3d3b3;box-shadow:1px 0 0 #fff6e3 inset;pointer-events:none}.paper-phone-silent{left:-5px;top:88px;height:21px}.paper-phone-volume-up{left:-5px;top:126px;height:39px}.paper-phone-volume-down{left:-5px;top:179px;height:39px}.paper-phone-power{right:-5px;top:145px;height:62px}
@media(max-width:720px){.update-phone{max-width:302px;padding:9px;border-radius:40px}.paper-phone-screen{border-radius:29px}.update-phone .phone-chat{min-height:360px}.paper-phone-island{width:79px;height:21px}.paper-phone-status{padding-inline:14px}}
.update-phone .chat-message-time{display:block;margin-top:4px;text-align:right;font-size:8px;line-height:1.2;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:#71806b}

/* One short illustrated WhatsApp-style update sequence, retaining its final state. */
.update-phone.phone-update-demo .phone-chat{min-height:0;padding:12px 11px;gap:8px}
.update-phone.phone-update-demo .chat-bubble{width:94%;padding:8px 10px}
.update-phone.phone-update-demo .chat-bubble strong{font-size:10px;line-height:1.3;display:flex;align-items:center;gap:4px}
.update-phone.phone-update-demo .chat-bubble p{font-size:9px;line-height:1.4;margin-top:3px}
.update-phone.phone-update-demo .chat-message-time{font-size:7.5px;margin-top:3px}
.chat-location-icon{font-size:12px;color:#286440}.chat-demo-tag{margin-left:auto;text-transform:uppercase;font-size:6px;letter-spacing:.08em;border:1px solid #bdc9ac;border-radius:3px;padding:2px 4px;color:#697c58;background:#eef0de}
.chat-location-map{overflow:hidden;margin:6px -3px 4px;border:1px solid #c2cfaf;border-radius:4px;box-shadow:0 1px 0 #fff9e9 inset}.chat-location-map svg{display:block;width:100%;height:auto;max-height:86px}.chat-courier-marker{filter:drop-shadow(0 1px 1px #284f3033)}.chat-final-marker{display:none}.phone-demo-complete .chat-final-marker{display:block}.phone-demo-complete .chat-courier-marker{display:none}
.phone-message-pending{visibility:hidden;opacity:0}.phone-message-arrived{animation:paper-message-in .32s ease-out both}@keyframes paper-message-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:720px){.update-phone.phone-update-demo .phone-chat{padding:11px 10px;gap:7px}.update-phone.phone-update-demo .chat-bubble{padding:8px 9px}.chat-location-map svg{max-height:80px}}
@media(prefers-reduced-motion:reduce){.phone-message-arrived{animation:none}.phone-message-pending{visibility:visible;opacity:1}.chat-courier-marker{display:none}.chat-final-marker{display:block}}
