:root { --ink:#0d0d0c; --ink-raised:#151512; --paper:#eee9df; --muted:#9c988f; --gold:#b79562; --edge:rgba(238,233,223,.21); }
* { box-sizing:border-box; } body { min-height:100vh; margin:0; background:var(--ink); color:var(--paper); font-family:"Helvetica Neue",Arial,sans-serif; } a { color:inherit; text-decoration:none; } button { font:inherit; }
.site-header { position:absolute; z-index:10; top:0; right:0; left:0; height:90px; padding:0 5.2vw; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--edge); }.wordmark { font:400 25px/.9 Georgia,"Times New Roman",serif; letter-spacing:-.065em; }.header-actions { display:flex; align-items:center; gap:28px; }.explore-wrap { position:relative; }.explore-button,.contact-link { border:0; background:transparent; color:var(--paper); padding:10px 0; cursor:pointer; text-transform:uppercase; font-size:11px; letter-spacing:.19em; }.explore-button span { display:inline-block; margin-left:12px; color:var(--gold); font-size:18px; font-weight:300; transition:transform .2s ease; }.explore-button[aria-expanded="true"] span { transform:rotate(45deg); }.contact-link { border-bottom:1px solid var(--gold); }
.explore-panel { position:absolute; top:46px; right:0; width:min(645px,calc(100vw - 40px)); background:#e9e3d8; color:#171612; border-top:2px solid var(--gold); box-shadow:0 25px 80px rgba(0,0,0,.48); }.explore-panel[hidden] { display:none; }.panel-head { display:flex; justify-content:space-between; align-items:center; padding:23px 27px 20px; border-bottom:1px solid #c9c1b4; }.panel-head p { margin:0; color:#806641; font-size:10px; font-weight:700; letter-spacing:.19em; text-transform:uppercase; }.close-panel { padding:0; border:0; background:none; color:#272520; cursor:pointer; font:300 27px/.7 Arial,sans-serif; }.panel-intro { margin:28px 27px; font:400 28px/1.05 Georgia,serif; letter-spacing:-.035em; }.explore-groups { border-top:1px solid #c9c1b4; } details { border-bottom:1px solid #c9c1b4; } summary { padding:20px 27px; display:grid; grid-template-columns:35px 1fr 24px; align-items:center; list-style:none; cursor:pointer; } summary::-webkit-details-marker { display:none; } summary span { color:var(--gold); font:17px Georgia,serif; } summary strong { font:400 20px Georgia,serif; } summary i { justify-self:end; color:#98764e; font:300 21px Arial,sans-serif; font-style:normal; transition:transform .2s ease; } details[open] summary i { transform:rotate(45deg); }.group-items { padding:0 27px 16px 62px; }.group-items article { min-height:70px; padding:14px 0; display:flex; justify-content:space-between; align-items:center; gap:18px; border-top:1px solid #d2cabe; }.group-items article p { margin:0 0 5px; font:400 17px/1 Georgia,serif; }.group-items small { color:#6e6961; font-size:10px; letter-spacing:.055em; }.group-items a,.coming { flex-shrink:0; color:#564a3a; border-bottom:1px solid #ae8b5c; padding-bottom:4px; text-transform:uppercase; font-size:9px; letter-spacing:.1em; }.group-items a b { margin-left:5px; color:#a57e4c; font-size:14px; font-weight:400; }.beta-link { color:#1d1b17 !important; }.coming { color:#827c72; border:0; }.panel-foot { padding:19px 27px; display:flex; justify-content:space-between; background:#ded7ca; color:#60584d; font-size:10px; letter-spacing:.1em; }
.face { min-height:100vh; height:100vh; overflow:hidden; position:relative; display:grid; place-items:center; background:#0d0d0c; }.landing-art,.landing-wallpaper { width:100%; height:100%; display:block; }.landing-wallpaper { object-fit:cover; object-position:center; }.desktop-brand { position:absolute; z-index:1; left:9.5vw; bottom:17vh; color:#eee9df; text-transform:uppercase; }.desktop-brand p { margin:0; font:400 clamp(64px,9vw,158px)/.8 Georgia,"Times New Roman",serif; letter-spacing:-.075em; }.desktop-brand span { display:block; margin-top:25px; color:#b79562; font-size:11px; font-weight:700; letter-spacing:.58em; }.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.project-ctas { position:absolute; z-index:2; top:50%; right:4.5vw; width:340px; display:grid; grid-template-columns:1fr 1fr; gap:10px; transform:translateY(-36%); }.project-ctas-label { grid-column:1/-1; margin:0 0 3px; color:var(--paper); font-size:9px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; text-shadow:0 2px 18px rgba(0,0,0,.7); }.project-bubble { position:relative; min-height:165px; border:1px solid rgba(238,233,223,.43); border-radius:2px; padding:20px 18px; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; text-align:left; color:var(--paper); background:linear-gradient(160deg,rgba(13,13,12,.68),rgba(13,13,12,.94)); box-shadow:0 18px 55px rgba(0,0,0,.44),inset 0 0 0 1px rgba(183,149,98,.08); backdrop-filter:blur(12px); overflow:hidden; transition:background .25s ease,border-color .25s ease,transform .25s ease; }.project-bubble::before { content:""; position:absolute; top:0; right:0; left:0; height:2px; background:linear-gradient(90deg,transparent,var(--gold),transparent); transform:translateX(-100%); animation:project-sweep 4.6s ease-in-out infinite; }.project-bubble::after { content:""; position:absolute; top:17px; right:17px; width:7px; height:7px; border-top:1px solid var(--gold); border-right:1px solid var(--gold); }.project-bubble:hover,.project-bubble:focus-visible { background:rgba(27,24,19,.96); border-color:var(--gold); transform:translateY(-6px); outline:none; }.app-cta::before { animation-delay:1.2s; }.project-bubble-kicker { min-height:25px; color:var(--gold); font-size:7px; font-weight:700; line-height:1.45; letter-spacing:.14em; text-transform:uppercase; }.project-bubble strong { max-width:140px; margin:13px 0 11px; font:400 22px/.98 Georgia,"Times New Roman",serif; }.project-bubble small { font-size:8px; letter-spacing:.07em; text-transform:uppercase; }.project-bubble small b { margin-left:4px; color:var(--gold); font-size:14px; font-weight:400; }
@keyframes project-sweep { 0%,22% { transform:translateX(-100%); opacity:0; } 44% { opacity:1; } 66%,100% { transform:translateX(100%); opacity:0; } }
.questionnaire { width:min(880px,calc(100vw - 30px)); max-height:92vh; padding:0; border:1px solid rgba(183,149,98,.62); background:#e9e3d8; color:#171612; box-shadow:0 35px 120px rgba(0,0,0,.72); }.questionnaire::backdrop { background:rgba(4,4,3,.84); backdrop-filter:blur(8px); }.questionnaire-shell { padding:0 34px 32px; }.questionnaire-head { position:sticky; z-index:1; top:0; margin:0 -34px 28px; padding:26px 34px 23px; display:flex; align-items:flex-start; justify-content:space-between; gap:24px; background:#e9e3d8; border-bottom:1px solid #c9c1b4; }.questionnaire-head p { margin:0 0 9px; color:#806641; font-size:10px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }.questionnaire-head h2 { margin:0; font:400 clamp(28px,4.4vw,48px)/.98 Georgia,"Times New Roman",serif; letter-spacing:-.045em; }.questionnaire-close { border:0; background:none; color:#272520; cursor:pointer; font:300 33px/.8 Arial,sans-serif; }.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:19px 22px; }.form-grid label { display:flex; flex-direction:column; gap:8px; }.form-grid label > span { color:#554f46; font-size:10px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }.form-grid em { color:#8e877c; font-size:9px; font-style:normal; }.form-grid input,.form-grid select,.form-grid textarea { width:100%; border:1px solid #bdb4a6; border-radius:0; background:#f4f0e8; color:#181713; padding:13px 14px; font:400 16px/1.35 "Helvetica Neue",Arial,sans-serif; }.form-grid textarea { resize:vertical; }.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus { border-color:#8b6a3f; outline:2px solid rgba(139,106,63,.18); outline-offset:1px; }.form-wide { grid-column:1/-1; }.honeypot { position:absolute !important; left:-9999px !important; opacity:0 !important; }.form-submit-row { margin-top:27px; padding-top:22px; border-top:1px solid #c9c1b4; display:flex; align-items:center; justify-content:space-between; gap:28px; }.form-submit-row p { max-width:390px; margin:0; color:#6e6961; font-size:12px; line-height:1.5; }.form-submit { flex-shrink:0; border:1px solid #1b1915; background:#171612; color:#eee9df; padding:15px 20px; cursor:pointer; text-transform:uppercase; font-size:10px; font-weight:700; letter-spacing:.12em; }.form-submit span { margin-left:8px; color:var(--gold); font-size:15px; }.form-submit:disabled { cursor:wait; opacity:.65; }.form-status { min-height:20px; margin:14px 0 0; color:#70562f; font-size:13px; }.modal-open { overflow:hidden; }
@media (max-width:650px) { .site-header { height:75px; padding:0 21px; }.wordmark { font-size:23px; }.contact-link { display:none; }.explore-panel { position:fixed; inset:75px 12px 12px; top:75px; width:auto; overflow:auto; }.panel-intro { font-size:25px; }.group-items { padding-left:26px; }.group-items article { align-items:flex-start; flex-direction:column; gap:7px; }.group-items a,.coming { align-self:flex-start; }.desktop-brand { display:none; }.project-ctas { top:auto; right:16px; bottom:max(82px,12vh); left:16px; width:auto; gap:8px; transform:none; }.project-ctas-label { margin-bottom:2px; }.project-bubble { min-height:136px; padding:17px 14px; }.project-bubble strong { max-width:112px; margin:10px 0 8px; font-size:19px; }.project-bubble-kicker { min-height:22px; font-size:6px; letter-spacing:.12em; }.project-bubble small { font-size:7px; }.questionnaire { width:calc(100vw - 20px); max-height:94vh; }.questionnaire-shell { padding:0 18px 24px; }.questionnaire-head { margin:0 -18px 22px; padding:21px 18px 18px; }.questionnaire-head h2 { font-size:30px; }.form-grid { grid-template-columns:1fr; gap:16px; }.form-wide { grid-column:auto; }.form-submit-row { align-items:stretch; flex-direction:column; gap:15px; }.form-submit { width:100%; }.form-grid input,.form-grid select,.form-grid textarea { font-size:16px; } }
@media (max-height:650px) and (max-width:650px) { .project-ctas { bottom:28px; }.project-bubble { min-height:116px; }.project-bubble-kicker { display:none; } }
@media (prefers-reduced-motion:reduce) { * { transition:none !important; }.project-bubble::before { animation:none; } }

.company-actions { display:flex; flex-direction:column; align-items:flex-end; gap:9px; }
.services-link { border:0; border-bottom:1px solid #ae8b5c; padding:0 0 4px; background:transparent; color:#564a3a; cursor:pointer; text-transform:uppercase; font-size:9px; letter-spacing:.1em; }
.home-help-tab { position:absolute; z-index:3; right:4.5vw; bottom:34px; min-width:340px; min-height:64px; padding:12px 15px; display:flex; justify-content:space-between; align-items:center; gap:20px; border:1px solid rgba(238,233,223,.42); border-left:3px solid var(--gold); background:rgba(13,13,12,.9); box-shadow:0 14px 45px rgba(0,0,0,.42); backdrop-filter:blur(12px); transition:transform .2s ease,border-color .2s ease,background .2s ease; }
.home-help-tab:hover,.home-help-tab:focus-visible { transform:translateY(-3px); border-color:var(--gold); background:#171510; outline:none; }
.home-help-tab > span { display:flex; flex-direction:column; gap:5px; }
.home-help-tab small { color:#bcb5aa; font-size:8px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.home-help-tab strong { font:400 18px/1 Georgia,serif; }
.home-help-tab > b { color:var(--gold); font-size:9px; font-weight:600; letter-spacing:.1em; }
.home-services { width:min(940px,calc(100vw - 30px)); max-height:92vh; padding:0; border:1px solid rgba(183,149,98,.62); background:#e9e3d8; color:#171612; box-shadow:0 35px 120px rgba(0,0,0,.72); }
.home-services::backdrop { background:rgba(4,4,3,.84); backdrop-filter:blur(8px); }
.home-services-shell { padding:0 34px 32px; }
.home-services-head { position:sticky; z-index:1; top:0; margin:0 -34px; padding:26px 34px 23px; display:flex; align-items:flex-start; justify-content:space-between; gap:24px; background:#e9e3d8; border-bottom:1px solid #c9c1b4; }
.home-services-head p { margin:0 0 9px; color:#806641; font-size:10px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.home-services-head h2 { margin:0; font:400 clamp(30px,4.6vw,50px)/.98 Georgia,"Times New Roman",serif; letter-spacing:-.045em; }
.home-services-close { border:1px solid #8c8376; background:transparent; color:#272520; padding:8px 10px; cursor:pointer; text-transform:uppercase; font-size:9px; font-weight:700; letter-spacing:.12em; }
.home-services-intro { max-width:700px; margin:25px 0; color:#514c44; font:400 17px/1.5 Georgia,serif; }
.service-list { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #c9c1b4; border-left:1px solid #c9c1b4; }
.service-list section { min-height:155px; padding:21px 20px; border-right:1px solid #c9c1b4; border-bottom:1px solid #c9c1b4; }
.service-list h3 { margin:0 0 12px; font:400 18px/1.08 Georgia,serif; }
.service-list p { margin:0; color:#6e6961; font-size:12px; line-height:1.55; }
.home-services-contact { margin-top:24px; display:flex; justify-content:space-between; align-items:center; gap:28px; }
.home-services-contact > p { margin:0; color:#6e6961; font-size:12px; }
.home-services-contact a { min-width:245px; padding:14px 18px; display:flex; justify-content:space-between; align-items:center; gap:22px; background:#171612; color:#eee9df; text-transform:uppercase; }
.home-services-contact a span { font-size:9px; font-weight:700; letter-spacing:.14em; }
.home-services-contact a strong { color:var(--gold); font-size:11px; letter-spacing:.08em; }

@media (max-width:650px) {
  .company-actions { align-items:flex-start; }
  .project-ctas { bottom:142px; }
  .project-bubble { min-height:124px; padding:15px 14px; }
  .home-help-tab { right:16px; bottom:66px; left:16px; min-width:0; min-height:58px; padding:10px 12px; }
  .home-help-tab > b { font-size:8px; }
  .home-services { width:calc(100vw - 20px); max-height:94vh; }
  .home-services-shell { padding:0 18px 24px; }
  .home-services-head { margin:0 -18px; padding:21px 18px 18px; }
  .home-services-head h2 { font-size:30px; }
  .home-services-intro { font-size:16px; }
  .service-list { grid-template-columns:1fr; }
  .service-list section { min-height:0; }
  .home-services-contact { align-items:stretch; flex-direction:column; gap:15px; }
  .home-services-contact a { min-width:0; }
}

@media (max-height:650px) and (max-width:650px) { .project-ctas { bottom:126px; } .home-help-tab { bottom:22px; } }
