/* Guest Portal landing (page-273 only). Shared header/footer stay untouched. */
.gp-page{--gp-ink:#183347;--gp-muted:#587180;--gp-teal:#008e9f;--gp-teal-dark:#0b6678;--gp-line:#d9eaf0;--gp-tint:#f0fafc;--gp-soft:#f8fcfd;color:var(--gp-ink);font-family:inherit}
.gp-page*,.gp-page*::before,.gp-page*::after{box-sizing:border-box}
.gp-page [hidden]{display:none!important}
.gp-page :is(h1,h2,h3,p,ul,ol,dl,dd,figure){margin:0}
.gp-page :is(h1,h2,h3){color:var(--gp-ink);font-family:inherit;hyphens:none;word-break:normal;overflow-wrap:normal}
.gp-page p{color:var(--gp-muted);font-size:15px;line-height:1.65}
.gp-page a{text-decoration:none}
.gp-page button{font:inherit}
.gp-page :is(a,button,summary):focus-visible{outline:3px solid #087e94;outline-offset:4px}
.gp-shell{width:min(calc(100% - 48px),1200px);margin-inline:auto}
.gp-section{padding:50px 0}
.gp-eyebrow{margin-bottom:12px!important;color:#177b8d!important;font-size:11px!important;font-weight:800;letter-spacing:.09em;line-height:1.45!important;text-transform:uppercase}
.gp-heading{max-width:780px;margin:0 auto 26px;text-align:center}
.gp-heading h2,.gp-feature-copy h2,.gp-faq-grid h2,.gp-final h2{font-size:clamp(28px,2.7vw,38px);font-weight:760;letter-spacing:-.035em;line-height:1.14}
.gp-heading>p:not(.gp-eyebrow),.gp-feature-copy>p:not(.gp-eyebrow):not(.gp-note){margin-top:15px}

.gp-hero{padding:18px 0 46px;border-bottom:1px solid #e1eff3;background:radial-gradient(circle at 82% 24%,#d7f3f6 0,transparent 38%),linear-gradient(130deg,#f9fdfe,#edf9fb)}
.gp-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px;color:#607b89;font-size:12px;line-height:1.5}
.gp-breadcrumb a{color:#176f84}
.gp-breadcrumb a:hover{text-decoration:underline;text-underline-offset:3px}
.gp-hero-grid{display:grid;grid-template-columns:minmax(0,.94fr) minmax(380px,.78fr);gap:60px;align-items:center}
.gp-hero-copy{min-width:0;padding-block:12px}
.gp-page h1{font-size:clamp(38px,4vw,58px);font-weight:780;letter-spacing:-.05em;line-height:1.03}
.gp-page h1 span{display:block;color:var(--gp-teal);max-width:720px}
.gp-lead{max-width:650px;margin-top:22px!important;font-size:18px!important;line-height:1.62!important}
.gp-actions{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;margin-top:25px}
.gp-button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:14px;padding:12px 24px;border:1px solid transparent;border-radius:999px;background:linear-gradient(100deg,#008397,#0ba7b2);color:#fff!important;font-size:14px;font-weight:750;line-height:1.3;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
.gp-button:hover{background:#087b8d;box-shadow:0 8px 20px #067b8c1f;transform:translateY(-1px)}
.gp-text-link{display:inline-flex;min-height:42px;align-items:center;gap:10px;color:#007e93!important;font-size:14px;font-weight:700}
.gp-text-link:hover{text-decoration:underline;text-underline-offset:4px}
.gp-assurances{display:flex;flex-wrap:wrap;gap:9px 18px;padding:0;margin-top:19px!important;list-style:none}
.gp-assurances li{display:flex;align-items:center;gap:7px;color:#587684;font-size:12px;line-height:1.45}
.gp-assurances li span{color:#0098a5;font-weight:900}

.gp-hero-demo{display:flex;flex-direction:column;align-items:center;gap:9px}
.gp-hero-demo figcaption{color:#68828e;font-size:11px;text-align:center}
.gp-phone,.gp-preview-phone{position:relative;width:min(100%,366px);border:9px solid #172a36;border-radius:44px;background:#f7f8f8;box-shadow:0 28px 70px #14546c20,0 5px 15px #163b4a12;overflow:hidden}
.gp-phone-hero{transform:translateY(2px)}
.gp-phone-top{display:flex;height:38px;align-items:center;justify-content:space-between;padding:0 17px;background:#fff;color:#162631;font-size:10px;font-weight:750}
.gp-phone-island{width:84px;height:22px;border-radius:999px;background:#111}
.gp-phone-photo{position:relative;height:118px;background:linear-gradient(145deg,#edf9f9 0 34%,#d8ecea 34% 46%,#b9d9d7 46% 58%,#8bbbbb 58% 100%);overflow:hidden}
.gp-phone-photo::before{content:"";position:absolute;right:20px;bottom:0;width:120px;height:82px;border-radius:10px 10px 0 0;background:linear-gradient(90deg,#f7f8f8 0 30%,#d6dee0 30% 34%,#f7f8f8 34% 67%,#d6dee0 67% 71%,#f7f8f8 71%)}
.gp-phone-photo::after{content:"";position:absolute;left:22px;bottom:14px;width:96px;height:48px;border-radius:8px;background:#ffffffd9;box-shadow:0 10px 22px #0c405317}
.gp-photo-badge{position:absolute;z-index:2;top:12px;left:14px;padding:5px 8px;border-radius:7px;background:#fff;color:#078b9b;font-size:12px;font-weight:800}
.gp-phone-content{padding:19px 18px 17px}
.gp-phone-greeting{color:#101b22!important;font-size:28px!important;font-weight:800;letter-spacing:-.04em;line-height:1.05!important}
.gp-phone-copy{margin-top:8px!important;color:#64727a!important;font-size:12px!important;line-height:1.45!important}
.gp-message-card,.gp-property-card{display:flex;gap:12px;align-items:center;margin-top:16px;padding:13px;border-radius:14px;background:#fff;box-shadow:0 7px 22px #193a4b0b}
.gp-message-card .gp-ui-icon{display:grid;width:30px;height:30px;place-items:center;border-radius:10px;background:#edf7f9;color:#087f94}
.gp-message-card div,.gp-property-card div{display:flex;min-width:0;flex-direction:column;gap:2px}
.gp-message-card strong,.gp-property-card strong{font-size:12px;line-height:1.3}
.gp-message-card small,.gp-property-card small{color:#74838a;font-size:10px}
.gp-message-card i{width:7px;height:7px;margin-left:auto;border-radius:50%;background:#6d8cff}
.gp-dates,.gp-reservation-dates{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.gp-dates>div,.gp-reservation-dates>div{display:flex;flex-direction:column;gap:3px;padding:12px;border-radius:12px;background:#fff}
.gp-dates small,.gp-reservation-dates small{color:#526875;font-size:10px;font-weight:750}
.gp-dates strong,.gp-reservation-dates strong{font-size:11px}
.gp-dates span,.gp-reservation-dates span{color:#6c7c85;font-size:10px}
.gp-property-thumb{flex:0 0 52px;height:42px;border-radius:9px;background:linear-gradient(145deg,#c8e3e5,#f6f5ec 45%,#7caeb2)}
.gp-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:11px}
.gp-mini-grid>div{display:flex;min-height:70px;flex-direction:column;gap:3px;justify-content:flex-end;padding:11px;border-radius:12px;background:#fff;box-shadow:0 5px 16px #17384608}
.gp-mini-grid .gp-mini-accent{background:#f9b52c;color:#182b36}
.gp-mini-grid strong{font-size:11px;line-height:1.2}
.gp-mini-grid small{color:#73818a;font-size:9px}
.gp-mini-accent small{color:#4f4838}
.gp-browser-bar{margin:0 18px 14px;padding:9px 12px;border-radius:10px;background:#e8eaeb;color:#5f676b;font-size:10px;text-align:center}

.gp-value-strip{border-bottom:1px solid #e0edf2;background:#f1fafc}
.gp-value-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.gp-value-item{display:flex;min-width:0;gap:12px;padding:22px 20px;border-right:1px solid #d9eaf0}
.gp-value-item:first-child{border-left:1px solid #d9eaf0}
.gp-value-number{display:grid;flex:0 0 34px;height:34px;place-items:center;border-radius:10px;background:#fff;color:#118397;font-size:11px;font-weight:800}
.gp-value-item strong{display:block;font-size:14px;line-height:1.3}
.gp-value-item p{margin-top:5px!important;font-size:12px!important;line-height:1.5!important}

.gp-journey{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:0;margin-top:28px!important;list-style:none}
.gp-journey::before{content:"";position:absolute;z-index:0;top:22px;left:9%;right:9%;height:1px;background:#9fd6df}
.gp-journey li{position:relative;z-index:1;display:flex;min-height:90px;flex-direction:column;align-items:center;gap:11px;padding:0 8px;text-align:center}
.gp-journey li span{display:grid;width:44px;height:44px;place-items:center;border:1px solid #a9dbe3;border-radius:50%;background:#fff;color:#087f92;font-size:11px;font-weight:800;box-shadow:0 0 0 8px #fff}
.gp-journey li strong{font-size:14px;line-height:1.35}

.gp-feature{padding:52px 0}
.gp-feature-tint{border-block:1px solid #e3f0f4;background:#f1fafc}
.gp-feature-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1fr);gap:64px;align-items:center}
.gp-feature-grid-reverse{grid-template-columns:minmax(420px,1fr) minmax(0,.92fr)}
.gp-feature-grid-reverse>.gp-feature-copy{order:2}
.gp-feature-grid-reverse>.gp-ui-panel{order:1}
.gp-feature-copy{max-width:520px}
.gp-feature-copy h2{max-width:600px}
.gp-feature-copy .gp-note{margin-top:15px!important;padding-left:14px;border-left:2px solid #7ac8d3;color:#55717f!important;font-size:12px!important}
.gp-feature-copy .gp-text-link{margin-top:16px}
.gp-ui-panel{min-width:0;padding:22px;border:1px solid #d5e8ee;border-radius:18px;background:#fff;box-shadow:0 14px 34px #194c600d}
.gp-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid #e4eef2;font-size:14px;font-weight:750}
.gp-status{padding:5px 9px;border-radius:999px;background:#e3f4ea;color:#39745a;font-size:10px!important;font-weight:800}
.gp-map-demo{position:relative;display:flex;height:120px;align-items:center;justify-content:center;gap:7px;margin-top:16px;border-radius:13px;background:linear-gradient(27deg,#dfeef0 0 24%,transparent 24% 30%,#d6e8e5 30% 52%,transparent 52% 58%,#e7f2e8 58%),linear-gradient(150deg,#edf5e9,#dceef1);color:#315a69;font-weight:800;overflow:hidden}
.gp-map-demo::before,.gp-map-demo::after{content:"";position:absolute;width:120%;height:2px;background:#fff;transform:rotate(16deg)}
.gp-map-demo::after{transform:rotate(-24deg)}
.gp-map-pin{position:relative;z-index:2;display:grid;width:26px;height:26px;place-items:center;border:6px solid #168da2;border-radius:50%;background:#fff;color:transparent;box-shadow:0 4px 10px #174c5b24}
.gp-reservation-dates>div{border:1px solid #e3eef2;background:#f9fcfd}
.gp-reservation-row{display:flex;justify-content:space-between;gap:20px;padding:12px 4px;border-bottom:1px solid #e8f0f3;color:#586f7d;font-size:13px}
.gp-reservation-row strong{color:#19384a}
.gp-reservation-context{display:flex;align-items:center;gap:11px;margin-top:12px;padding:12px 13px;border-radius:11px;background:#f4fafb}
.gp-reservation-context>span{display:grid;flex:0 0 28px;height:28px;place-items:center;border-radius:9px;background:#dff4ee;color:#2e9078;font-weight:900}
.gp-reservation-context div{display:flex;min-width:0;flex-direction:column;gap:2px}
.gp-reservation-context strong{font-size:12px}
.gp-reservation-context small{color:#6a7f8a;font-size:10px;line-height:1.35}
.gp-guests-panel{display:grid;gap:9px}
.gp-guest-row{display:flex;align-items:center;gap:12px;padding:12px 13px;border:1px solid #e5eef1;border-radius:12px;background:#fbfcfd}
.gp-avatar{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:#e6f6f8;color:#087f93;font-size:11px;font-weight:800}
.gp-guest-row strong{font-size:13px}
.gp-check{margin-left:auto;color:#37a98f;font-weight:900}
.gp-checkin-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:4px}
.gp-checkin-flow span{display:flex;min-height:48px;align-items:center;justify-content:center;gap:7px;padding:8px;border:1px solid #dcebee;border-radius:10px;background:#fbfdfe;color:#607783;font-size:10px;font-weight:750;text-align:center}
.gp-checkin-flow i{display:grid;width:22px;height:22px;place-items:center;border-radius:7px;background:#edf6f8;color:#15869a;font-style:normal;font-size:10px}
.gp-checkin-flow .is-done{border-color:#d8ebe4;background:#f6fbf9;color:#39745a}
.gp-checkin-flow .is-active{border-color:#b7dde4;background:#f2fafb;color:#087e92}
.gp-demo-button{min-height:43px;margin-top:2px;border:0;border-radius:10px;background:#263c48;color:#fff;font-size:12px;font-weight:750}
.gp-scan-icon{display:inline-grid;width:20px;height:20px;place-items:center;border:1px dashed #fff8;border-radius:5px}
.gp-chat-panel{min-height:300px;background:#f9fafb}
.gp-chat-title{display:flex;align-items:center;gap:10px;padding-bottom:15px;border-bottom:1px solid #e4ecef;font-size:19px}
.gp-chat-title span{font-size:28px}
.gp-chat-bubble{max-width:76%;margin-top:18px;padding:12px 14px;border-radius:14px;font-size:13px;line-height:1.45}
.gp-chat-guest{margin-left:auto;border-bottom-right-radius:4px;background:#bdeff2;color:#173841}
.gp-chat-host{border-bottom-left-radius:4px;background:#eceeef;color:#243b47}
.gp-chat-input{display:flex;align-items:center;justify-content:space-between;margin-top:20px;padding:10px 12px;border:1px solid #dfe9ed;border-radius:10px;background:#fff;color:#829198}
.gp-chat-input strong{display:grid;width:32px;height:32px;place-items:center;border-radius:8px;background:#edf1f3;color:#223943}
.gp-money{padding:8px 0}
.gp-money>div{display:flex;justify-content:space-between;padding:8px 0;color:#56717e;font-size:13px}
.gp-money dd{font-weight:700;color:#203c4b}
.gp-money-total{margin-top:4px;border-top:1px solid #dfeaed;font-weight:800}
.gp-document-card{display:flex;align-items:center;gap:12px;margin-top:8px;padding:12px 13px;border:1px solid #e2ecef;border-radius:11px;background:#fafcfd;font-size:13px}
.gp-document-card span{color:#07889b;font-size:18px}
.gp-invoice-preview,.gp-review-preview{margin-top:8px;padding:0 0 9px;border:1px solid #e4edef;border-radius:12px;background:#fff;overflow:hidden}
.gp-invoice-preview .gp-document-card,.gp-review-preview .gp-document-card{margin:0;border:0;border-bottom:1px solid #edf2f4;border-radius:0;background:#fbfcfd}
.gp-invoice-fields{display:grid;grid-template-columns:.7fr 1.3fr;gap:8px;padding:10px}
.gp-invoice-fields span{padding:9px 10px;border:1px solid #e3ecef;border-radius:8px;background:#fff;color:#687c87;font-size:10px}
.gp-review-score{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;color:#d58b00}
.gp-review-score span{letter-spacing:.08em}
.gp-review-score strong{color:#1e3948;font-size:12px}
.gp-essentials-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;width:96%;justify-self:end}
.gp-essential-card{display:flex;gap:13px;align-items:flex-start;padding:18px;border:1px solid #d8e9ee;border-radius:15px;background:#fff;box-shadow:0 8px 20px #173e4d09}
.gp-essential-wide{grid-column:1/-1}
.gp-essential-icon{display:grid;flex:0 0 38px;height:38px;place-items:center;border-radius:11px;background:#ebf8fa;color:#07889a;font-size:20px}
.gp-essential-card div{display:flex;min-width:0;flex-direction:column;gap:4px}
.gp-essential-card strong{font-size:14px}
.gp-essential-card small{color:#6a7f8a;font-size:11px;line-height:1.4}
.gp-essential-card b{color:#0c788b;font-size:11px;font-weight:750}
.gp-host-card small{overflow-wrap:anywhere}
.gp-lock-panel{display:flex;min-height:290px;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(145deg,#f9fdfd,#eef9fb)}
.gp-lock-icon{display:grid;width:66px;height:66px;place-items:center;margin-bottom:16px;border-radius:19px;background:#fff;color:#05889a;font-size:32px;box-shadow:0 10px 25px #16546710}
.gp-lock-panel p{font-size:12px!important;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.gp-lock-panel>strong{margin-top:5px;font-size:18px}
.gp-pin{margin-top:21px;padding:12px 21px;border-radius:10px;background:#243d49;color:#fff;font-size:18px;font-weight:800;letter-spacing:.08em}
.gp-lock-panel small{margin-top:9px;color:#617a86}

.gp-preview-section{padding:48px 0;border-block:1px solid #e0eef2;background:#f2fafc}
.gp-preview-section .gp-heading{margin-bottom:20px}
.gp-preview{display:grid;grid-template-columns:220px minmax(310px,346px);gap:34px;justify-content:center;align-items:center}
.gp-preview-tabs{display:grid;gap:9px}
.gp-preview-tabs button{min-height:48px;padding:10px 14px;border:1px solid #cfe4ea;border-radius:11px;background:#fff;color:#234655;text-align:left;font-size:13px;font-weight:750;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .15s}
.gp-preview-tabs button[aria-selected=true]{border-color:#55b8c6;background:#e8f8fa;color:#007d92;transform:translateX(3px)}
.gp-preview-tabs button:hover{border-color:#7dc7d2}
.gp-preview-phone{width:min(100%,346px);min-height:538px;background:#f7f8f8}
.gp-preview-screen{min-height:446px;padding:22px 18px 16px;animation:gp-screen-in .18s ease-out both}
.gp-preview-screen h3{margin-bottom:16px;font-size:23px;letter-spacing:-.03em}
.gp-preview-screen .gp-essential-card{margin-top:11px;padding:14px;box-shadow:none}
.gp-preview-screen .gp-mini-grid{margin-top:14px}
.gp-preview-screen .gp-checkin-flow{margin-top:11px}
@keyframes gp-screen-in{from{opacity:.55;transform:translateY(7px)}to{opacity:1;transform:none}}

.gp-benefit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.gp-benefit{padding:17px 18px;border:1px solid #d9eaf0;border-radius:14px;background:#fff}
.gp-benefit>span{display:grid;width:30px;height:30px;place-items:center;margin-bottom:12px;border-radius:8px;background:#edf8fa;color:#138598;font-size:11px;font-weight:800}
.gp-benefit h3{font-size:16px;line-height:1.3}
.gp-benefit p{margin-top:7px!important;font-size:13px!important;line-height:1.5!important}

.gp-faq-section{padding:52px 0;border-top:1px solid #e3eff3;background:#f8fcfd}
.gp-faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:64px;align-items:start}
.gp-faq-grid .gp-text-link{margin-top:18px}
.gp-faq{border-top:1px solid #d9e9ee}
.gp-faq details{border-bottom:1px solid #d9e9ee}
.gp-faq summary{display:flex;min-height:60px;align-items:center;justify-content:space-between;gap:20px;padding:12px 0;color:#183347;font-size:14px;font-weight:750;cursor:pointer;list-style:none}
.gp-faq summary::-webkit-details-marker{display:none}
.gp-faq summary span{color:#07889b;font-size:20px;font-weight:400;transition:transform .15s}
.gp-faq details[open] summary span{transform:rotate(45deg)}
.gp-faq details p{padding:0 34px 18px 0;font-size:13px!important;line-height:1.6!important}

.gp-final{padding:46px 0;border-top:10px solid #f8fcfd;background:linear-gradient(115deg,#164f61,#0a7883);color:#fff}
.gp-final-inner{display:grid;grid-template-columns:1fr .8fr;gap:56px;align-items:center}
.gp-final .gp-eyebrow,.gp-final h2,.gp-final p{color:#fff!important}
.gp-final h2{max-width:650px}
.gp-final p:not(.gp-eyebrow){max-width:620px;margin-top:13px!important;color:#def2f4!important}
.gp-final-cta{display:flex;flex-direction:column;align-items:stretch}
.gp-final-cta .gp-actions{display:grid;grid-template-columns:1fr;margin-top:0}
.gp-button-light{background:#fff;color:#087c90!important}
.gp-button-light:hover{background:#f2fbfc;color:#066f80!important}
.gp-button-outline{border-color:#70b9c4;background:transparent;color:#fff!important}
.gp-button-outline:hover{background:#ffffff12}
.gp-final .gp-final-note{margin-top:10px!important;color:#d8edf0!important;font-size:11px!important;text-align:center}

@media(max-width:1000px){
 .gp-hero-grid,.gp-feature-grid,.gp-feature-grid-reverse{grid-template-columns:1fr;gap:38px}
 .gp-hero-copy,.gp-feature-copy{max-width:none}
 .gp-hero-demo{justify-self:center}
 .gp-feature-grid-reverse>.gp-feature-copy,.gp-feature-grid-reverse>.gp-ui-panel{order:initial}
 .gp-value-grid{grid-template-columns:1fr 1fr}
 .gp-value-item:nth-child(2){border-right:0}.gp-value-item:nth-child(3){border-left:1px solid #d9eaf0;border-top:1px solid #d9eaf0}.gp-value-item:nth-child(4){border-top:1px solid #d9eaf0;border-right:0}
 .gp-benefit-grid{grid-template-columns:1fr 1fr}
 .gp-essentials-grid{width:100%;justify-self:stretch}
 .gp-final-inner{grid-template-columns:1fr;gap:26px}
 .gp-final-cta{max-width:520px}
}
@media(max-width:760px){
 .gp-shell{width:min(calc(100% - 32px),1200px)}
 .gp-section,.gp-feature,.gp-preview-section,.gp-faq-section{padding-block:46px}
 .gp-hero{padding:14px 0 40px}
 .gp-hero-grid{grid-template-columns:minmax(0,1fr);gap:32px}
 .gp-page h1{font-size:clamp(34px,10vw,46px)}
 .gp-lead{font-size:16px!important}
 .gp-journey{grid-template-columns:1fr;margin-top:22px!important}
 .gp-journey::before{top:15px;bottom:15px;left:21px;right:auto;width:1px;height:auto}
 .gp-journey li{min-height:0;flex-direction:row;justify-content:flex-start;text-align:left;padding:5px 0;gap:14px}
 .gp-journey li span{flex:0 0 42px;width:42px;height:42px;box-shadow:0 0 0 5px #fff}
 .gp-preview{grid-template-columns:1fr;gap:22px}
 .gp-preview-tabs{grid-template-columns:1fr 1fr}
 .gp-preview-tabs button{text-align:center}
 .gp-preview-tabs button[aria-selected=true]{transform:none}
 .gp-preview-phone{justify-self:center;width:min(100%,350px)}
 .gp-faq-grid{grid-template-columns:1fr;gap:26px}
 .gp-essentials-grid{grid-template-columns:1fr 1fr}
 .gp-essential-wide{grid-column:1/-1}
}
@media(max-width:520px){
 .gp-shell{width:min(calc(100% - 24px),1200px)}
 .gp-breadcrumb{margin-bottom:18px}
 .gp-page h1{font-size:34px;line-height:1.06}
 .gp-heading h2,.gp-feature-copy h2,.gp-faq-grid h2,.gp-final h2{font-size:28px}
 .gp-actions{display:grid;grid-template-columns:1fr;width:100%;gap:10px}
 .gp-actions .gp-button,.gp-actions .gp-text-link{width:100%}
 .gp-actions .gp-text-link{justify-content:center}
 .gp-assurances{display:grid;gap:8px}
 .gp-phone,.gp-preview-phone{width:min(100%,338px);border-width:7px;border-radius:36px}
 .gp-phone-photo{height:105px}
 .gp-phone-content{padding:17px 14px 15px}
 .gp-phone-greeting{font-size:25px!important}
 .gp-value-grid{grid-template-columns:1fr}
 .gp-value-item,.gp-value-item:first-child,.gp-value-item:nth-child(3){border-left:0;border-right:0;border-top:1px solid #d9eaf0}
 .gp-value-item:first-child{border-top:0}
 .gp-feature-grid,.gp-feature-grid-reverse{grid-template-columns:minmax(0,1fr);gap:28px}
 .gp-ui-panel{padding:16px;border-radius:14px}
 .gp-checkin-flow{grid-template-columns:1fr}
 .gp-invoice-fields{grid-template-columns:1fr}
 .gp-benefit-grid{grid-template-columns:1fr}
 .gp-essentials-grid{grid-template-columns:1fr}
 .gp-essential-wide{grid-column:auto}
 .gp-preview-tabs{grid-template-columns:1fr 1fr;gap:7px}
 .gp-preview-tabs button{min-height:44px;padding:8px;font-size:12px}
 .gp-preview-screen{min-height:465px;padding:20px 14px 14px}
 .gp-faq summary{font-size:13px}
 .gp-final{padding:40px 0}
}
@media(prefers-reduced-motion:reduce){
 .gp-page *,.gp-page *::before,.gp-page *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
/* Animated guest-eye preview only. Other phones, AI demo and page chrome are unchanged. */
.gp-page .gp-preview[data-gp-enhanced] { row-gap: 16px; }
.gp-preview[data-gp-enhanced] .gp-preview-tabs { min-width: 0; }
.gp-preview[data-gp-enhanced] .gp-preview-tabs button { position: relative; overflow: hidden; }
.gp-preview-progress {
 position: absolute; inset: auto 0 0; height: 3px;
 background: var(--gp-teal); transform: scaleX(0); transform-origin: left;
 pointer-events: none;
}
.gp-preview-tabs button:not([aria-selected=true]) .gp-preview-progress { visibility: hidden; }
/* Stack all screens in one grid cell so the tallest translation reserves space.
   Inactive screens also keep hidden + aria-hidden + inert for accessibility. */
.gp-preview[data-gp-enhanced] .gp-preview-phone { display: grid; grid-template-rows: auto 1fr auto; }
.gp-preview[data-gp-enhanced] .gp-phone-top { grid-area: 1 / 1; }
.gp-preview[data-gp-enhanced] .gp-preview-screen { grid-area: 2 / 1; min-width: 0; animation: none; }
.gp-preview[data-gp-enhanced] .gp-browser-bar { grid-area: 3 / 1; }
.gp-page .gp-preview[data-gp-enhanced] .gp-preview-screen[hidden] {
 display: block !important; visibility: hidden; pointer-events: none;
}
.gp-preview[data-gp-enhanced] .gp-preview-controls {
 grid-column: 1 / -1; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px;
}
.gp-preview-controls button {
 display: inline-flex; align-items: center; justify-content: center; gap: 7px;
 min-height: 40px; padding: 9px 14px; border: 1px solid #b7dce5; border-radius: 999px;
 background: #fff; color: #087c90; font-size: 12px; font-weight: 700; line-height: 1.35;
 cursor: pointer; transition: background .18s, border-color .18s;
}
.gp-preview-controls button:hover:not(:disabled) { background: #e8f8fa; border-color: #55b8c6; }
.gp-preview-controls button:disabled { color: #587180; cursor: default; }
.gp-preview[data-gp-enhanced] .gp-preview-is-active { animation: gp-preview-screen-enter .4s ease-out both; }
.gp-preview[data-gp-enhanced] .gp-preview-is-active > :not(h3):not(p) {
 animation: gp-preview-item-enter .45s ease-out both;
}
.gp-preview-is-active > :nth-child(2) { animation-delay: .09s !important; }
.gp-preview-is-active > :nth-child(3) { animation-delay: .18s !important; }
.gp-preview-is-active > :nth-child(4) { animation-delay: .27s !important; }
.gp-preview-is-active > :nth-child(5) { animation-delay: .36s !important; }
.gp-preview-is-active > :nth-child(6) { animation-delay: .45s !important; }
.gp-preview-is-active .gp-mini-grid > div { animation: gp-preview-item-enter .4s .35s ease-out both; }
.gp-preview-is-active .gp-mini-grid > div:nth-child(2) { animation-delay: .45s; }
.gp-preview-is-active .gp-mini-grid > div:nth-child(3) { animation-delay: .55s; }
.gp-preview-is-active .gp-mini-grid > div:nth-child(4) { animation-delay: .65s; }
.gp-preview-is-active .gp-message-card i { animation: gp-preview-dot 1.4s .5s ease-out both; }
.gp-preview-is-active .gp-map-pin { animation: gp-preview-pin 1.6s .4s ease-out both; }
.gp-preview-is-active .gp-guest-row .gp-check { animation: gp-preview-check .45s .45s ease-out both; }
.gp-preview-is-active .gp-guest-row:nth-child(3) .gp-check { animation-delay: .6s; }
.gp-preview-is-active .gp-guest-row:nth-child(4) .gp-check { animation-delay: .75s; }
.gp-preview-is-active .gp-guest-row:nth-child(5) .gp-check { animation-delay: .9s; }
.gp-preview-is-active .gp-essential-icon { animation: gp-preview-check .5s .3s ease-out both; }
.gp-preview[data-gp-visible=false] .gp-preview-screen,
.gp-preview[data-gp-visible=false] .gp-preview-screen * { animation: none !important; }
@keyframes gp-preview-screen-enter {
 from { opacity: .25; transform: translateY(7px); }
 to { opacity: 1; transform: none; }
}
@keyframes gp-preview-item-enter {
 from { opacity: 0; transform: translateY(6px); }
 to { opacity: 1; transform: none; }
}
@keyframes gp-preview-dot {
 0%, 100% { box-shadow: 0 0 0 0 #6d8cff00; }
 45% { box-shadow: 0 0 0 6px #6d8cff25; }
}
@keyframes gp-preview-pin {
 0%, 100% { box-shadow: 0 4px 10px #174c5b24; }
 45% { box-shadow: 0 4px 10px #174c5b24, 0 0 0 10px #168da220; }
}
@keyframes gp-preview-check {
 from { opacity: 0; transform: scale(.75); }
 to { opacity: 1; transform: scale(1); }
}
@media(max-width: 760px) {
 .gp-preview-controls button { min-height: 44px; }
}
@media(prefers-reduced-motion: reduce) {
 .gp-preview[data-gp-enhanced] *, .gp-preview[data-gp-enhanced] *::before,
 .gp-preview[data-gp-enhanced] *::after { animation: none !important; transition: none !important; }
 .gp-preview[data-gp-enhanced] .gp-preview-progress { display: none; }
}
