:root{--gs-black:#000;--gs-ink:#1b1812;--gs-gold:#c9a24a;--gs-gold-l:#f1d98c;--gs-gold-d:#8c6a1f;--gs-cream:#f7f1e3;--gs-white:#fff;--gs-line:#e2cf9b;--gs-grad:linear-gradient(135deg,#f6e19a 0%,#c9a24a 48%,#8c6a1f 100%);--gs-serif:'Cinzel','Times New Roman',serif;--gs-sans:'Jost','Helvetica Neue',Arial,sans-serif;--gs-script:'Pinyon Script','Brush Script MT',cursive}
.gs-wrap,.gs-wrap *,.gs-panel,.gs-tile{box-sizing:border-box}
.gs-wrap{max-width:1240px;margin:0 auto;padding:0 20px;font-family:var(--gs-sans);color:var(--gs-ink);font-size:16px;line-height:1.6}
.gs-wrap h1,.gs-wrap h2,.gs-wrap h3{font-family:var(--gs-serif);letter-spacing:.02em;line-height:1.2;margin:0 0 .5em;color:inherit}
.gs-wrap a{color:inherit}
.gs-hp{position:absolute!important;left:-9999px!important;height:0;width:0;opacity:0}
.gs-note{font-size:14px;color:#6c6350;margin:.4em 0}
.gs-empty{padding:40px 0;text-align:center;color:#6c6350}
/* buttons */
.gs-btn,.gs-el-btn .elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border:1.5px solid var(--gs-black);background:var(--gs-black);color:var(--gs-gold-l)!important;font:600 15px/1.2 var(--gs-sans);text-decoration:none!important;border-radius:3px;cursor:pointer;transition:background .2s,color .2s,border-color .2s;min-height:46px}
.gs-btn:hover,.gs-el-btn .elementor-button:hover{background:#2a2412;border-color:#2a2412}
.gs-btn:focus-visible,.gs-el-btn .elementor-button:focus-visible,.gs-wrap input:focus-visible,.gs-wrap select:focus-visible,.gs-wrap textarea:focus-visible,.gs-save:focus-visible{outline:3px solid var(--gs-gold);outline-offset:2px}
.gs-btn-gold,.gs-el-gold .elementor-button{background:var(--gs-grad);border-color:var(--gs-gold-d);color:#1b1305!important}
.gs-btn-gold:hover,.gs-el-gold .elementor-button:hover{background:var(--gs-gold-l);border-color:var(--gs-gold-d)}
.gs-btn-line,.gs-el-line .elementor-button{background:transparent;color:var(--gs-ink)!important;border-color:var(--gs-gold-d)}
.gs-btn-line:hover,.gs-el-line .elementor-button:hover{background:var(--gs-cream);border-color:var(--gs-gold-d)}
.gs-btn-line-l,.gs-el-lightline .elementor-button{background:transparent;color:#fff!important;border-color:var(--gs-gold)}
.gs-btn-line-l:hover,.gs-el-lightline .elementor-button:hover{background:rgba(201,162,74,.2);border-color:var(--gs-gold-l)}
.gs-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.gs-btns-stack{flex-direction:column}.gs-btns-stack .gs-btn{width:100%}
.gs-center{text-align:center}.gs-center .elementor-button-wrapper{text-align:center}
/* hero */
.gs-hero{min-height:84vh;display:flex;align-items:center;background-color:#000;color:#fff;position:relative}
.gs-hero-sm{min-height:0!important;padding:72px 0 56px!important}
.gs-hero-in{width:100%;max-width:1240px;margin:0 auto;padding:60px 20px;display:flex;flex-direction:column;gap:6px}
.gs-hero .gs-script .elementor-heading-title,.gs-script .elementor-heading-title,.gs-script{font-family:var(--gs-script)!important;font-weight:400!important;font-size:clamp(40px,6.5vw,82px)!important;line-height:1!important;background:var(--gs-grad);-webkit-background-clip:text;background-clip:text;color:transparent!important;margin:0}
.gs-h1 .elementor-heading-title{font-family:var(--gs-serif)!important;font-weight:700!important;font-size:clamp(40px,8vw,104px)!important;line-height:1.02!important;color:#fff!important;letter-spacing:.01em;margin:0}
.gs-hero-sm .gs-h1 .elementor-heading-title{font-size:clamp(32px,5vw,56px)!important}
.gs-hero-sm .gs-script .elementor-heading-title{font-size:clamp(30px,4vw,48px)!important}
.gs-lead,.gs-lead p{font:400 clamp(17px,2vw,22px)/1.5 var(--gs-sans)!important;color:#efe6cf!important;max-width:620px;margin:10px 0 0}
.gs-btnrow{display:flex;gap:12px;margin:18px 0 28px}
.gs-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--gs-grad)}
@media(prefers-reduced-motion:no-preference){.gs-hero-in>*{animation:gsrise .8s cubic-bezier(.2,.7,.2,1) both}.gs-hero-in>*:nth-child(2){animation-delay:.12s}.gs-hero-in>*:nth-child(3){animation-delay:.22s}.gs-hero-in>*:nth-child(n+4){animation-delay:.34s}}
@keyframes gsrise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
/* sections */
.gs-section{padding:76px 20px;background:#fff;color:var(--gs-ink)}
.gs-section>.e-con-inner,.gs-section>*{max-width:1240px;margin-left:auto;margin-right:auto;width:100%}
.gs-tight{padding-top:56px;padding-bottom:56px}.gs-cream{background:var(--gs-cream)}.gs-narrow>*{max-width:860px}
.gs-dark{background:#000;color:#fff}.gs-dark .elementor-heading-title{color:#fff!important}
.gs-title .elementor-heading-title{font-family:var(--gs-serif)!important;font-size:clamp(28px,4vw,44px)!important;font-weight:600!important;text-align:center;margin-bottom:6px}
.gs-sub,.gs-sub p{text-align:center;color:#6c6350;margin:0 0 28px}
.gs-section .elementor-heading-title{font-family:var(--gs-serif)}
.gs-panels{display:grid!important;grid-template-columns:1fr 1fr;gap:0;border:1.5px solid var(--gs-gold);border-radius:4px;overflow:hidden}
.gs-panel{padding:44px 40px!important}.gs-panel-dark{background:#000}.gs-panel-dark .elementor-heading-title{color:#fff!important}.gs-panel-dark .gs-script .elementor-heading-title{color:transparent!important}
.gs-panel-dark li{color:#efe6cf}.gs-panel-cream{background:var(--gs-cream)}
.gs-panel h2 .elementor-heading-title,.gs-panel .elementor-widget-heading:first-child .elementor-heading-title{font-size:clamp(26px,3vw,36px)!important}
.gs-panel .gs-script .elementor-heading-title{font-size:34px!important;margin-bottom:14px}
.gs-tiles{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:24px}
.gs-tile{border:1.5px solid var(--gs-line);padding:28px 24px!important;background:#fff;border-radius:4px}
.gs-dark .gs-tile{background:#0d0d0d;border-color:var(--gs-gold-d)}.gs-dark .gs-tile p{color:#d9cfb5}
.gs-tile h3 .elementor-heading-title,.gs-tile .elementor-heading-title{font-size:20px!important;margin-bottom:8px}
.gs-cols{display:grid!important;grid-template-columns:1fr 1fr;gap:36px;align-items:start}
.gs-ticks{list-style:none;margin:0;padding:0;display:grid;gap:8px}.gs-ticks li{position:relative;padding-left:28px}
.gs-ticks li::before{content:"";position:absolute;left:2px;top:.45em;width:9px;height:15px;border:solid var(--gs-gold-d);border-width:0 2.5px 2.5px 0;transform:rotate(40deg) scale(.8)}
.gs-sec .gs-ticks{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
/* filters + cards */
.gs-filters{background:var(--gs-cream);border:1.5px solid var(--gs-line);border-radius:4px;padding:22px;margin-bottom:26px}
.gs-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}
.gs-filter-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.gs-wrap label>span{display:block;font-size:14px;font-weight:600;margin-bottom:4px}
.gs-wrap input[type=text],.gs-wrap input[type=search],.gs-wrap input[type=number],.gs-wrap input[type=email],.gs-wrap input[type=tel],.gs-wrap input[type=date],.gs-wrap input[type=url],.gs-wrap input[type=password],.gs-wrap input:not([type]),.gs-wrap select,.gs-wrap textarea,.gs-wrap input[type=file]{width:100%;padding:11px 12px;border:1.5px solid #cdbb85;border-radius:3px;background:#fff;font:400 16px var(--gs-sans);color:var(--gs-ink);min-height:46px}
.gs-wrap textarea{min-height:100px}
.gs-count{color:#6c6350;margin:0 0 14px}
.gs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:26px}
.gs-card{position:relative;background:#fff;border:1.5px solid var(--gs-line);border-radius:4px;overflow:hidden;display:flex;flex-direction:column}
.gs-card-img{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#111}
.gs-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.gs-card:hover .gs-card-img img{transform:scale(1.04)}
.gs-badge{position:absolute;top:12px;left:12px;background:var(--gs-grad);color:#1b1305;font:600 12px var(--gs-sans);padding:5px 10px;border-radius:2px}
.gs-badge.is-dim{background:#000;color:var(--gs-gold-l)}.gs-badge-r{left:auto;right:12px;background:#000;color:var(--gs-gold-l)}
.gs-single-top .gs-badge,.gs-summary .gs-badge{position:static;display:inline-block;margin-bottom:10px}
.gs-card-body{padding:18px;display:flex;flex-direction:column;flex:1}
.gs-card h3{font-size:19px;margin:0 0 8px}.gs-card h3 a{text-decoration:none}
.gs-specs{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:14px;color:#4b4433}
.gs-specs li+li::before{content:"";display:inline-block;width:4px;height:4px;background:var(--gs-gold);border-radius:50%;margin-right:14px;vertical-align:middle}
.gs-loc{margin:0 0 6px;color:#6c6350;font-size:14px}.gs-fin{margin:0 0 6px;font-size:14px;color:var(--gs-gold-d)}
.gs-price{font:700 22px var(--gs-serif);margin:6px 0 4px;color:var(--gs-ink)}.gs-price-lg{font-size:32px}
.gs-card .gs-btns{margin-top:auto;padding-top:12px;display:grid;grid-template-columns:1fr 1fr}
.gs-card .gs-btn{min-height:42px;padding:9px 10px;font-size:14px}.gs-card .gs-btns .gs-btn:first-child{grid-column:1/-1}
.gs-save{position:absolute;top:10px;right:10px;z-index:2;width:42px;height:42px;border-radius:50%;border:1.5px solid var(--gs-gold);background:rgba(0,0,0,.72);cursor:pointer;display:grid;place-items:center;padding:0}
.gs-card .gs-save{top:12px;right:12px}
.gs-card-img .gs-badge-r{top:56px}
.gs-save svg{fill:none;stroke:var(--gs-gold-l);stroke-width:1.8}.gs-save.is-on svg{fill:var(--gs-gold);stroke:var(--gs-gold)}
.gs-summary .gs-save{position:static;margin-top:14px;width:auto;border-radius:3px;padding:0 14px;height:44px;background:#000}
.gs-pager{display:flex;gap:8px;justify-content:center;margin-top:30px}.gs-pager a,.gs-pager span{min-width:42px;height:42px;display:grid;place-items:center;border:1.5px solid var(--gs-line);text-decoration:none;border-radius:3px}.gs-pager .is-cur{background:#000;color:var(--gs-gold-l);border-color:#000}
/* hero search */
.gs-hs{background:rgba(0,0,0,.72);border:1.5px solid var(--gs-gold);border-radius:4px;max-width:900px;padding:18px;backdrop-filter:blur(4px);color:#fff}
.gs-hs-tabs{display:flex;gap:6px;margin-bottom:12px}.gs-hs-tabs button{background:transparent;border:1.5px solid var(--gs-gold-d);color:#efe6cf;padding:9px 20px;font:600 15px var(--gs-sans);cursor:pointer;border-radius:3px}.gs-hs-tabs .is-on{background:var(--gs-grad);color:#1b1305;border-color:var(--gs-gold-d)}
.gs-hs-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;align-items:end}.gs-hs-form[hidden]{display:none}
.gs-hs label span{color:#efe6cf}
/* single */
.gs-single-wrap{padding-top:28px;padding-bottom:70px}.gs-crumbs{font-size:14px;color:#6c6350;margin-bottom:18px}.gs-crumbs a{text-decoration:none}
.gs-single-top{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:34px;align-items:start}
.gs-gal-main{aspect-ratio:4/3;background:#111;border:1.5px solid var(--gs-gold);border-radius:4px;overflow:hidden;cursor:zoom-in}.gs-gal-main img{width:100%;height:100%;object-fit:cover;display:block}
.gs-gal-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;margin-top:10px}
.gs-gal-thumbs button{padding:0;border:2px solid transparent;background:#000;cursor:pointer;aspect-ratio:4/3;border-radius:3px;overflow:hidden}.gs-gal-thumbs button.is-on{border-color:var(--gs-gold)}.gs-gal-thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.gs-summary{position:sticky;top:96px;border:1.5px solid var(--gs-line);border-radius:4px;padding:26px;background:var(--gs-cream)}
.gs-summary h1{font-size:clamp(24px,3vw,32px);margin-bottom:8px}
.gs-keyfacts{list-style:none;margin:16px 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.gs-keyfacts li{background:#fff;border:1px solid var(--gs-line);padding:10px 12px;border-radius:3px;font-weight:600}.gs-keyfacts small{display:block;font-weight:400;color:#6c6350;font-size:12px}
.gs-agent{font-size:14px;margin:16px 0 0}
.gs-sec{margin-top:54px}.gs-sec h2{font-size:clamp(24px,3vw,32px);padding-bottom:10px;border-bottom:2px solid var(--gs-gold);display:inline-block;margin-bottom:20px}
.gs-two-col{display:grid;grid-template-columns:1fr 1fr;gap:36px}.gs-two-col>div>h2{display:inline-block}
.gs-spec-table{width:100%;border-collapse:collapse;max-width:760px}.gs-spec-table th,.gs-spec-table td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--gs-line)}.gs-spec-table th{width:42%;font-weight:600;background:var(--gs-cream)}
.gs-embed{position:relative;aspect-ratio:16/9;margin-bottom:16px;border:1.5px solid var(--gs-gold);border-radius:4px;overflow:hidden}.gs-embed iframe,.gs-embed video{position:absolute;inset:0;width:100%;height:100%;border:0}
.gs-sec>video{width:100%;max-height:560px;background:#000;border-radius:4px}
.gs-plans{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.gs-plans img{width:100%;height:auto;border:1.5px solid var(--gs-line);border-radius:4px}
.gs-cta-band{margin-top:60px;padding:44px 24px;background:#000;color:#fff;text-align:center;border:1.5px solid var(--gs-gold);border-radius:4px}.gs-cta-band h2{color:#fff;border:0;display:block;margin-bottom:6px}.gs-cta-band .gs-btns{justify-content:center}
.gs-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:99999;display:grid;place-items:center;padding:20px;cursor:zoom-out}.gs-lightbox img{max-width:100%;max-height:100%}
.gs-prose p{max-width:75ch}
/* calculator + contact card */
.gs-calc{border:1.5px solid var(--gs-gold);background:var(--gs-cream);padding:26px;border-radius:4px;max-width:760px;margin:0 auto}.gs-calc h3{margin-top:0}
.gs-calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.gs-calc-out{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px;background:#000;color:#fff;padding:18px;border-radius:3px}.gs-calc-out small{display:block;color:var(--gs-gold-l);font-size:13px}.gs-calc-out strong{font:700 20px var(--gs-serif)}
.gs-contact-card{background:#000;color:#fff;border:1.5px solid var(--gs-gold);border-radius:4px;padding:30px;font-family:var(--gs-sans)}
.gs-cc-id{display:flex;align-items:center;gap:16px;margin-bottom:16px}.gs-avatar{width:60px;height:60px;border-radius:50%;background:var(--gs-grad);color:#1b1305;display:grid;place-items:center;font:700 26px var(--gs-serif)}
.gs-contact-card h3{margin:0;color:#fff;font-family:var(--gs-serif);font-size:22px}.gs-contact-card p{margin:0;color:var(--gs-gold-l)}
.gs-cc-list{list-style:none;margin:0;padding:0}.gs-cc-list li{display:flex;gap:14px;padding:10px 0;border-top:1px solid #2b2512}.gs-cc-list span{width:84px;color:var(--gs-gold-l);flex:none}.gs-cc-list a{color:#fff;text-decoration:none;word-break:break-all}.gs-cc-list a:hover{text-decoration:underline}
.gs-socials{display:flex;gap:14px;flex-wrap:wrap}.gs-socials a{text-decoration:none;color:var(--gs-gold-l)}
/* forms */
.gs-formbox{padding-bottom:20px}
.gs-form{display:grid;gap:16px}.gs-form fieldset{border:0;padding:0;margin:0;display:grid;gap:14px}.gs-form legend{font:600 22px var(--gs-serif);margin-bottom:12px;padding:0}
.gs-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.gs-progress{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap}.gs-progress span{flex:1;min-width:70px;padding:8px 6px;text-align:center;font-size:13px;font-weight:600;border-bottom:3px solid var(--gs-line);color:#8b8168}.gs-progress .is-on{border-color:var(--gs-gold-d);color:var(--gs-ink)}.gs-progress .is-done{border-color:var(--gs-gold);color:var(--gs-gold-d)}
.gs-nav{display:flex;justify-content:space-between;gap:10px;margin-top:6px}
.gs-preview img{width:100%;max-width:340px;border:1.5px solid var(--gs-line);border-radius:4px;display:block}
.gs-radios{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.gs-radio{position:relative;display:block;cursor:pointer}.gs-radio input{position:absolute;opacity:0}
.gs-radio>span{display:block;border:1.5px solid #cdbb85;padding:14px 16px;border-radius:3px;background:#fff;font-weight:600}.gs-radio small{display:block;font-weight:400;color:#6c6350;margin-top:3px}
.gs-radio input:checked+span{border-color:var(--gs-gold-d);background:var(--gs-cream);box-shadow:inset 0 0 0 1.5px var(--gs-gold)}
.gs-radio input:focus-visible+span{outline:3px solid var(--gs-gold);outline-offset:2px}
.gs-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}
.gs-slot{padding:12px 6px;border:1.5px solid #cdbb85;background:#fff;border-radius:3px;font:600 15px var(--gs-sans);cursor:pointer}.gs-slot.is-on{background:#000;color:var(--gs-gold-l);border-color:#000}.gs-slot:disabled{opacity:.4;text-decoration:line-through;cursor:not-allowed}
.gs-check{display:flex;gap:10px;align-items:flex-start}.gs-check input{margin-top:5px;width:18px;height:18px}
.is-invalid{border-color:#b3261e!important}.gs-err{color:#b3261e;font-weight:600;margin:0}
.gs-result{margin-top:14px}.gs-confirm{border:1.5px solid var(--gs-gold);background:var(--gs-cream);padding:34px 24px;text-align:center;border-radius:4px}
.gs-confirm h3{font-size:26px}.gs-c-item{font:700 22px var(--gs-serif);margin:6px 0}.gs-confirm p{margin:4px 0}.gs-confirm .gs-btns{justify-content:center}
.gs-tick{width:54px;height:54px;margin:0 auto 12px;border-radius:50%;background:var(--gs-grad);color:#1b1305;display:grid;place-items:center;font-size:28px;font-weight:700}
.gs-about{margin:0}
/* account */
.gs-auth{max-width:520px}.gs-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:2px solid var(--gs-line);margin-bottom:22px}
.gs-tabs button{background:none;border:0;padding:12px 16px;font:600 15px var(--gs-sans);color:#6c6350;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px}.gs-tabs .is-on{color:var(--gs-ink);border-color:var(--gs-gold)}
.gs-acc-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}.gs-acc-head h2{margin:0}.gs-acc-head p{margin:0}
.gs-table{overflow-x:auto}.gs-table table{width:100%;border-collapse:collapse}.gs-table th,.gs-table td{padding:12px;text-align:left;border-bottom:1px solid var(--gs-line)}.gs-table th{background:var(--gs-cream)}
[data-pane][hidden]{display:none!important}
/* responsive */
@media(max-width:900px){.gs-single-top,.gs-two-col,.gs-cols,.gs-panels{grid-template-columns:1fr}.gs-summary{position:static}.gs-panel{padding:30px 22px!important}.gs-section{padding:52px 16px}}
@media(max-width:600px){.gs-two,.gs-calc-grid{grid-template-columns:1fr}.gs-calc-out{grid-template-columns:1fr}.gs-grid{grid-template-columns:1fr}.gs-hero{min-height:78vh}.gs-table table,.gs-table thead,.gs-table tbody,.gs-table tr,.gs-table td{display:block}.gs-table thead{display:none}.gs-table td::before{content:attr(data-l) ": ";font-weight:600}.gs-table tr{border:1px solid var(--gs-line);margin-bottom:10px;padding:6px}.gs-table td{border:0;padding:4px 8px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
