/* Reset */ *{ margin:0; padding:0; box-sizing:border-box; } /* Theme tokens from request */ :root{ --bg: #000; /* Black background */ --text: #fff; /* White text */ --muted: #d1d1d1; /* Light gray */ --accent: #f7931a; /* Bitcoin orange */ --border: #222; /* Subtle borders on dark */ --tint: #0a0a0a; /* Section tint */ --container: 1200px; --c-bg: #000; /* base for layered bg */ } html,body{ height:100%; } body{ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; font-size: 1.1rem; /* +10% */ line-height: 1.6; letter-spacing: 0.02em; color: var(--text); /* Two vivid hues (HSL): orange-yellow + blue-purple */ background: radial-gradient(1200px 600px at 85% 0%, hsla(19, 100%, 51%, 0.741), transparent 48%), radial-gradient(800px 680px at -5% 52%, hsla(73, 54%, 95%, 0.528), transparent 45%), var(--c-bg); background-attachment: fixed, fixed, fixed; /* gentle parallax */ } /* Links */ a{ color: var(--accent); text-decoration: underline; } a:hover{ opacity:.9; } /* Layout helpers */ .container{ max-width: var(--container); margin: 0 auto; padding: 0 2rem; display:flex; flex-direction:column; align-items:stretch; } .row{ display:flex; flex-direction: row; } .between{ justify-content:space-between; } .center{ align-items:center; } .section{ padding: 4rem 0; border-bottom: none; } .tinted{ background: var(--tint); } /* Header / Navigation */ .site-header{ position: sticky; top:0; z-index:10; background: rgba(0,0,0,.7); backdrop-filter: blur(6px); border-bottom:none; } .site-header .container{ padding: calc(0.75rem * 1.40) 2rem; display:flex; flex-direction:row; justify-content:space-between; align-items:center; } .logo{ color:#fff; text-decoration:none; font-weight:800; letter-spacing:0.5px; font-size: 2.1em; } .left-group{ display:flex; align-items:center; gap:6px; } .nav ul{ list-style:none; display:flex; gap:1.3rem; } .nav a{ color:#fff; text-decoration:none; font-weight:600; border-bottom:2px solid transparent; padding:0; line-height:1; } .nav a:hover{ border-color: var(--accent); } .nav-toggle{ display:none; background:none; border:1px solid var(--border); color:#fff; padding:6px 10px; border-radius:8px; } .brand-mark{ height: 68px; width:auto; display:block; border-radius:6px; } @media (max-width: 768px){ .nav-toggle{ display:block; } .nav ul{ display:none; position:absolute; right:16px; top:56px; background:#0d0d0d; border:1px solid var(--border); border-radius:12px; padding:12px; flex-direction:column; min-width:200px; } .nav ul.open{ display:flex; } } /* Intro layout */ .intro-grid{ display:grid; grid-template-columns: 0.8fr 1.2fr; gap:2rem; align-items:start; } .intro-media img{ width:100%; height:auto; border-radius:16px; border:none; } .intro-copy h1{ font-size: 4.5rem; font-weight:700; line-height:1.1; letter-spacing:-0.01em; margin:0 0 0.6rem; } .intro-copy p{ margin-bottom:1.5rem; color: var(--muted); } /* Accent subhead should override paragraph color */ .intro-copy .subhead{ font-size: 2rem; font-weight:800; letter-spacing: 0.01em; margin: 0 0 .6rem; color: var(--accent); } .accent{ color: var(--accent); } .actions{ display:flex; gap:12px; flex-wrap:wrap; } /* Buttons */ .button{ display:inline-block; padding:10px 16px; border-radius:10px; border:1px solid var(--border); background:#0f0f0f; color:#fff; text-decoration:none; font-weight:700; } .button.primary{ background: var(--accent); color:#000; border-color: transparent; } .button:hover{ transform: translateY(-1px); transition: transform .15s ease; } /* Headings and general type */ h1{ font-size: 5rem; font-weight:700; line-height:1.1; letter-spacing:-0.01em; margin: 0 0 0.6rem; } /* doubled + tightened */ h2{ font-size: 4rem; font-weight:700; line-height:1.1; letter-spacing:-0.01em; margin: 1.6rem 0 0.6rem; } /* doubled + tightened */ p{ margin-bottom: 1.5rem; font-size: 1.15em; } /* +15% */ .lead{ color: var(--muted); } /* Grids */ .grid{ display:grid; gap:16px; } .alt-row{ display:grid; grid-template-columns: 1fr 1fr; gap:2rem; align-items:center; width:100%; } .alt-left .col-title{ order:1; } .alt-left .col-content{ order:2; } .alt-right .col-media{ order:1; } .alt-right .col-title{ order:2; } .placeholder{ width:100%; aspect-ratio: 4/3; background:#0d0d0d; border:1px dashed var(--border); border-radius:12px; } /* Fixed 4:3 media slot like placeholder */ .col-media{ width:100%; aspect-ratio: 4/3; } .col-media img{ width:100%; height:100%; border-radius:12px; border:none; display:block; object-fit:cover;background-color: transparent; } .span-2{ grid-column: 1 / -1; width:100%; } .principles-grid{ grid-template-columns: repeat(2, 1fr); } .team-grid{ grid-template-columns: repeat(4, 1fr); gap:16px; } @media (max-width: 900px){ .principles-grid{ grid-template-columns: 1fr; } .team-grid{ grid-template-columns: repeat(2, 1fr); } .intro-grid{ grid-template-columns: 1fr; } .alt-row{ grid-template-columns: 1fr; } } /* Cards */ .card{ background:#0e0e0e; border:1px solid var(--border); border-radius:14px; padding:18px; } .card h3{ margin:0 0 6px; font-size:2rem; line-height:1.15; letter-spacing:-0.01em; } /* doubled + tightened */ .card p{ margin:0; color:var(--muted); } .icon{ width:28px; height:28px; display:block; margin-bottom:8px; } /* === Icon + h3 side-by-side in cards === */ .principles-grid .card{ display: grid; grid-template-columns: auto 1fr; /* icon | title */ align-items: center; gap: 0 10px; } /* kill the block stacking + extra bottom margin on the icon */ .principles-grid .card .icon{ width: 38px; height: 38px; display: block; /* ok */ margin: 0; /* <— important: no margin-bottom */ } /* keep the title tight so it aligns with the icon */ .principles-grid .card h3{ margin: 0; /* remove the 6px bottom gap */ line-height: 1.1; } /* let the paragraph flow on the next row, full width */ .principles-grid .card p{ grid-column: 1 / -1; margin-top: 8px; } /* Updates list */ .updates{ list-style: none; display:grid; gap:.75rem; } .updates li{ color: var(--muted); } /* Only this variant shows the whole image inside the same 4:3 box */ .col-media.letterbox img{ width: 100%; height: 100%; object-fit: contain; /* no crop, keeps 4:3 footprint */ background-color: transparent; /* IMPORTANT: let alpha show the page gradient */ } /* Team images smaller */ .team-grid{ grid-template-columns: repeat(auto-fit, minmax(90px, 1fr)); gap:12px; } .team-grid img{ width:100%; max-width:120px; height:auto; border-radius:12px; border:none; display:block; justify-self:center; } .team-member{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; text-align:center; } .team-member figcaption{ font-size:0.85rem; color:var(--muted); text-align:center; max-width:120px; } /* Contact */ .contact{ display:grid; gap:12px; max-width:680px; width:100%; } .contact label{ display:grid; gap:6px; width:100%; } input,textarea{ background:#0b0b0b; color:#fff; border:1px solid var(--border); padding:10px 12px; border-radius:10px; width:100%; } /* Footer */ .site-footer{ border-top:none; } .site-footer .container{ padding:20px 0; align-items:center; gap:10px; } .footer-nav{ display:flex; gap:1rem; flex-wrap:wrap; justify-content:center; } .footer-nav a{ color:#fff; text-decoration:none; border-bottom:2px solid transparent; padding-bottom:2px; } .footer-nav a:hover{ border-color: var(--accent); } /* Responsive type tweaks */ @media (max-width: 768px){ h1{ font-size: 3rem; } /* larger on mobile too */ h2{ font-size: 2.6rem; } .card h3{ font-size: 1.6rem; } .intro-copy h1{ font-size: 3rem; } .intro-copy .subhead{ font-size: 1.6rem; } }