
.universe-nav { display:flex; flex-wrap:wrap; gap:6px 26px; padding:14px clamp(22px,5vw,76px); border-bottom:1px solid var(--line); font-size:.9rem; }
.universe-nav a { padding:9px 0; color:#c9c6bd; border-bottom:2px solid transparent; }
.universe-nav a[aria-current], .universe-nav a:hover { color:#fff; border-color:var(--accent); }
.home-link { margin-right:auto; }
.universe-hero { position:relative; isolation:isolate; background-image:var(--hero-image); background-size:cover; background-position:center; }
.universe-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(8,8,7,.95) 0%,rgba(8,8,7,.82) 44%,rgba(8,8,7,.36) 100%); }
.hero-inner { padding:clamp(56px,7vw,105px) clamp(22px,5vw,76px); max-width:1050px; }
.universe h1 { font:600 clamp(3rem,6.6vw,6.7rem)/1.04 "Oswald",sans-serif; text-transform:uppercase; margin:0; letter-spacing:-.015em; }
.hero-lead { font-size:clamp(1rem,1.5vw,1.2rem); color:#e4e1d9; max-width:620px; line-height:1.8; margin:26px 0; }
.cta-row { display:flex; flex-wrap:wrap; gap:14px; align-items:stretch; }
.primary-button,.secondary-button { display:inline-flex; align-items:center; justify-content:center; text-align:center; padding:16px 22px; font-size:1rem; font-weight:700; min-height:52px; line-height:1.5; }
.primary-button { color:#17130d; background:var(--accent); border:1px solid var(--accent); }
.secondary-button { border:1px solid #d8d3c8; }
.primary-button:hover { background:#edb66e; }.secondary-button:hover { background:#fff;color:#11110f; }
.hero-jump { display:inline-block; margin-top:32px; padding:8px 0; font-size:.9rem; color:#ddd8cd; border-bottom:1px solid #777368; }
.section-pad { padding:clamp(54px,7vw,104px) clamp(22px,5vw,76px); }
.universe h2 { font:600 clamp(2.2rem,4.4vw,4.5rem)/1.08 "Oswald",sans-serif; text-transform:uppercase; margin:0 0 40px; }
.universe h3 { font:500 clamp(1.5rem,2.3vw,2rem)/1.22 "Oswald",sans-serif; margin:0 0 14px; }
.universe p { line-height:1.75; }.universe .eyebrow { font-size:.875rem; line-height:1.5; letter-spacing:.15em; }
.needs { background:#171714; }.need-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.need-card { padding:32px; display:flex; flex-direction:column; border-right:1px solid var(--line); border-bottom:1px solid var(--line); transition:background .2s; }
.need-card:hover,.need-card:focus-visible { background:#25251e; }.need-number { color:var(--accent); font-size:.875rem; margin-bottom:28px; }
.need-card p { color:#c9c6bd; margin:0 0 24px; font-size:1rem; }.need-link { margin-top:auto; font-size:.9rem; font-weight:700; }.need-link span { margin-left:12px; color:var(--accent); }
.process { background:var(--paper); color:var(--ink); }.process .eyebrow { color:#855215; }.process ol { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }.process li { border-top:1px solid #aaa69b; padding-top:22px; }.step-number { display:block; color:#855215; font-size:1rem; margin-bottom:22px; }.process p { margin:0; color:#45443e; }
.detail-section { background:#11110f; }.detail-row { display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,7vw,100px); border-top:1px solid var(--line); padding:38px 0; scroll-margin-top:20px; }.detail-row:last-child { padding-bottom:0; }.detail-row p { margin-top:0; color:#c9c6bd; }.detail-row .eyebrow { color:var(--accent); font-size:.875rem; letter-spacing:.08em; }.text-link { font-size:.95rem; display:inline-block; padding:8px 0; border-bottom:1px solid var(--accent); }
.faq-section { display:grid; grid-template-columns:1fr 1.4fr; gap:50px; background:#1a1a17; }.faq-list details { border-top:1px solid var(--line); }.faq-list details:last-child { border-bottom:1px solid var(--line); }.faq-list summary { cursor:pointer; padding:24px 8px 24px 0; font-weight:600; font-size:1rem; line-height:1.6; }.faq-list details p { color:#c9c6bd; margin:0 0 28px; }
.project-contact { display:grid; grid-template-columns:1.4fr 1fr; align-items:center; gap:42px; }.project-contact h2 { margin-bottom:22px; }.project-contact p { max-width:600px; color:#c9c6bd; }.project-contact .eyebrow { color:var(--accent); }.contact-actions { display:flex; flex-direction:column; align-items:stretch; gap:14px; max-width:430px; }.email-text { text-align:center; padding:10px; font-size:1rem; overflow-wrap:anywhere; }
.other-universes { display:flex; flex-wrap:wrap; gap:16px 30px; padding:30px clamp(22px,5vw,76px); border-block:1px solid var(--line); font-size:.9rem; }.other-universes>span { color:#b9b5ab; margin-right:auto; }.other-universes a { padding-bottom:5px; border-bottom:1px solid #6b675d; }
@media(max-width:950px) { .need-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.faq-section { grid-template-columns:1fr;gap:0; }.process ol { gap:24px; }.project-contact { grid-template-columns:1fr; } }
@media(max-width:600px) { .universe-nav { gap:3px 20px; }.universe-nav .home-link { flex-basis:100%; }.universe-nav a { font-size:.875rem; }.universe-hero::before { background:rgba(8,8,7,.8); }.need-grid,.process ol,.detail-row { grid-template-columns:1fr; }.need-card { padding:26px; }.need-number { margin-bottom:16px; }.detail-row { gap:8px; }.cta-row { flex-direction:column; }.hero-inner { padding-top:44px; }.universe h1 { font-size:clamp(2.7rem,11vw,4.2rem); }.contact-actions { max-width:none; }.process ol { gap:32px; }.other-universes>span { flex-basis:100%; } }
