@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@300;400;500;600;700;800&display=swap";
:root{--background:#fff;--foreground:#0f172a;--primary:#ffc815;--primary-dark:#eab308;--secondary:#95d040;--secondary-dark:#84ba38;--muted:#64748b;--border:#eef2f6;--card-bg:#fdfdfe;--glass:#ffffffb3;--dot-color:#cbd5e1;--grid-color:#e2e8f0;--font-sans:"Inter",system-ui,-apple-system,sans-serif;--font-heading:"Outfit",sans-serif}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}html,body{background-color:var(--background);max-width:100vw;color:var(--foreground);font-family:var(--font-sans);scroll-behavior:smooth;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.03em;color:var(--foreground);font-weight:700;line-height:1.1}a{color:inherit;text-decoration:none;transition:all .2s}button{cursor:none;background:0 0;border:none;font-family:inherit}.custom-cursor{background:var(--foreground);pointer-events:none;z-index:9999;mix-blend-mode:difference;border-radius:50%;width:12px;height:12px;transition:width .3s,height .3s,background .3s;position:fixed}.custom-cursor.hover{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid var(--primary);background:#fff3;width:60px;height:60px}.scrolled-down .custom-cursor{background:var(--foreground)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.reveal-stagger>*{opacity:0;animation:.8s cubic-bezier(.165,.84,.44,1) forwards fadeInUp}.reveal-stagger>:first-child{animation-delay:.1s}.reveal-stagger>:nth-child(2){animation-delay:.2s}.reveal-stagger>:nth-child(3){animation-delay:.3s}.reveal-stagger>:nth-child(4){animation-delay:.4s}.project-card{transition:all .5s cubic-bezier(.165,.84,.44,1)}.project-card:hover{transform:translateY(-10px);box-shadow:0 20px 40px -10px #00000026}.project-card:hover .project-img{transform:scale(1.1)}.project-link{border-bottom:2px solid #0000}.project-link:hover{border-color:var(--primary-dark);color:var(--primary-dark)!important}.verticals-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;display:grid}.booking-shell{border:1px solid var(--border);background:#fff;border-radius:8px;width:100%;max-width:980px;margin:0 auto;padding:2rem;box-shadow:0 30px 60px #00000014}.booking-steps{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem;display:grid}.booking-step{border:1px solid var(--border);border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.85rem;font-size:.9rem;font-weight:800;display:flex}.booking-grid{gap:2rem;display:grid}.booking-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.booking-label{color:var(--foreground);margin-bottom:.6rem;font-size:.9rem;font-weight:800;display:block}.booking-input{border:1px solid var(--border);width:100%;font:inherit;color:var(--foreground);background:#fff;border-radius:8px;outline:none;padding:.95rem 1rem}.booking-input:focus{border-color:var(--primary-dark);box-shadow:0 0 0 4px #ffc81529}.booking-helper{color:var(--muted);margin-top:.6rem;font-size:.85rem}.slot-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:.8rem;display:grid}.slot-button{border:1px solid var(--border);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:.45rem;padding:.85rem;font-weight:800;display:inline-flex}.booking-actions{flex-wrap:wrap;justify-content:flex-end;gap:1rem;display:flex}.booking-primary,.booking-secondary{border-radius:8px;justify-content:center;align-items:center;gap:.5rem;min-width:150px;padding:.95rem 1.3rem;font-weight:800;display:inline-flex}.booking-primary{background:var(--foreground);color:#fff}.booking-primary:disabled{opacity:.45;cursor:not-allowed}.booking-secondary{color:var(--foreground);border:1px solid var(--border);background:#fff}.booking-alert,.booking-empty,.booking-loading,.booking-summary{border:1px solid var(--border);color:var(--muted);background:#f8fafc;border-radius:8px;padding:1rem;font-weight:700}.booking-alert{color:#be123c;background:#fff1f2;border-color:#fecaca;margin-bottom:1.5rem}.booking-loading{align-items:center;gap:.6rem;display:inline-flex}.booking-summary{gap:.3rem;display:grid}.booking-summary span{color:var(--muted);font-size:.85rem}.booking-summary strong{color:var(--foreground);font-size:1.2rem}.booking-confirmed{text-align:center;padding:3rem 1rem}.booking-confirmed h3{margin:1rem 0 .75rem;font-size:2rem}.booking-confirmed p{color:var(--muted);margin-bottom:1.5rem;font-size:1.05rem}.admin-page{background:#f8fafc;min-height:100vh;padding:48px 0}.admin-container{width:min(1180px,100% - 32px);margin:0 auto}.admin-header,.admin-section-title,.token-panel,.admin-header-actions,.admin-actions,.blocked-row{align-items:center;display:flex}.admin-header,.admin-section-title,.blocked-row{justify-content:space-between;gap:1rem}.admin-header{margin-bottom:1.5rem}.admin-header span,.admin-section-title span{color:var(--primary-dark);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:800}.admin-header h1{font-size:clamp(2.4rem,5vw,4rem)}.admin-panel{border:1px solid var(--border);background:#fff;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 16px 40px -32px #0f172a73}.token-panel{gap:1rem}.admin-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem}.admin-session{border:1px solid var(--border);background:#fff;border-radius:999px;padding:.65rem .9rem;color:var(--muted)!important;text-transform:none!important;letter-spacing:0!important}.token-panel label{flex:1}.admin-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.admin-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.admin-form label,.token-panel label{color:var(--foreground);gap:.45rem;font-size:.85rem;font-weight:800;display:grid}.admin-form input,.admin-form select,.token-panel input{border:1px solid var(--border);width:100%;font:inherit;border-radius:8px;padding:.85rem}.admin-check{align-content:end;align-items:center;grid-template-columns:auto 1fr!important}.admin-check input{width:auto}.admin-button,.admin-actions button,.blocked-row button,.rule-chip{border:1px solid var(--border);color:var(--foreground);background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:.45rem;padding:.75rem 1rem;font-weight:800;display:inline-flex}.admin-button{background:var(--foreground);color:#fff;border-color:var(--foreground)}.admin-button.secondary{color:var(--foreground);border-color:var(--border);background:#fff}.admin-notice{border-radius:8px;margin-bottom:1rem;padding:.9rem 1rem;font-weight:800}.admin-notice.success{color:#047857;background:#ecfdf5}.admin-notice.error{color:#be123c;background:#fff1f2}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:920px}.admin-table th,.admin-table td{text-align:left;border-top:1px solid var(--border);vertical-align:top;padding:1rem}.admin-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.admin-table td span{color:var(--muted);margin-top:.25rem;font-size:.85rem;display:block}.status-badge{text-transform:capitalize;background:#f1f5f9;border-radius:999px;width:fit-content;padding:.35rem .6rem;font-weight:800;color:var(--muted)!important;display:inline-flex!important}.status-badge.confirmed{background:#eff6ff;color:#1d4ed8!important}.status-badge.completed{background:#ecfdf5;color:#047857!important}.status-badge.cancelled{background:#fff1f2;color:#be123c!important}.status-badge.rescheduled{background:#fffbeb;color:#b45309!important}.admin-actions{flex-wrap:wrap;gap:.5rem}.rule-list,.blocked-list{gap:.75rem;margin-top:1rem;display:grid}.rule-chip{justify-content:flex-start}.blocked-row{border:1px solid var(--border);border-radius:8px;padding:.9rem}.blocked-row span{color:var(--muted);font-size:.85rem;display:block}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--background)}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}@keyframes aurora{0%{transform:translate(0)scale(1)}50%{transform:translate(2%,2%)scale(1.05)}to{transform:translate(0)scale(1)}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.gradient-text{background:linear-gradient(135deg,var(--foreground)0%,var(--primary-dark)100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.aurora-bg{filter:blur(120px);z-index:-1;opacity:.25;animation:15s infinite alternate aurora;position:absolute}section{border-bottom:1px solid var(--border);padding:100px 0;position:relative}.bg-dot-pattern{background-image:radial-gradient(var(--dot-color)1px,transparent 1px);background-size:24px 24px}.bg-grid-pattern{background-image:linear-gradient(var(--grid-color)1px,transparent 1px),linear-gradient(90deg,var(--grid-color)1px,transparent 1px);background-size:40px 40px}.mask-fade{-webkit-mask-image:radial-gradient(circle,#000 50%,#0000 100%);mask-image:radial-gradient(circle,#000 50%,#0000 100%)}.bento-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(160px,auto);gap:1.25rem;display:grid}.bento-item{background:var(--card-bg);border:1px solid var(--border);border-radius:28px;padding:2.5rem;transition:all .4s cubic-bezier(.165,.84,.44,1);box-shadow:0 4px 6px -1px #0000000d}.bento-item:hover{border-color:var(--primary);background:#fff;transform:translateY(-8px);box-shadow:0 20px 25px -5px #0000001a}@media (max-width:1024px){.bento-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.bento-grid,.verticals-grid{grid-template-columns:1fr}.booking-shell{padding:1rem}.booking-steps,.booking-fields{grid-template-columns:1fr}.booking-actions{justify-content:stretch}.booking-primary,.booking-secondary{width:100%}.project-detail-hero,.project-specs-section,.project-spec-row{grid-template-columns:1fr!important}.admin-grid,.admin-form{grid-template-columns:1fr}.admin-header,.admin-header,.token-panel,.admin-header-actions{flex-direction:column;align-items:stretch}.project-detail-hero{gap:2.5rem!important}.project-spec-row{gap:.75rem!important}}.spotlight-card{position:relative;overflow:hidden}.spotlight-card:before{content:"";background:radial-gradient(600px circle at var(--mouse-x,0)var(--mouse-y,0),#ffc8150f,transparent 40%);z-index:0;pointer-events:none;opacity:0;transition:opacity .5s;position:absolute;inset:0}.spotlight-card:hover:before{opacity:1}.glow-overlay{background:radial-gradient(400px circle at var(--mouse-x,0)var(--mouse-y,0),var(--primary),transparent 40%);z-index:-1;border-radius:inherit;opacity:0;transition:opacity .5s;position:absolute;inset:-1px}.spotlight-card:hover .glow-overlay{opacity:.15}.bento-item,.project-card,.capability-card{transition:transform .3s cubic-bezier(.165,.84,.44,1),box-shadow .3s}.bento-item:active,.project-card:active,.capability-card:active{transform:scale(.98)!important}
