body{background-color:#0d0b09;margin:0;padding:0}:root{--bg:#060a10;--surface:#0c1520;--fg:#ddefff;--muted:#ddefff80;--dim:#ddefff14;--amber:#00d8ff;--orange:#f80;--border:#00d8ff1a;--font-display:"Orbitron", "Courier New", monospace;--font-body:"Space Grotesk", system-ui, sans-serif;--gutter:clamp(1.25rem, 5vw, 6rem);--text-xs:clamp(.65rem, .63rem + .1vw, .72rem);--text-sm:clamp(.78rem, .75rem + .15vw, .875rem);--text-base:clamp(.9rem, .88rem + .1vw, 1rem);--text-md:clamp(1.05rem, .95rem + .5vw, 1.25rem);--text-lg:clamp(1.25rem, 1.05rem + 1vw, 1.6rem);--text-xl:clamp(1.6rem, 1.3rem + 1.5vw, 2.2rem);--text-2xl:clamp(2.1rem, 1.6rem + 2.5vw, 3.4rem);--text-3xl:clamp(2.8rem, 2rem + 4vw, 5rem);--text-hero:clamp(4rem, 3rem + 5.5vw, 8rem)}*{box-sizing:border-box;margin:0;padding:0}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#00d8ff59;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--amber)}@media (hover:hover) and (pointer:fine){*{cursor:none!important}}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:var(--text-base);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-display);font-style:normal;line-height:1.05}.cursor-dot{background:var(--amber);pointer-events:none;z-index:10000;border-radius:50%;width:5px;height:5px;position:fixed;top:0;left:0}.cursor-outline{pointer-events:none;z-index:9999;width:36px;height:36px;font-family:var(--font-body);letter-spacing:1px;color:#0000;border:1px solid #00d8ff73;border-radius:50%;justify-content:center;align-items:center;font-size:9px;font-weight:600;transition:width .3s,height .3s,background .3s,border-color .3s;display:flex;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cursor-outline.hovering{border-color:var(--amber);width:80px;height:80px;color:var(--amber);background:#00d8ff14}header{z-index:1000;width:100%;padding:clamp(10px, 1.2vw, 16px) var(--gutter);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);background:#060a10d1;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0}.logo-text{align-items:center;text-decoration:none;display:flex}.logo-text img{mix-blend-mode:screen;width:auto;height:clamp(68px,9vw,100px);animation:6s ease-in-out infinite logo-float}@keyframes logo-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.nav-bar{align-items:center;gap:clamp(1.25rem,3vw,2.5rem);display:flex}.nav-link{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:500;text-decoration:none;transition:color .25s}.nav-link:hover{color:var(--fg)}.nav-link.cta{background:var(--amber);opacity:1;border-radius:2px;padding:8px 18px;color:#060a10!important}.nav-link.cta:hover{opacity:.85}.main-content{min-height:100vh;padding-top:clamp(120px,14vh,160px)}.hero-section{padding:clamp(50px, 8vh, 100px) var(--gutter) clamp(60px, 10vh, 110px);border-bottom:1px solid var(--border)}.hero-label{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--amber);margin-bottom:1.5rem;font-weight:500;display:block}.hero-title{font-family:var(--font-display);font-style:normal;font-weight:700;font-size:var(--text-hero);letter-spacing:-.02em;margin-bottom:clamp(1.25rem,3.5vh,2.25rem);line-height:1}.hero-sub{font-size:var(--text-md);color:var(--muted);max-width:50ch;font-weight:300;line-height:1.55}.project-list{flex-direction:column;display:flex}.project-item{border-top:1px solid var(--border);padding:clamp(40px, 7vh, 90px) var(--gutter);color:var(--fg);grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,6vw,5rem);text-decoration:none;transition:background .5s;display:grid}.project-item:hover{background:var(--surface)}.project-info{flex-direction:column;gap:10px;display:flex}.project-info h2{font-family:var(--font-display);font-style:normal;font-weight:600;font-size:var(--text-3xl);letter-spacing:-.01em;color:var(--fg);line-height:1.05}.project-category{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.15em;text-transform:uppercase;color:var(--amber);margin-bottom:2px;font-weight:500}.project-image-preview{aspect-ratio:16/10;background:var(--surface);width:100%;overflow:hidden}.project-image-preview img{object-fit:cover;filter:saturate(.7)brightness(.9);width:100%;height:100%;transition:transform 1.2s cubic-bezier(.16,1,.3,1),filter .6s;display:block}.project-item:hover .project-image-preview img{filter:saturate()brightness();transform:scale(1.04)}.project-media-wrapper{aspect-ratio:16/10;background:var(--surface);width:100%;overflow:hidden}.project-media-asset{object-fit:cover;filter:saturate(.7)brightness(.9);width:100%;height:100%;transition:transform 1.2s cubic-bezier(.16,1,.3,1),filter .6s;display:block}.project-item:hover .project-media-asset{filter:saturate()brightness();transform:scale(1.04)}.masonry-grid{padding:clamp(2rem, 5vw, 4rem) var(--gutter) clamp(80px, 12vh, 160px);grid-template-columns:repeat(2,1fr);gap:clamp(.5rem,1.2vw,1rem);display:grid}.masonry-item{background:var(--surface);width:100%;position:relative;overflow:hidden}.masonry-item img{object-fit:cover;filter:saturate(.7)brightness(.9);width:100%;height:100%;transition:transform .8s cubic-bezier(.16,1,.3,1),filter .5s;display:block}.masonry-item:hover img{filter:saturate()brightness();transform:scale(1.03)}.masonry-item-label{padding:1rem 0 .25rem}.masonry-item-label .project-category{margin-bottom:4px}.masonry-item-label h3{font-family:var(--font-display);font-style:normal;font-weight:600;font-size:var(--text-xl);color:var(--fg)}.news-grid{padding:0 var(--gutter) clamp(80px, 12vh, 160px);grid-template-columns:1.3fr 1fr;gap:clamp(2rem,5vw,4rem);display:grid}.article-main{flex-direction:column;gap:1.5rem;display:flex}.article-sidebar{flex-direction:column;display:flex}.service-block{border-top:1px solid var(--border);padding:2rem 0}.service-block:last-child{border-bottom:1px solid var(--border)}.service-block h4{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.15em;text-transform:uppercase;color:var(--amber);margin-bottom:8px;font-style:normal;font-weight:500}.service-block h3{font-family:var(--font-display);font-style:normal;font-weight:600;font-size:var(--text-xl);color:var(--fg);margin-bottom:10px}.service-block p{color:var(--muted);font-size:var(--text-sm);line-height:1.65;font-family:var(--font-body);margin-bottom:1.5rem}.service-cta{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--fg);border-bottom:1px solid var(--border);padding-bottom:3px;font-weight:600;text-decoration:none;transition:color .25s,border-color .25s;display:inline-block}.service-cta:hover{color:var(--amber);border-color:var(--amber)}.booking-form{flex-direction:column;gap:1.25rem;display:flex}.booking-form-row{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.booking-field{flex-direction:column;gap:.5rem;display:flex}.booking-field label{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500}.booking-field input,.booking-field select,.booking-field textarea{background:var(--surface);border:1px solid var(--border);color:var(--fg);font-family:var(--font-body);font-size:var(--text-sm);appearance:none;border-radius:2px;outline:none;width:100%;padding:.85rem 1rem;transition:border-color .25s}.booking-field input::placeholder,.booking-field textarea::placeholder{color:#ddefff33}.booking-field input:focus,.booking-field select:focus,.booking-field textarea:focus{border-color:var(--amber)}.booking-field textarea{resize:vertical;min-height:140px;line-height:1.6}.booking-field select option{background:var(--surface);color:var(--fg)}.booking-submit{background:var(--amber);color:#060a10;font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border:none;border-radius:2px;align-self:flex-start;padding:1rem 2rem;font-weight:700;transition:opacity .25s}.booking-submit:hover{opacity:.85}.booking-submit:disabled{opacity:.5;cursor:not-allowed}.booking-form-success{background:var(--surface);border:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:1rem;padding:clamp(2rem,5vw,3.5rem);display:flex}.booking-form-success p{color:var(--muted);font-size:var(--text-base)}.booking-reset-btn{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--amber);cursor:pointer;background:0 0;border:none;border-bottom:1px solid #00d8ff66;padding:0 0 4px;font-weight:600;transition:opacity .3s}.booking-reset-btn:hover{opacity:.7}.booking-error{font-size:var(--text-sm);color:#e05a5a;font-style:normal}.booking-stripe-btn{background:var(--amber);color:#060a10;font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;text-align:center;border-radius:2px;padding:.85rem 1.5rem;font-weight:700;text-decoration:none;transition:opacity .25s;display:inline-block}.booking-stripe-btn:hover{opacity:.85}@media (width<=640px){.booking-form-row{grid-template-columns:1fr}}footer{padding:clamp(80px, 12vh, 150px) var(--gutter) clamp(40px, 6vh, 70px);text-align:center;border-top:1px solid var(--border)}.footer-title{font-family:var(--font-display);font-style:normal;font-weight:700;font-size:var(--text-3xl);letter-spacing:-.01em;margin-bottom:clamp(2.5rem,5vh,4rem);line-height:1.1}.footer-social{justify-content:center;gap:2.5rem;margin-bottom:clamp(2rem,4vh,3.5rem);display:flex}.footer-social-link{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500;text-decoration:none;transition:color .25s}.footer-social-link:hover{color:var(--fg)}.footer-link-big{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--amber);border-bottom:1px solid #00d8ff66;padding-bottom:4px;font-weight:600;text-decoration:none;transition:opacity .3s}.footer-link-big:hover{opacity:.7}.caption{font-size:var(--text-xs);color:var(--muted);letter-spacing:.06em;font-style:normal}@media (width<=900px){.project-item{grid-template-columns:1fr;gap:2rem}.news-grid{grid-template-columns:1fr}}@media (width<=640px){.masonry-grid{grid-template-columns:1fr}.nav-bar{gap:1rem}}
