@font-face{font-family:Nasalization;src:url(/fonts/nasalization-regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Suisse Intl;src:url(/fonts/suisse-intl-regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}*{box-sizing:border-box;margin:0;padding:0}:root{--walnut: #1f1a14;--bone: #ece8e4}html,body{height:100%;font-family:Suisse Intl,system-ui,-apple-system,sans-serif;color:var(--walnut);background:var(--bone);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-scrolling iframe{pointer-events:none}.view{display:none!important}.view.active{display:block!important}.view-3.active{display:flex!important}.brand{display:inline-flex;align-items:center}.brand-mark{display:inline-block;width:48px;height:48px;color:var(--bone);line-height:0}.brand-mark-svg{width:100%;height:100%;display:block;overflow:visible}.bm-visual{fill:currentColor;pointer-events:none;transform-origin:100px 100px}.bm-hit{fill:transparent;pointer-events:fill}@keyframes brand-mark-spin{to{transform:rotate(1turn)}}.brand .brand-mark:has(.bm-hit:hover) .bm-visual{animation:brand-mark-spin 6s linear infinite}.contact-btn{display:inline-flex;align-items:center;gap:.65em;padding:.55rem 1rem .5rem;font-family:Suisse Intl,sans-serif;font-size:.72rem;font-weight:650;letter-spacing:.18em;text-transform:uppercase;color:var(--bone);text-decoration:none;background:transparent;border:1px solid rgba(236,232,228,.5);border-radius:10px;transition:background .25s ease,color .25s ease,border-color .25s ease}.contact-btn:hover{background:var(--bone);color:var(--walnut);border-color:var(--bone)}.hero-title{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:Nasalization,sans-serif;font-weight:400;font-size:clamp(3rem,9vw,9rem);letter-spacing:.08em;color:var(--bone);line-height:1;white-space:nowrap;-webkit-user-select:none;user-select:none}.tagline{position:absolute;bottom:2.25rem;right:2.5rem;display:flex;flex-direction:column;align-items:flex-end;line-height:1.05;color:var(--bone);text-align:right}.tagline-light{font-family:Suisse Intl,sans-serif;font-weight:400;font-size:clamp(1.4rem,2.2vw,2.1rem)}.view-2{min-height:100vh;padding:.9rem 1rem 1rem;background:var(--bone);color:var(--walnut)}.frame-nav{height:3.25rem;display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;margin-bottom:.6rem}.view-2 .brand-mark{width:44px;height:44px;color:var(--walnut)}.view-2 .contact-btn{color:var(--bone);background:var(--walnut);border-color:var(--walnut)}.view-2 .contact-btn:hover{background:#000;color:var(--bone);border-color:#000}.hero-card{position:relative;width:100%;height:calc(100vh - 6rem);min-height:520px;border-radius:18px;overflow:hidden;background-image:url(/images/hero.webp);background-size:cover;background-position:center 42%;background-repeat:no-repeat;box-shadow:0 20px 60px #0000002e}.view-2 .hero-title{font-size:clamp(2.5rem,8vw,8rem);color:var(--bone)}.view-2 .tagline{bottom:1.75rem;right:2rem;color:var(--bone)}.view-3{min-height:100vh;background:var(--bone);color:var(--walnut);align-items:center;justify-content:center;padding:6rem 1.5rem 4rem}.contact-wrap{width:100%;max-width:420px;display:flex;flex-direction:column;align-items:stretch;gap:2.5rem}.contact-brand{display:inline-flex;align-items:center;gap:.75rem;align-self:center;text-decoration:none;color:var(--walnut)}.contact-mark{width:36px;height:36px;color:var(--walnut)}.contact-wordmark{font-family:Nasalization,sans-serif;font-size:1.6rem;letter-spacing:.14em;color:var(--walnut);line-height:1}.contact-form{width:100%;display:flex;flex-direction:column;gap:.85rem}.contact-form .row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.contact-form input,.contact-form textarea{width:100%;font-family:Suisse Intl,sans-serif;font-size:.95rem;color:var(--walnut);background:transparent;border:1px solid rgba(31,26,20,.45);border-radius:6px;padding:1rem 1.1rem;outline:none;transition:border-color .2s ease}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#1f1a148c}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--walnut)}.contact-form textarea{resize:vertical;min-height:150px}.submit-btn{align-self:center;margin-top:.75rem;padding-left:2.25rem;padding-right:2.25rem;font-family:Suisse Intl,sans-serif;font-size:.85rem;letter-spacing:.02em;color:var(--walnut);background:transparent;border:1px solid rgba(31,26,20,.5);border-radius:6px;padding:.7rem 1.3rem;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.submit-btn:hover{background:var(--walnut);color:var(--bone);border-color:var(--walnut)}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.contact-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.contact-status{min-height:1.2em;margin:.25rem 0 0;text-align:center;font-size:.85rem;color:#1f1a14b3}.contact-status[data-state=success]{color:var(--walnut)}.contact-status[data-state=error]{color:#9a2a1f}@media (max-width: 760px){.brand-mark{width:40px;height:40px}.contact-btn{padding:.45rem .95rem;font-size:.62rem;letter-spacing:.18em}.hero-title{font-size:clamp(2.4rem,14vw,5rem);letter-spacing:.06em}.tagline{bottom:1.4rem;right:1.4rem}.tagline-light{font-size:clamp(1rem,3.8vw,1.4rem)}.view-2{padding:.65rem}.frame-nav{height:2.75rem;padding:0 .25rem;margin-bottom:.5rem}.view-2 .brand-mark{width:36px;height:36px}.hero-card{border-radius:14px;height:auto;min-height:calc(100vh - 4.75rem);background-position:95% 45%}.view-2 .hero-title{font-size:clamp(2.2rem,12vw,5rem)}.view-2 .tagline{bottom:1.2rem;right:1.2rem}.view-3{padding:4.5rem 1rem 2rem}.contact-wrap{max-width:100%;gap:1.75rem}.contact-wordmark{font-size:1.35rem;letter-spacing:.12em}.contact-mark{width:30px;height:30px}.contact-form .row{grid-template-columns:1fr}.contact-form input,.contact-form textarea{padding:.85rem 1rem;font-size:.95rem}.contact-form textarea{min-height:130px}}@media (max-width: 420px){.brand-mark{width:34px;height:34px}.view-2{padding-top:.5rem}.hero-title{font-size:clamp(2.2rem,13vw,4rem)}}
