*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--black:#080808;--white:#f0ede6;--gold:#af0;--gold-dim:#aaff001f;--muted:#f0ede659;--border:#f0ede614;--font:"Inter", sans-serif}html{scroll-behavior:smooth}body{background:var(--black);color:var(--white);font-family:var(--font);-webkit-font-smoothing:antialiased;overflow-x:hidden}#nav{z-index:100;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;padding:28px 48px;transition:background .4s,border-color .4s;display:flex;position:fixed;top:0;left:0;right:0}#nav.scrolled{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-color:var(--border);background:#080808d9}.nav-logo{align-items:center;text-decoration:none;display:flex}.nav-logo img{width:32px;height:32px;display:block}#nav ul{gap:48px;list-style:none;display:flex}#nav ul a{color:var(--white);font-family:var(--font);letter-spacing:.2em;text-transform:uppercase;opacity:.4;font-size:11px;text-decoration:none;transition:opacity .3s,color .3s}#nav ul a:hover{opacity:1;color:var(--gold)}.ticker-wrap{border-bottom:1px solid var(--border);width:100%;margin-top:88px;padding:10px 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 8% 92%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 8% 92%,#0000 100%)}.ticker{align-items:center;width:max-content;animation:30s linear infinite ticker;display:flex}.ticker-item{font-family:var(--font);letter-spacing:.04em;color:var(--white);opacity:.6;white-space:nowrap;padding:0 16px;font-size:15px}.ticker-sep{color:var(--gold);flex-shrink:0;font-size:18px;font-weight:700;line-height:1}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}#hero{border-bottom:1px solid var(--border);flex-direction:column;justify-content:flex-end;min-height:calc(100vh - 150px);padding:0 8vw 80px;display:flex;position:relative}.hero-eyebrow{font-family:var(--font);letter-spacing:.3em;text-transform:uppercase;color:var(--white);opacity:.7;margin-top:20px;margin-bottom:20px;font-size:14px}.hero-text h1{letter-spacing:-.03em;text-transform:uppercase;white-space:nowrap;color:var(--white);font-size:clamp(48px,9vw,120px);font-weight:700;line-height:1}.hero-asterisk{color:var(--gold);vertical-align:middle;font-size:1.2em;line-height:1;display:inline-block}.asterisk{color:var(--gold)}.outline{color:var(--white)}.hero-bottom{justify-content:space-between;align-items:flex-end;margin-top:48px;display:flex}.hero-desc{font-family:var(--font);letter-spacing:.2em;text-transform:uppercase;opacity:.3;font-size:11px;line-height:2.2}.hero-scroll{font-family:var(--font);letter-spacing:.3em;text-transform:uppercase;opacity:.25;align-items:center;gap:16px;font-size:10px;display:flex}.scroll-line{background:var(--white);transform-origin:0;width:48px;height:1px;animation:2.5s ease-in-out infinite scrollLine}@keyframes scrollLine{0%,to{opacity:0;transform:scaleX(0)}40%,60%{opacity:1;transform:scaleX(1)}}#character-reveal{height:600vh;position:relative}#three-canvas{width:100%;height:100vh;image-rendering:pixelated;image-rendering:crisp-edges;display:block;position:sticky;top:0}.bubbles-overlay{pointer-events:none;z-index:2;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100vh;margin-top:-100vh;display:flex;position:sticky;top:0}.section-label{font-family:var(--font);letter-spacing:.4em;text-transform:uppercase;color:var(--gold);opacity:0;align-items:center;gap:16px;font-size:10px;display:flex;position:absolute;top:80px}.section-label:before,.section-label:after{content:"";background:var(--gold);opacity:.4;width:32px;height:1px;display:block}.bubbles-container{width:100%;height:100%;position:relative}.bubble{opacity:0;pointer-events:all;border:1px solid var(--border);font-family:var(--font);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;color:var(--muted);white-space:nowrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#08080866;border-radius:100px;flex-direction:column;align-items:center;gap:8px;padding:14px 28px;font-size:11px;transition:border-color .3s,color .3s,background .3s;display:flex;position:absolute;transform:translate(-50%,-50%)}.bubble:hover{border-color:var(--gold);color:var(--gold);background:#aaff0014}.bubble.active{background:var(--gold);color:var(--black);border-color:var(--gold);white-space:normal;text-align:center;z-index:10;max-width:240px;font-weight:700}.bubble-desc{font-family:var(--font);letter-spacing:.02em;color:var(--black);text-transform:none;max-width:200px;margin-top:4px;font-size:10px;font-weight:400;line-height:1.7;display:block}#portfolio{border-top:1px solid var(--border);z-index:2;background:var(--black);padding:120px 8vw;position:relative}.section-header{justify-content:space-between;align-items:flex-end;margin-bottom:64px;display:flex}.section-title{text-transform:uppercase;letter-spacing:-.02em;font-size:clamp(32px,4vw,56px);font-weight:700;line-height:.9}.section-count{font-family:var(--font);letter-spacing:.2em;color:var(--gold);opacity:.5;padding-bottom:8px;font-size:11px}.portfolio-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2px;display:grid}.portfolio-card{cursor:pointer;border:1px solid var(--border);color:inherit;text-decoration:none;transition:border-color .3s;display:block;overflow:hidden}.portfolio-card:hover{border-color:#aaff004d}.card-img{aspect-ratio:4/3;background:#111;width:100%;overflow:hidden}.card-img.placeholder{background:#111}.card-img img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.portfolio-card:hover .card-img img{transform:scale(1.04)}.card-info{border-top:1px solid var(--border);padding:20px 24px}.card-number{font-family:var(--font);color:var(--gold);opacity:.5;letter-spacing:.2em;margin-bottom:6px;font-size:10px}.portfolio-card h3{letter-spacing:.02em;text-transform:uppercase;margin-bottom:4px;font-size:16px;font-weight:700}.portfolio-card p{font-family:var(--font);opacity:.3;letter-spacing:.15em;text-transform:uppercase;font-size:10px}#contact{border-top:1px solid var(--border);background:var(--black);z-index:2;justify-content:center;align-items:center;min-height:100vh;padding:120px 8vw;display:flex;position:relative;overflow:hidden}#contact-canvas{pointer-events:none;opacity:0;image-rendering:pixelated;image-rendering:crisp-edges;z-index:1;position:absolute;top:0;left:0;width:52%!important;height:100%!important}.speech-bubble-above{background:var(--gold-dim);color:var(--gold);font-family:var(--font);letter-spacing:.25em;text-transform:uppercase;opacity:0;z-index:3;pointer-events:none;white-space:nowrap;border:1px solid #aaff0040;border-radius:100px;align-items:center;padding:10px 24px;font-size:10px;font-weight:700;animation:4s ease-in-out infinite floatBubble;display:inline-flex;position:absolute;top:12%;left:26%;transform:translate(-50%)}.speech-bubble-above:after{content:"";border:5px solid #0000;border-top-color:#aaff0040;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}@keyframes floatBubble{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-10px)}}.contact-content{z-index:2;text-align:center;width:50%;margin-right:-1vw;position:relative}#contact-heading{text-transform:uppercase;letter-spacing:-.03em;margin-bottom:32px;font-size:clamp(40px,5vw,72px);font-weight:700;line-height:.88}.contact-meta{font-family:var(--font);opacity:.3;letter-spacing:.3em;text-transform:uppercase;justify-content:center;align-items:center;gap:24px;margin-bottom:40px;font-size:11px;display:flex}.contact-meta span{color:var(--gold);opacity:.6}.contact-btn{color:var(--gold);font-family:var(--font);letter-spacing:.25em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #af06;border-radius:100px;padding:18px 48px;font-size:11px;transition:all .4s;display:inline-block}.contact-btn:hover{background:var(--gold);color:var(--black);border-color:var(--gold)}.contact-form-view{z-index:2;text-align:left;width:40%;margin-top:-30px;display:none;position:absolute;right:12vw}.contact-form-view.visible{animation:.5s forwards fadeUp;display:block}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.form-heading{text-transform:uppercase;letter-spacing:-.03em;margin-bottom:40px;font-size:clamp(32px,4vw,56px);font-weight:700;line-height:.88}.form-group{margin-bottom:14px}.form-input{border:1px solid var(--border);width:100%;color:var(--white);font-family:var(--font);letter-spacing:.1em;resize:none;background:#f0ede608;border-radius:8px;outline:none;padding:16px 20px;font-size:11px;transition:border-color .3s}.form-input::placeholder{opacity:.3}.form-input:focus{border-color:var(--gold)}.form-textarea{min-height:100px}.form-actions{align-items:center;gap:24px;margin-top:8px;display:flex}.form-submit{background:var(--gold);color:var(--black);font-family:var(--font);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;border:none;border-radius:100px;padding:16px 40px;font-size:11px;font-weight:700;transition:opacity .3s}.form-submit:hover{opacity:.8}.form-back{color:var(--muted);font-family:var(--font);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;font-size:11px;transition:color .3s}.form-back:hover{color:var(--white)}footer{border-top:1px solid var(--border);background:var(--black);z-index:2;justify-content:space-between;align-items:center;padding:32px 8vw;display:flex;position:relative}footer p{font-family:var(--font);letter-spacing:.2em;opacity:.2;text-transform:uppercase;font-size:10px}.footer-links{gap:32px;display:flex}.footer-links a{font-family:var(--font);letter-spacing:.2em;text-transform:uppercase;color:var(--white);opacity:.2;font-size:10px;text-decoration:none;transition:opacity .3s,color .3s}.footer-links a:hover{opacity:.8;color:var(--gold)}@media (width<=768px){.bubble{letter-spacing:.18em;padding:12px 22px;font-size:10px}.bubble.active{max-width:78vw;padding:16px 24px}.bubble-desc{max-width:100%;font-size:11px}.section-label{top:96px}#contact{text-align:center;flex-direction:column;justify-content:flex-start;align-items:center;min-height:100vh;padding:0 6vw 80px}#contact-canvas{position:absolute;top:0;left:0;width:100%!important;height:100vh!important}.speech-bubble-above{padding:9px 18px;font-size:9px;top:9vh;left:50%}.contact-content{text-align:center;width:100%;margin-top:54vh;margin-right:0}#contact-heading{margin-bottom:20px;font-size:clamp(38px,13vw,60px)}.contact-meta{letter-spacing:.2em;flex-direction:column;gap:6px;margin-bottom:28px;font-size:10px}.contact-btn{padding:16px 36px}.contact-form-view{text-align:left;width:100%;margin-top:54vh;position:relative;right:auto}.form-heading{margin-bottom:24px}.form-actions{flex-direction:column-reverse;align-items:stretch;gap:14px}.form-submit{width:100%}}#rotate-overlay{z-index:99999;background:var(--black);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:40px;display:none;position:fixed;inset:0}#rotate-icon{color:var(--gold);margin-bottom:24px;font-size:48px;animation:2s ease-in-out infinite rotateHint}@keyframes rotateHint{0%,to{transform:rotate(0)}50%{transform:rotate(-90deg)}}#rotate-title{font-family:var(--font);text-transform:uppercase;letter-spacing:.1em;color:var(--white);margin-bottom:12px;font-size:18px;font-weight:700}#rotate-subtitle{font-family:var(--font);color:var(--muted);letter-spacing:.05em;font-size:13px}@media (orientation:landscape) and (hover:none) and (pointer:coarse){#rotate-overlay{display:flex}}
