/* Gaotus Real Estate & Vacation Rental Builder */
:root{--geb-primary:#b7894b;--geb-secondary:#0b1f2a;--geb-surface:#f5f1e9;--geb-text:#18232a;--geb-muted:#68747b;--geb-white:#fff;--geb-radius:22px;--geb-shadow:0 24px 80px rgba(11,31,42,.12);--geb-heading:Georgia,serif;--geb-body:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.geb-site,.geb-booking-card,.geb-dashboard-shell,.geb-confirmation{font-family:var(--geb-body);color:var(--geb-text);line-height:1.65}.geb-site *,.geb-booking-card *,.geb-dashboard-shell *,.geb-confirmation *{box-sizing:border-box}.geb-site img,.geb-booking-card img,.geb-dashboard-shell img{max-width:100%;display:block}.geb-shell{width:min(1220px,calc(100% - 40px));margin-inline:auto}.geb-section{padding:100px 0;position:relative}.geb-section:nth-child(even):not(.geb-hero):not(.geb-cta){background:linear-gradient(135deg,var(--geb-surface),#fff)}.geb-section-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);gap:50px;align-items:end;margin-bottom:42px}.geb-section-header h2,.geb-page-hero h1,.geb-hero h1,.geb-cta h2,.geb-confirmation h1{font-family:var(--geb-heading);letter-spacing:-.035em;line-height:1.06;margin:0;color:var(--geb-secondary)}.geb-section-header h2{font-size:clamp(34px,4vw,58px)}.geb-section-header p{margin:0;color:var(--geb-muted);font-size:17px}.geb-eyebrow{display:block;color:var(--geb-primary);font-size:12px;font-weight:800;letter-spacing:.17em;text-transform:uppercase;margin-bottom:13px}.geb-button,.geb-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:12px 23px;border-radius:999px;font-weight:750;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease;font-family:inherit}.geb-button:hover,.geb-btn:hover{transform:translateY(-2px)}.geb-button-primary,.geb-btn--primary{background:var(--geb-primary);color:#fff;box-shadow:0 12px 30px color-mix(in srgb,var(--geb-primary) 28%,transparent)}.geb-button-primary:hover,.geb-btn--primary:hover{background:var(--geb-secondary);color:#fff}.geb-button-secondary,.geb-btn--outline{background:transparent;border-color:rgba(255,255,255,.45);color:#fff}.geb-btn--outline{border-color:rgba(11,31,42,.18);color:var(--geb-secondary);background:#fff}.geb-buttons,.geb-cta-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.geb-hero{min-height:760px;display:grid;align-items:end;background-size:cover;background-position:center;position:relative;color:#fff}.geb-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,19,27,.87) 0%,rgba(4,19,27,.55) 48%,rgba(4,19,27,.2) 100%),linear-gradient(0deg,rgba(4,19,27,.48),transparent 55%)}.geb-hero-inner{position:relative;z-index:2;padding:150px 0 90px}.geb-hero-copy{max-width:830px}.geb-hero h1{font-size:clamp(52px,7vw,92px);color:#fff;max-width:920px}.geb-hero-copy>p{font-size:clamp(17px,2vw,22px);max-width:700px;color:rgba(255,255,255,.84)}.geb-hero-search{margin-top:40px;max-width:980px}.geb-fallback-search{display:grid;grid-template-columns:1.35fr 1fr 1fr auto;background:#fff;border-radius:18px;padding:10px;box-shadow:0 22px 60px rgba(0,0,0,.22)}.geb-fallback-search label{display:flex;align-items:center;gap:10px;padding:7px 14px;border-right:1px solid #e7e9e9}.geb-fallback-search input,.geb-fallback-search select{border:0!important;box-shadow:none!important;width:100%;min-height:44px;color:var(--geb-text);background:transparent}.geb-fallback-search button{border:0;background:var(--geb-primary);color:#fff;border-radius:13px;padding:0 24px;font-weight:800;cursor:pointer}.geb-page-hero{padding:150px 0 90px;background:radial-gradient(circle at 80% 10%,color-mix(in srgb,var(--geb-primary) 25%,transparent),transparent 38%),var(--geb-secondary);color:#fff}.geb-page-hero-copy{max-width:900px}.geb-page-hero h1{font-size:clamp(46px,6vw,82px);color:#fff}.geb-page-hero p{font-size:20px;color:rgba(255,255,255,.76);max-width:760px}.geb-trust{padding:0;background:var(--geb-secondary);color:#fff}.geb-trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.geb-trust-item{padding:22px 28px;border-right:1px solid rgba(255,255,255,.12);display:flex;align-items:center;gap:13px;font-weight:700}.geb-trust-item:last-child{border:0}.geb-trust-item:before{content:"✓";display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--geb-primary);font-size:13px}.geb-property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.geb-property-card{background:#fff;border-radius:var(--geb-radius);overflow:hidden;box-shadow:var(--geb-shadow);border:1px solid rgba(11,31,42,.07);transition:transform .28s ease,box-shadow .28s ease}.geb-property-card:hover{transform:translateY(-7px);box-shadow:0 30px 90px rgba(11,31,42,.18)}.geb-property-media,.geb-property-card__image{display:block;aspect-ratio:1.35;overflow:hidden;position:relative;background:var(--geb-surface)}.geb-property-media img,.geb-property-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.geb-property-card:hover img{transform:scale(1.04)}.geb-card-badge{position:absolute;left:17px;top:17px;background:rgba(255,255,255,.94);color:var(--geb-secondary);padding:7px 11px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.geb-property-content,.geb-property-card__body{padding:23px}.geb-property-location{font-size:13px;color:var(--geb-muted);margin-bottom:7px}.geb-property-card h3{font-family:var(--geb-heading);font-size:25px;line-height:1.16;margin:0 0 16px}.geb-property-card h3 a{color:var(--geb-secondary);text-decoration:none}.geb-property-meta{display:flex;gap:15px;flex-wrap:wrap;color:var(--geb-muted);font-size:13px}.geb-property-meta span{display:inline-flex;align-items:center;gap:6px}.geb-property-meta svg,.geb-secure-badge svg{width:18px;height:18px}.geb-property-footer{display:flex;align-items:end;justify-content:space-between;margin-top:18px;padding-top:18px;border-top:1px solid #e9eded}.geb-property-price,.geb-property-card__price{font-weight:850;color:var(--geb-secondary);font-size:18px}.geb-card-arrow{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--geb-surface);color:var(--geb-secondary)}.geb-card-arrow svg{width:19px}.geb-location-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.geb-location-card{min-height:360px;border-radius:var(--geb-radius);overflow:hidden;background-size:cover;background-position:center;position:relative;color:#fff;display:flex;align-items:end;text-decoration:none}.geb-location-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,19,27,.86),rgba(4,19,27,.08) 75%)}.geb-location-copy{position:relative;z-index:2;padding:30px}.geb-location-copy h3{font-family:var(--geb-heading);font-size:34px;margin:0;color:#fff}.geb-location-copy p{margin:7px 0 0;color:rgba(255,255,255,.75)}.geb-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.geb-story-media{min-height:570px;border-radius:var(--geb-radius);background:linear-gradient(145deg,var(--geb-secondary),color-mix(in srgb,var(--geb-secondary) 60%,var(--geb-primary)));position:relative;overflow:hidden;box-shadow:var(--geb-shadow)}.geb-story-mark{position:absolute;inset:45px;border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;color:#fff;font-family:var(--geb-heading);font-size:clamp(38px,6vw,85px);text-align:center}.geb-story-copy h2{font-family:var(--geb-heading);font-size:clamp(38px,4.5vw,64px);line-height:1.06;color:var(--geb-secondary);margin:0 0 20px}.geb-check-list{list-style:none;padding:0;margin:28px 0 0}.geb-check-list li{padding:11px 0;border-bottom:1px solid rgba(11,31,42,.1);display:flex;gap:10px}.geb-check-list li:before{content:"✓";color:var(--geb-primary);font-weight:900}.geb-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.geb-service-card{padding:30px;border-radius:var(--geb-radius);background:#fff;border:1px solid rgba(11,31,42,.08);box-shadow:0 15px 45px rgba(11,31,42,.07)}.geb-service-number{color:var(--geb-primary);font-weight:900}.geb-service-card h3{font-family:var(--geb-heading);font-size:25px;color:var(--geb-secondary)}.geb-service-card p{color:var(--geb-muted)}.geb-stats{background:var(--geb-secondary)!important;color:#fff}.geb-stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}.geb-stat{padding:30px;text-align:center;border-right:1px solid rgba(255,255,255,.12)}.geb-stat:last-child{border:0}.geb-stat strong{display:block;font-family:var(--geb-heading);font-size:48px;color:var(--geb-primary)}.geb-stat span{color:rgba(255,255,255,.72)}.geb-process-grid{display:grid;grid-template-columns:repeat(4,1fr);counter-reset:step}.geb-process-step{padding:30px;border-top:1px solid rgba(11,31,42,.13);position:relative}.geb-process-step:before{counter-increment:step;content:"0" counter(step);display:block;color:var(--geb-primary);font-weight:900;margin-bottom:22px}.geb-process-step h3{font-family:var(--geb-heading);font-size:23px}.geb-testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.geb-testimonial{padding:34px;background:#fff;border-radius:var(--geb-radius);box-shadow:0 15px 45px rgba(11,31,42,.07)}.geb-quote{font-family:var(--geb-heading);font-size:22px;line-height:1.45;margin:0 0 26px;color:var(--geb-secondary)}.geb-testimonial strong,.geb-testimonial span{display:block}.geb-testimonial span{color:var(--geb-muted);font-size:13px}.geb-agent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.geb-agent-card{background:#fff;border-radius:var(--geb-radius);overflow:hidden;box-shadow:var(--geb-shadow)}.geb-agent-card img{width:100%;aspect-ratio:1/1;object-fit:cover}.geb-agent-card>div{padding:25px}.geb-agent-card h3{font-family:var(--geb-heading);font-size:27px;margin:0}.geb-agent-card p{color:var(--geb-muted)}.geb-faq-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:70px}.geb-faq-list details{border-bottom:1px solid rgba(11,31,42,.14);padding:20px 0}.geb-faq-list summary{font-weight:800;color:var(--geb-secondary);cursor:pointer;list-style:none;padding-right:30px;position:relative}.geb-faq-list summary:after{content:"+";position:absolute;right:0;font-size:25px;color:var(--geb-primary)}.geb-faq-list details[open] summary:after{content:"−"}.geb-faq-list details div{padding-top:12px;color:var(--geb-muted)}.geb-contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:45px}.geb-contact-info,.geb-contact-form{padding:38px;background:#fff;border-radius:var(--geb-radius);box-shadow:var(--geb-shadow)}.geb-contact-points a{display:block;color:var(--geb-secondary);text-decoration:none;padding:10px 0;border-bottom:1px solid #e9eded;font-weight:700}.geb-contact-form label,.geb-booking-form label{display:block}.geb-contact-form label>span,.geb-booking-form label>span{display:block;font-size:12px;font-weight:800;color:var(--geb-secondary);margin-bottom:7px;text-transform:uppercase;letter-spacing:.07em}.geb-contact-form input,.geb-contact-form textarea,.geb-contact-form select,.geb-booking-form input,.geb-booking-form textarea,.geb-booking-form select{width:100%;border:1px solid #dbe1e3;border-radius:12px;padding:13px 14px;background:#fff;color:var(--geb-text);font:inherit;box-shadow:none}.geb-contact-form input:focus,.geb-contact-form textarea:focus,.geb-booking-form input:focus,.geb-booking-form textarea:focus,.geb-booking-form select:focus{outline:2px solid color-mix(in srgb,var(--geb-primary) 35%,transparent);border-color:var(--geb-primary)}.geb-form-row,.geb-booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.geb-consent{display:flex!important;align-items:flex-start;gap:10px;font-size:13px;color:var(--geb-muted)}.geb-consent input{width:auto!important;margin-top:4px}.geb-form-response,.geb-form-message{min-height:24px;margin:10px 0;color:var(--geb-secondary)}.geb-cta{padding:90px 0;background:var(--geb-secondary);color:#fff}.geb-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.geb-cta h2{font-size:clamp(38px,5vw,68px);color:#fff}.geb-cta p{color:rgba(255,255,255,.7);font-size:18px}.geb-geo .geb-prose,.geb-legal .geb-prose{max-width:880px}.geb-prose h2,.geb-prose h3{font-family:var(--geb-heading);color:var(--geb-secondary)}.geb-prose p,.geb-prose li{color:var(--geb-muted)}.geb-text-link{display:inline-flex;gap:8px;align-items:center;color:var(--geb-primary);font-weight:800;text-decoration:none}.geb-empty{padding:30px;border:1px dashed rgba(11,31,42,.25);border-radius:var(--geb-radius);text-align:center;color:var(--geb-muted)}
/* Booking OS */
.geb-booking-card{max-width:600px;margin:45px auto;padding:28px;background:#fff;border-radius:var(--geb-radius);box-shadow:var(--geb-shadow);border:1px solid rgba(11,31,42,.08)}.geb-booking-card__head{display:flex;justify-content:space-between;align-items:start;gap:20px;padding-bottom:20px;border-bottom:1px solid #e9eded}.geb-booking-card h3{font-family:var(--geb-heading);font-size:31px;margin:0;color:var(--geb-secondary)}.geb-booking-card h3 small{font:500 13px var(--geb-body);color:var(--geb-muted)}.geb-secure-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#21825c;background:#eaf8f1;padding:8px 11px;border-radius:999px;font-weight:750}.geb-booking-form{display:grid;gap:16px;padding-top:22px}.geb-booking-grid--dates{border:1px solid #dbe1e3;border-radius:14px;overflow:hidden;gap:0}.geb-booking-grid--dates label{padding:11px 14px}.geb-booking-grid--dates label+label{border-left:1px solid #dbe1e3}.geb-booking-grid--dates input{border:0;padding:0;border-radius:0}.geb-booking-form .geb-btn{width:100%}.geb-booking-form .geb-quote{font-family:var(--geb-body);font-size:14px;margin:0;background:var(--geb-surface);border-radius:14px;padding:17px}.geb-quote-row{display:flex;justify-content:space-between;gap:20px;padding:6px 0}.geb-quote-row--total{border-top:1px solid rgba(11,31,42,.15);margin-top:7px;padding-top:12px;font-size:17px}.geb-booking-guest{display:grid;gap:14px}.geb-booking-note{font-size:12px;color:var(--geb-muted);text-align:center;margin:0}.geb-form-message.is-error{color:#b42318}.geb-form-message.is-success{color:#21825c}
/* Portals */
.geb-dashboard-shell{width:min(1120px,calc(100% - 36px));margin:55px auto;padding:34px;background:var(--geb-surface);border-radius:calc(var(--geb-radius) + 8px)}.geb-dashboard-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.geb-dashboard-head h2{font-family:var(--geb-heading);font-size:44px;color:var(--geb-secondary);margin:0}.geb-dashboard-count{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--geb-secondary);color:#fff;font-weight:900}.geb-booking-list{display:grid;gap:14px}.geb-booking-row{display:grid;grid-template-columns:150px 1fr auto;gap:22px;align-items:center;background:#fff;border-radius:18px;padding:15px;box-shadow:0 10px 30px rgba(11,31,42,.06)}.geb-booking-row img{width:150px;height:105px;object-fit:cover;border-radius:13px}.geb-booking-row h3{font-family:var(--geb-heading);font-size:24px;margin:4px 0}.geb-booking-row h3 a{color:var(--geb-secondary);text-decoration:none}.geb-booking-row p,.geb-booking-row small{margin:0;color:var(--geb-muted)}.geb-booking-row__price{text-align:right}.geb-booking-row__price strong,.geb-booking-row__price span{display:block}.geb-status{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef1f2;color:#475467;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.geb-status--confirmed,.geb-status--paid,.geb-status--completed,.geb-status--success{background:#e7f8ef;color:#18794e}.geb-status--pending,.geb-status--never{background:#fff4d8;color:#8c5e00}.geb-status--cancelled,.geb-status--declined,.geb-status--error{background:#feeceb;color:#b42318}.geb-confirmation{width:min(700px,calc(100% - 36px));margin:70px auto;text-align:center;padding:55px;background:#fff;border-radius:28px;box-shadow:var(--geb-shadow)}.geb-confirmation__icon{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#e7f8ef;color:#18794e;margin:0 auto 25px}.geb-confirmation__icon svg{width:36px}.geb-confirmation h1{font-size:48px}.geb-confirmation__total{display:flex;align-items:center;justify-content:space-between;background:var(--geb-surface);padding:18px 22px;border-radius:14px;margin:25px 0}.geb-confirmation__total strong{font-size:24px;color:var(--geb-secondary)}
@media(max-width:1000px){.geb-property-grid,.geb-location-grid,.geb-agent-grid{grid-template-columns:repeat(2,1fr)}.geb-service-grid{grid-template-columns:repeat(2,1fr)}.geb-section-header,.geb-story-grid,.geb-faq-grid,.geb-contact-grid{grid-template-columns:1fr}.geb-story-media{min-height:420px}.geb-stats-grid,.geb-process-grid{grid-template-columns:repeat(2,1fr)}.geb-cta-inner{display:block}.geb-fallback-search{grid-template-columns:1fr 1fr}.geb-fallback-search button{min-height:50px}.geb-trust-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.geb-shell{width:min(100% - 24px,1220px)}.geb-section{padding:65px 0}.geb-hero{min-height:680px}.geb-hero-inner{padding:120px 0 60px}.geb-hero h1{font-size:49px}.geb-page-hero{padding:110px 0 65px}.geb-page-hero h1{font-size:45px}.geb-section-header{gap:16px}.geb-section-header h2{font-size:38px}.geb-property-grid,.geb-location-grid,.geb-agent-grid,.geb-service-grid,.geb-testimonial-grid,.geb-stats-grid,.geb-process-grid,.geb-trust-grid{grid-template-columns:1fr}.geb-fallback-search{grid-template-columns:1fr}.geb-fallback-search label{border-right:0;border-bottom:1px solid #e7e9e9}.geb-story-grid{gap:35px}.geb-story-media{min-height:340px}.geb-stat,.geb-trust-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.geb-form-row,.geb-booking-grid{grid-template-columns:1fr}.geb-booking-grid--dates label+label{border-left:0;border-top:1px solid #dbe1e3}.geb-booking-card{margin:25px 12px;padding:21px}.geb-booking-card__head{display:block}.geb-secure-badge{margin-top:12px}.geb-dashboard-shell{padding:20px}.geb-dashboard-head h2{font-size:34px}.geb-booking-row{grid-template-columns:1fr}.geb-booking-row img{width:100%;height:190px}.geb-booking-row__price{text-align:left}.geb-confirmation{padding:35px 22px}.geb-confirmation h1{font-size:38px}}
/* Runtime alignment fixes */
.geb-hero{background-image:var(--geb-hero-image)}
.geb-fallback-search{grid-template-columns:1fr auto}
.geb-search-label{display:flex;align-items:center;gap:9px;margin-bottom:9px;color:rgba(255,255,255,.72);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.geb-search-label>span{width:34px;height:1px;background:var(--geb-primary)}
.geb-location-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.geb-location-card:hover>img{transform:scale(1.05)}.geb-location-copy strong,.geb-location-copy small{display:block}.geb-location-copy strong{font-family:var(--geb-heading);font-size:32px;color:#fff;line-height:1.1}.geb-location-copy small{color:rgba(255,255,255,.72);margin-top:8px}
.geb-story-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}.geb-story-mark{z-index:2}
.geb-trust-item>svg{width:25px;height:25px;color:var(--geb-primary);flex:none}.geb-trust-item:before{display:none}
.geb-agent-card h3 a{color:var(--geb-secondary);text-decoration:none}.geb-agent-card .geb-text-link svg,.geb-text-link svg{width:18px;height:18px}
@media(max-width:1000px){.geb-fallback-search{grid-template-columns:1fr auto}}
@media(max-width:680px){.geb-fallback-search{grid-template-columns:1fr}.geb-fallback-search button{min-height:50px}}

.geb-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
