@keyframes riseIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes scrollLine{0%{top:-100%}to{top:200%}}.hero{position:relative;height:100dvh;min-height:580px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}.hero-bg{position:absolute;inset:0;overflow:hidden}.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 10%}.hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#09090c8c,#09090c00 30% 50%,#09090cbf 78%,#09090c),linear-gradient(100deg,#09090c73,#09090c00 45%)}.hero-body{position:relative;z-index:2;padding:0 var(--pad-x) clamp(3.5rem,8vh,6.5rem);max-width:var(--wrap);margin:0 auto;width:100%}.hero-tagline{font-size:.6rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--c-text-secondary);margin-bottom:1.4rem;opacity:0;animation:riseIn .9s cubic-bezier(.16,1,.3,1) .1s forwards}.hero-title{font-size:clamp(2rem,4.2vw,4.2rem);font-weight:300;line-height:1.02;letter-spacing:-.02em;color:var(--c-text);max-width:22ch;margin-bottom:1.6rem}.hero-sub{font-size:clamp(.8rem,1.05vw,.975rem);font-weight:400;color:var(--c-text-secondary);max-width:42ch;line-height:1.75;margin-bottom:2.75rem;opacity:0;animation:riseIn .9s cubic-bezier(.16,1,.3,1) .46s forwards}.hero-cta{display:inline-flex;align-items:center;gap:.55rem;font-size:.65rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--c-text);text-decoration:none;padding-bottom:.22rem;border-bottom:1px solid var(--c-accent);transition:border-color .25s,color .25s;opacity:0;animation:riseIn .9s cubic-bezier(.16,1,.3,1) .62s forwards}.hero-cta:hover{color:#fff;border-color:var(--c-text-secondary)}.hero-cta-arrow{display:block;width:1rem;height:1px;background:currentColor;position:relative;transition:width .25s}.hero-cta-arrow:after{content:"";position:absolute;right:0;top:-3px;width:6px;height:6px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}.hero-cta:hover .hero-cta-arrow{width:1.5rem}.hero-scroll{position:absolute;bottom:clamp(2rem,5vh,4rem);right:var(--pad-x);display:flex;flex-direction:column;align-items:center;gap:.7rem;opacity:0;animation:riseIn .9s cubic-bezier(.16,1,.3,1) 1s forwards;z-index:2}.hero-scroll-line{width:1px;height:3.5rem;background:linear-gradient(to bottom,transparent,var(--c-text-tertiary));position:relative;overflow:hidden}.hero-scroll-line:after{content:"";position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--c-text-secondary);animation:scrollLine 2.2s cubic-bezier(.4,0,.2,1) 1.8s infinite}.hero-scroll-label{writing-mode:vertical-rl;font-size:.52rem;letter-spacing:.22em;text-transform:uppercase;color:var(--c-text-tertiary)}.hero-fade{position:absolute;bottom:0;left:0;width:100vw;height:200px;background:linear-gradient(to bottom,#0c0d1100,#0c0d11);z-index:1;pointer-events:none}.build-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--c-border);border-top:1px solid var(--c-border)}@media(max-width:900px){.build-grid{grid-template-columns:1fr}}.build-cell{padding:2.75rem 2.25rem;border-right:1px solid var(--c-border);border-bottom:1px solid var(--c-border);transition:background .25s}.build-cell:hover{background:var(--c-raised)}.build-num{display:block;font-size:.55rem;font-weight:400;letter-spacing:.22em;color:var(--c-text-tertiary);margin-bottom:1.75rem}.build-name{font-size:1rem;font-weight:400;color:var(--c-text);letter-spacing:-.01em;margin-bottom:.7rem}.build-desc{font-size:.845rem;color:var(--c-text-secondary);line-height:1.8}.writing-list{list-style:none}.writing-item{display:grid;grid-template-columns:9rem 1fr auto;gap:2rem;align-items:center;padding:1.35rem 0;border-bottom:1px solid var(--c-border)}.writing-item:first-child{border-top:1px solid var(--c-border)}@media(max-width:640px){.writing-item{grid-template-columns:1fr;gap:.5rem}.writing-arrow{display:none}}.writing-date{font-size:.6rem;color:var(--c-text-tertiary);letter-spacing:.08em;font-variant-numeric:tabular-nums}.writing-link{font-size:.935rem;color:var(--c-text-secondary);text-decoration:none;transition:color .2s}.writing-item:hover .writing-link{color:var(--c-text)}.writing-arrow{font-size:.6rem;color:var(--c-text-tertiary);letter-spacing:.1em;text-transform:uppercase;opacity:0;transform:translate(-6px);transition:opacity .2s,transform .2s}.writing-item:hover .writing-arrow{opacity:1;transform:translate(0)}.contact-title{font-size:clamp(1.8rem,3.2vw,2.7rem);font-weight:300;letter-spacing:-.025em;line-height:1.18;color:var(--c-text);max-width:22ch;margin-bottom:3.5rem}.contact-list{list-style:none;max-width:32rem}.contact-row{display:grid;grid-template-columns:1.1rem 7rem 1fr;gap:1.5rem;align-items:center;padding:1.15rem 0;border-bottom:1px solid var(--c-border)}.contact-row:first-child{border-top:1px solid var(--c-border)}.contact-icon{width:1.1rem;height:1.1rem;color:var(--c-text-tertiary);transition:color .2s}.contact-row:hover .contact-icon{color:var(--c-text-secondary)}.contact-channel{font-size:.58rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--c-text-tertiary)}.contact-val{font-size:.88rem;color:var(--c-text-secondary);text-decoration:none;transition:color .2s}.faq-list{display:flex;flex-direction:column;gap:2rem;margin:0}.faq-q{font-size:1rem;font-weight:400;letter-spacing:-.01em;color:var(--c-text);margin-bottom:.7rem}.faq-a{font-size:.88rem;color:var(--c-text-secondary);line-height:1.75;margin:0;max-width:60ch}.contact-val:hover{color:var(--c-text)}
