@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff")}@font-face{font-family:Oswald;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/oswald-latin-400-normal-BAFo8sP8.woff2) format("woff2"),url(/assets/oswald-latin-400-normal-D1wpMXgf.woff) format("woff")}@font-face{font-family:Oswald;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/oswald-latin-500-normal-B-eyT0Dw.woff2) format("woff2"),url(/assets/oswald-latin-500-normal-DM85Di4w.woff) format("woff")}@font-face{font-family:Oswald;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/oswald-latin-600-normal-plFmSr5g.woff2) format("woff2"),url(/assets/oswald-latin-600-normal-DRToI_2E.woff) format("woff")}@font-face{font-family:Oswald;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/oswald-latin-700-normal-vy6hmKSr.woff2) format("woff2"),url(/assets/oswald-latin-700-normal-UmC9Ev9x.woff) format("woff")}:root{display:block;width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);--bg: #0a0a0a;--bg-elev: #141414;--bg-section: #0f0f0f;--gold: #c9a24a;--gold-hover: #dab559;--gold-soft: color-mix(in srgb, var(--gold) 18%, transparent);--text: #f5efe2;--text-dim: #b8b5ad;--text-muted: #8a857c;--border: color-mix(in srgb, var(--gold) 22%, transparent);--shadow: 0 30px 80px -20px rgba(0, 0, 0, .7);--font-display: "Oswald", "Univers Condensed", Impact, "Arial Narrow", sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--maxw: 1280px;--gutter: clamp(20px, 4vw, 56px);--section-y: clamp(72px, 10vw, 140px);background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg)}button,input,textarea{font:inherit}*{box-sizing:border-box}.dg-site{margin:0;padding:0;width:100%;min-height:100%;background:var(--bg);color:var(--text);overflow:hidden}img,video,svg{max-width:100%;display:block}a{color:var(--gold);text-decoration:none;transition:color .16s ease}a:hover{color:var(--gold-hover)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;color:var(--text);letter-spacing:.01em;line-height:1.05;margin:0 0 .4em;text-transform:uppercase}h1{font-size:clamp(2.6rem,6vw,5.4rem);letter-spacing:0}h2{font-size:clamp(2rem,4.2vw,3.4rem)}h3{font-size:clamp(1.15rem,1.8vw,1.5rem);letter-spacing:.02em}p{margin:0 0 1em;color:var(--text-dim)}.container{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}.section{padding:var(--section-y) 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.95rem 1.6rem;border-radius:4px;font-family:var(--font-body);font-size:.95rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:1.5px solid transparent;transition:transform .16s ease,background .16s ease,color .16s ease,border-color .16s ease}.btn-primary{background:var(--gold);color:#0a0a0a;border-color:var(--gold)}.btn-primary:hover{background:var(--gold-hover);border-color:var(--gold-hover);color:#0a0a0a;transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--gold);border-color:var(--gold)}.btn-ghost:hover{background:var(--gold-soft);color:var(--gold-hover)}.btn-lg{padding:1.15rem 2.2rem;font-size:1.05rem}::selection{background:var(--gold);color:#0a0a0a}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.header{position:sticky;top:0;z-index:50;background:#0a0a0ad9;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-top:1.1rem;padding-bottom:1.1rem}.logo{display:flex;align-items:center;gap:.75rem;color:var(--gold)}.logo-img{height:72px;width:auto;display:block;filter:drop-shadow(0 2px 12px rgba(201,162,74,.18))}.nav{display:flex;align-items:center;gap:clamp(1.5rem,3vw,2.6rem);flex:1;justify-content:center}.nav-link{color:var(--text);font-size:.9rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;padding:.4rem 0;position:relative}.nav-link:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left center;transition:transform .2s ease}.nav-link:hover{color:var(--gold)}.nav-link:hover:after{transform:scaleX(1)}.header-cta{padding:.7rem 1.3rem;font-size:.85rem}.menu-toggle{display:none;background:transparent;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:8px}.menu-toggle span{display:block;width:24px;height:2px;background:var(--gold)}.mobile-menu{display:none;flex-direction:column;gap:.4rem;padding:1rem var(--gutter) 1.6rem;border-top:1px solid var(--border)}.mobile-menu.open{display:flex}.mobile-nav-link{color:var(--text);font-size:1rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;padding:.85rem 0;border-bottom:1px solid rgba(255,255,255,.04)}.mobile-cta{margin-top:.6rem;width:100%}.hero{position:relative;min-height:min(86svh,720px);display:flex;align-items:center;overflow:hidden;padding:clamp(80px,11vw,140px) 0 clamp(60px,8vw,110px);isolation:isolate}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:url(/media/hero-poster.jpg) center / cover no-repeat}.hero-video{width:100%;height:100%;object-fit:cover;filter:contrast(1.08) brightness(1.05) saturate(1.05)}.hero-tint{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0a0a0a2e,#0a0a0a8c)}.hero-content{max-width:880px;position:relative;text-align:center;text-shadow:0 2px 24px rgba(0,0,0,.7)}.hero h1{font-size:clamp(2.4rem,5.4vw,4.6rem);line-height:1.05;margin-bottom:1.4rem;text-wrap:balance;text-shadow:0 4px 30px rgba(0,0,0,.85)}.hero-sub{font-size:clamp(1.05rem,1.6vw,1.3rem);color:var(--text);opacity:.92;max-width:640px;margin:0 auto .8rem;line-height:1.55}.hero-micro{font-size:.92rem;color:var(--text-dim);letter-spacing:.04em;margin-bottom:2.4rem}.hero-actions{display:flex;align-items:center;justify-content:center;gap:2rem;flex-wrap:wrap}.hero-phone{color:var(--text);display:inline-flex;flex-direction:column;line-height:1.2}.hero-phone span{color:var(--text-muted);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:.25rem}.hero-phone strong{font-size:1.1rem;color:var(--text);font-weight:600;border-bottom:1px solid var(--gold);padding-bottom:2px}.hero-phone:hover strong{color:var(--gold)}.services{background:var(--bg)}.services-head,.process-head,.quote-head,.faq-head{text-align:center;max-width:720px;margin:0 auto clamp(50px,7vw,80px)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,2.5vw,2.4rem)}.service-card{background:var(--bg-elev);border:1px solid rgba(255,255,255,.05);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}.service-card:hover{transform:translateY(-6px);border-color:var(--border);box-shadow:var(--shadow)}.card-media{aspect-ratio:4 / 3;overflow:hidden;background:#0a0a0a;position:relative}.card-media picture,.real-build-media picture,.about-media picture{display:block;width:100%;height:100%}.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;filter:contrast(1.04) saturate(.94)}.service-card:hover .card-media img{transform:scale(1.06)}.card-body{padding:1.6rem 1.5rem 1.8rem}.card-body h3{font-size:1.35rem;margin-bottom:.5rem}.card-body p{font-size:.95rem;margin:0}.process{background:var(--bg);position:relative}.process-head{max-width:640px}.lead{color:var(--text-dim);font-size:1.05rem;margin:0}.process-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.5rem,2.5vw,2.4rem);position:relative}.process-steps:before{content:"";position:absolute;top:30px;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent 0%,var(--gold) 15%,var(--gold) 85%,transparent 100%);opacity:.4;z-index:0}.step{position:relative;display:flex;flex-direction:column;align-items:flex-start;z-index:1}.step-num{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:var(--bg-elev);border:1.5px solid var(--gold);color:var(--gold);font-family:var(--font-display);font-size:1.1rem;font-weight:700;letter-spacing:.05em;margin-bottom:1.4rem;flex-shrink:0;box-shadow:0 0 0 6px var(--bg)}.step-body h3{font-size:1.25rem;margin:0 0 .5rem}.step-body p{font-size:.95rem;color:var(--text-dim);margin:0;line-height:1.55}.real-build{background:var(--bg);position:relative}.real-build-inner,.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,6vw,5rem);align-items:center}.real-build-copy h2,.about-copy h2{margin-bottom:1.4rem}.real-build-copy .lead,.about-copy .lead{font-size:1.1rem;color:var(--text-dim);max-width:540px;margin-bottom:2rem}.real-build-list,.reasons{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.85rem}.real-build-list li,.reasons li{position:relative;padding-left:1.8rem;color:var(--text);font-size:1rem;line-height:1.4}.real-build-list li:before,.reasons li:before{content:"";position:absolute;left:0;top:.45em;width:14px;height:8px;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg)}.real-build-media img{display:block;width:100%;height:auto;object-fit:contain;border-radius:4px;filter:contrast(1.04) saturate(.95)}.about{background:var(--bg-section);position:relative}.about-media{position:relative}.about-media picture{height:clamp(380px,34vw,520px);overflow:hidden;border-radius:4px}.about-media img{width:100%;height:100%;object-fit:cover;filter:contrast(1.05) saturate(.9)}.about-media-frame{position:absolute;top:-16px;right:-16px;bottom:-16px;left:-16px;border:1px solid var(--gold);border-radius:4px;transform:translate(20px,20px);z-index:-1;opacity:.6}.faq{background:var(--bg-section)}.faq-head{max-width:640px;margin-bottom:clamp(40px,6vw,70px)}.faq-list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:.6rem}.faq-item{background:var(--bg-elev);border:1px solid rgba(255,255,255,.05);border-radius:6px;overflow:hidden;transition:border-color .2s ease}.faq-item[open]{border-color:var(--border)}.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.2rem 1.5rem;font-family:var(--font-body);font-size:1.02rem;font-weight:600;color:var(--text);cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:hover .q-text{color:var(--gold)}.q-icon{color:var(--gold);display:inline-flex;transition:transform .32s cubic-bezier(.4,0,.2,1);flex-shrink:0}.q-icon svg{width:20px;height:20px}.faq-item[open] .q-icon{transform:rotate(180deg)}.answer{overflow:hidden;transition:max-height .32s cubic-bezier(.4,0,.2,1);color:var(--text-dim);font-size:.98rem;line-height:1.6}.answer-inner{padding:0 1.5rem 1.3rem;max-width:720px}.quote{background:linear-gradient(180deg,var(--bg-section) 0%,var(--bg) 100%);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.quote-head{margin-bottom:clamp(40px,6vw,70px)}.quote-head .lead{color:var(--text-dim);font-size:1.08rem;margin:0}.quote-form{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:1.2rem}.row{display:grid;gap:1.2rem}.row.two{grid-template-columns:1fr 1fr}.field{display:flex;flex-direction:column;gap:.45rem}.field>span{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);font-weight:600}.field em{color:var(--gold);font-style:normal;margin-left:.2rem}.field em.optional{color:var(--text-muted);text-transform:none;letter-spacing:.05em;font-size:.7rem}.field input,.field textarea,.field select{background:var(--bg-elev);border:1px solid rgba(255,255,255,.08);color:var(--text);padding:.95rem 1.1rem;font-family:inherit;font-size:1rem;border-radius:4px;transition:border-color .16s ease,background .16s ease}.field select{min-height:52px}.field input::placeholder,.field textarea::placeholder{color:var(--text-muted)}.field input:focus,.field textarea:focus{outline:none;border-color:var(--gold);background:#181818}.field textarea{resize:vertical;min-height:110px}.file-field input[type=file]{padding:.7rem;color:var(--text-dim);font-size:.9rem}.file-helper{font-size:.78rem!important;color:var(--text-muted)!important;letter-spacing:0!important;text-transform:none!important;font-weight:400!important;margin-top:.25rem}.form-actions{display:flex;flex-direction:column;align-items:center;gap:.6rem;margin-top:.6rem}.submit{width:100%;max-width:420px}.form-divider{text-align:center;position:relative;color:var(--text-muted);font-size:.85rem;margin:1.4rem 0 .6rem;letter-spacing:.2em;text-transform:uppercase}.form-divider:before,.form-divider:after{content:"";position:absolute;top:50%;width:30%;height:1px;background:var(--border)}.form-divider:before{left:0}.form-divider:after{right:0}#bookConsultBtn{align-self:center;max-width:420px;width:100%}.form-status{text-align:center;font-size:.95rem;margin-top:.4rem;min-height:1.3em;color:var(--text-dim)}.form-trap{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}.submit:disabled{cursor:wait;opacity:.72;transform:none}.form-status.sending{color:var(--gold)}.form-status.success{color:#8fcf8f}.form-status.error{color:#f3a3a3}.area{background:var(--bg-section)}.area-map{position:relative;border-radius:4px;overflow:hidden;border:1px solid var(--border);aspect-ratio:21 / 9;filter:contrast(1.02) saturate(.6)}.area-map iframe{width:100%;height:100%;border:0}.area-caption{text-align:center;margin-top:1.4rem;color:var(--text);font-size:1.05rem}.legal{background:var(--bg-section);border-top:1px solid var(--border);border-bottom:1px solid rgba(255,255,255,.05)}.dg-site.legal-only #home,.dg-site.legal-only #services,.dg-site.legal-only #process,.dg-site.legal-only #real-build,.dg-site.legal-only #about,.dg-site.legal-only #faq,.dg-site.legal-only #quote,.dg-site.legal-only #area{display:none}.legal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.4rem,3vw,2.8rem)}.legal-page{padding-top:clamp(112px,14vw,170px);min-height:65vh}.legal-page .legal-grid{grid-template-columns:minmax(0,900px);justify-content:center}.legal-panel{background:#ffffff06;border:1px solid rgba(255,255,255,.06);border-radius:6px;padding:clamp(1.4rem,3vw,2.2rem)}.legal-panel h2{font-family:Arial Narrow,Impact,sans-serif;text-transform:uppercase;font-size:clamp(1.7rem,3vw,2.4rem);line-height:.95;margin-bottom:1.1rem}.legal-copy p{color:var(--text-dim);font-size:.92rem;line-height:1.75;margin:0 0 1rem}.legal-copy p:last-child{margin-bottom:0}.legal-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483647;display:none;align-items:center;justify-content:center;padding:clamp(16px,4vw,40px)}.legal-modal.open{display:flex}.legal-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000c7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.legal-modal-dialog{position:relative;z-index:1;width:min(920px,calc(100vw - 32px));max-height:min(780px,calc(100vh - 32px));overflow:auto;background:#101010;border:1px solid var(--border);border-radius:8px;box-shadow:0 34px 100px #000000b8;padding:clamp(1.4rem,4vw,2.6rem)}.legal-modal-dialog h2{padding-right:3rem;margin-bottom:1.2rem}.legal-modal-close{position:absolute;top:1rem;right:1rem;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#ffffff0f;color:var(--text);font-size:1.6rem;line-height:1;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}.legal-modal-close:hover,.legal-modal-close:focus-visible{background:var(--gold);border-color:var(--gold);color:#111;outline:none}.legal-modal-copy{padding-right:.2rem}.footer{background:var(--bg);border-top:1px solid var(--border);padding:clamp(50px,8vw,90px) 0 clamp(36px,4vw,50px)}.footer-inner{display:flex;flex-direction:column;align-items:center;gap:1.6rem;text-align:center}.footer-logo{display:inline-flex;align-items:center;gap:.7rem}.footer-logo-img{height:100px;width:auto;display:block}.footer-contact,.footer-meta{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:.7rem;color:var(--text-dim);font-size:.92rem}.footer-contact a{color:var(--text);border-bottom:1px solid transparent}.footer-contact a:hover{color:var(--gold);border-color:var(--gold)}.footer-meta{font-size:.8rem;color:var(--text-muted);letter-spacing:.06em}.footer-meta a{color:var(--text-muted)}.footer-meta a:hover{color:var(--gold)}.sep{color:var(--text-muted);opacity:.5}@media(max-width:880px){.logo-img{height:56px}.nav,.header-cta{display:none}.menu-toggle{display:flex}.services-grid,.process-steps{grid-template-columns:repeat(2,1fr)}.process-steps{gap:2.4rem 1.6rem}.legal-grid{grid-template-columns:1fr}.process-steps:before{display:none}.real-build-inner,.about-inner{grid-template-columns:1fr}.real-build-media{order:-1}.about-media picture{height:clamp(300px,62vw,440px)}.area-map{aspect-ratio:4 / 3}}@media(max-width:640px){.hero-actions{gap:1.4rem}.row.two{grid-template-columns:1fr}}.admin-shell{min-height:100vh;padding:clamp(1.25rem,4vw,3.5rem);background:var(--bg);color:var(--text)}.admin-login-shell{display:grid;place-items:center}.admin-login{width:min(100%,430px);padding:clamp(1.5rem,5vw,2.75rem);background:var(--bg-section);border:1px solid var(--border)}.admin-login img{width:110px;height:75px;object-fit:contain;margin-bottom:1rem}.admin-login h1,.admin-header h1{margin:0 0 .5rem}.admin-login>p,.admin-header p,.admin-card p{color:var(--text-muted)}.admin-login .field{margin:1.5rem 0 1rem}.admin-login .btn{width:100%}.admin-header{max-width:1400px;margin:0 auto 2rem;display:flex;justify-content:space-between;align-items:flex-end;gap:1rem}.admin-header p{margin:0}.admin-card{max-width:1400px;margin:0 auto 1.5rem;padding:clamp(1.1rem,3vw,2rem);background:var(--bg-section);border:1px solid var(--border)}.admin-card h2{margin:0 0 .25rem;font-size:1.55rem}.admin-card-heading{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1.2rem}.admin-card-heading p,.admin-block-form>p{margin:0}.admin-refresh,.admin-actions button,.admin-block-list button{padding:.55rem .75rem;background:transparent;border:1px solid var(--border);color:var(--text);cursor:pointer}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;min-width:920px}.admin-table th,.admin-table td{padding:.9rem .75rem;text-align:left;vertical-align:top;border-top:1px solid var(--border)}.admin-table th{color:var(--text-muted);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.admin-table td strong,.admin-table td span,.admin-table td a,.admin-table td small{display:block}.admin-table td a{color:var(--gold)}.admin-table td small{max-width:300px;margin-top:.35rem;color:var(--text-muted)}.admin-status{display:inline-block!important;padding:.25rem .55rem;border-radius:99px;background:#ffffff14;text-transform:capitalize}.admin-status.confirmed{color:#82d9a6}.admin-status.completed{color:#9ec8ff}.admin-status.cancelled{color:#e38f8f}.admin-actions{display:flex;gap:.45rem}.admin-actions .danger{color:#e38f8f}.admin-grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:minmax(300px,.75fr) minmax(360px,1.25fr);gap:1.5rem}.admin-grid .admin-card{width:100%;margin:0}.admin-block-form{display:flex;flex-direction:column;gap:1rem}.admin-block-list>div{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--border)}.admin-block-list small{display:block;color:var(--text-muted);margin-top:.2rem}.admin-message{max-width:1400px;margin:0 auto 1rem;color:var(--gold)}.admin-empty{color:var(--text-muted);text-align:center!important;padding:2rem!important}@media(max-width:800px){.admin-grid{grid-template-columns:1fr}.admin-header{align-items:flex-start}}@media(max-width:540px){.services-grid,.process-steps{grid-template-columns:1fr}}.booking-page{background:var(--bg);min-height:70vh}.booking-hero{padding-top:clamp(64px,8vw,110px);padding-bottom:clamp(44px,6vw,76px);background:linear-gradient(110deg,#0a0a0aeb,#0a0a0ab3),url(/media/hero-poster.jpg) center 42% / cover no-repeat;border-bottom:1px solid var(--border)}.booking-heading{max-width:880px;text-align:center}.booking-heading h1{font-size:clamp(2.65rem,5vw,4.7rem);margin:.3rem 0 1rem}.booking-heading .lead{max-width:680px;margin:0 auto;font-size:clamp(1rem,1.6vw,1.2rem)}.booking-eyebrow{color:var(--gold);font-size:.82rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.booking-section{padding-top:clamp(50px,7vw,90px)}.booking-layout{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(0,1.55fr);gap:clamp(1.5rem,4vw,4rem);align-items:start}.booking-summary,.booking-form{background:var(--bg-section);border:1px solid var(--border);border-radius:4px}.booking-summary{position:sticky;top:110px;padding:clamp(1.5rem,3vw,2.4rem)}.booking-logo{width:94px;height:68px;object-fit:contain;margin-bottom:1.5rem}.booking-summary h2{font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:.8rem}.booking-summary>p{font-size:.97rem;margin-bottom:1.8rem}.booking-fact{display:flex;align-items:center;gap:.75rem;padding:.8rem 0;border-top:1px solid rgba(255,255,255,.06);color:var(--text);font-size:.92rem}.booking-fact svg{width:20px;height:20px;color:var(--gold);flex:0 0 auto}.booking-back{display:inline-block;margin-top:1.7rem;font-size:.88rem;border-bottom:1px solid var(--gold)}.booking-form{padding:clamp(1.3rem,3.4vw,3rem)}.booking-step+.booking-step{margin-top:2.6rem;padding-top:2.6rem;border-top:1px solid rgba(255,255,255,.08)}.booking-step-head{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.4rem}.booking-step-head>span{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font-family:var(--font-display);font-weight:700}.booking-step-head h2{font-size:clamp(1.5rem,2.4vw,2rem);margin:0 0 .25rem}.booking-step-head p{margin:0;font-size:.92rem}.booking-details{display:flex;flex-direction:column;gap:1.2rem}.booking-details .booking-step-head{margin-bottom:.2rem}.calendar-card{border:1px solid rgba(255,255,255,.09);background:var(--bg);border-radius:4px;padding:clamp(.85rem,2vw,1.4rem)}.calendar-toolbar{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:.7rem;margin-bottom:1rem}.calendar-toolbar strong{text-align:center;color:var(--text);font-size:1rem}.calendar-toolbar button{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--border);border-radius:4px;background:var(--bg-elev);color:var(--gold);cursor:pointer}.calendar-toolbar button:disabled{opacity:.25;cursor:not-allowed}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(.2rem,1vw,.5rem)}.calendar-weekdays{margin-bottom:.45rem}.calendar-weekdays span{text-align:center;color:var(--text-muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.calendar-days button,.calendar-blank{min-height:42px}.calendar-days button{border:1px solid transparent;border-radius:4px;background:var(--bg-elev);color:var(--text);cursor:pointer;font-weight:600;transition:border-color .16s ease,background .16s ease,color .16s ease}.calendar-days button:hover:not(:disabled){border-color:var(--gold);color:var(--gold)}.calendar-days button.selected{background:var(--gold);color:#0a0a0a;border-color:var(--gold)}.calendar-days button:disabled{color:#5f5b54;background:transparent;cursor:not-allowed}.time-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.time-grid button{min-height:48px;padding:.7rem;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text);cursor:pointer;font-weight:600}.time-grid button:hover:not(:disabled),.time-grid button.selected{border-color:var(--gold);color:var(--gold);background:var(--gold-soft)}.time-grid button:disabled{opacity:.38;cursor:not-allowed}.booking-submit{width:100%;margin-top:2rem}.booking-status{min-height:1.5rem;margin-top:1rem;text-align:center;color:var(--text-dim)}.booking-status.success{display:flex;align-items:center;justify-content:center;gap:.55rem;color:#8fcf8f}.booking-status.success svg{width:22px;height:22px}.booking-status.sending{color:var(--gold)}.booking-status.error{color:#f3a3a3}@media(max-width:900px){.booking-layout{grid-template-columns:1fr}.booking-summary{position:static}}@media(max-width:640px){.booking-form{padding:1.15rem}.time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-days button,.calendar-blank{min-height:38px}.calendar-grid{gap:.2rem}}
