diff --git a/_includes/companies-carousel.html b/_includes/companies-carousel.html index d04c1d4..bc0f41e 100644 --- a/_includes/companies-carousel.html +++ b/_includes/companies-carousel.html @@ -1,4 +1,4 @@ -
+ \ No newline at end of file diff --git a/_includes/threatmodel-cta.html b/_includes/threatmodel-cta.html new file mode 100644 index 0000000..957e5ea --- /dev/null +++ b/_includes/threatmodel-cta.html @@ -0,0 +1,32 @@ +
+
+

distrust
threat model

+
+ +
+ +
+
+
+

Tiered threat levels

+

From script kiddies to nation states, our model adapts to what you’re protecting, and who you're protecting against.

+
+
+

Cut attack surface

+

Rather than focusing on specific vulnerabilities, our model helps eliminate entire classes of attacks by design.

+
+
+

Assume compromise

+

Design with the assumption that systems are already breached to build resilient defenses.

+
+
+ +
\ No newline at end of file diff --git a/_includes/values.html b/_includes/values.html index f7fe20e..053fabe 100644 --- a/_includes/values.html +++ b/_includes/values.html @@ -5,7 +5,7 @@
    -
  1. eliminate centralized trust
  2. +
  3. decentralize trust
  4. open source everything
  5. security beyond compliance
  6. move thoughtfully & improve things
  7. diff --git a/_includes/why-choose-distrust.html b/_includes/why-choose-distrust.html new file mode 100644 index 0000000..4c52ab5 --- /dev/null +++ b/_includes/why-choose-distrust.html @@ -0,0 +1,33 @@ +
    +
    +
    +

    why choose Distrust

    +

    Benefit from our approach—a blend of proven methodologies and open source tooling we created, shaped by lessons from securing some of the world's highest-risk organizations.

    +
    +
    +
    +
    +
    +
    +
    + +

    Eliminate root causes

    +

    We don't just scan for bugs—we eliminate entire categories of bugs at the source using a first-principles methodology.

    +
    +
    + +

    Verifiable

    +

    No guessing, no shortcuts. Every recommendation is backed by logic and rigor, not gut feel or just to check boxes.

    +
    +
    + +

    Proven track record

    +

    Our security engineers have secured some of the highest risk infrastructure in the world (BitGo, Turnkey, Unit 410).

    +
    +
    + +

    Embedded collaborations

    +

    We act as true partners— our goal is to make our clients succeed and not depend on us.

    +
    +
    +
    \ No newline at end of file diff --git a/_layouts/company.html b/_layouts/company.html index 1894788..9a4f99f 100644 --- a/_layouts/company.html +++ b/_layouts/company.html @@ -20,16 +20,6 @@

    the world is built on blind trust. we are here to change that.


    -
    -
    -

    Too often, security is an afterthought—based on dogma, checklists, and outdated best practices. Distrust was founded to redefine security by developing new methods to eliminate single points of failure, and building systems in a manner where they don't need to be blindly trusted. -

    -

    We don’t just advise on security. We build it. We open-source it. And we teach organizations how to think critically about risk—because security isn’t about checking boxes. -

    - - Learn more - -
@@ -67,7 +57,7 @@ Keyoxide | Website - + @@ -75,15 +65,34 @@

who we are

Distrust is made up of engineers behind some of the most security-critical projects in the world—including BitGo, Turnkey, and Unit410.

We’ve helped hundreds of companies by conducting security reviews, building out their security infrastructure, and aiding them in launching products which can withstand the modern threat landscape. We don’t just secure systems. We build them.

-
- Work with us -
- + {% include values.html %} - {% include primary-cta.html %} +
+ +
+
+
+
+
+

our approach

+

Too often, security is an afterthought—based on dogma, checklists, and outdated best practices. Distrust was founded to redefine security by developing new methods to eliminate single points of failure, and building systems in a manner where they don't need to be blindly trusted.

+

We don’t just advise on security. We build it. We open source it. And we teach organizations how to think critically about risk—because security isn’t about checking boxes.

+ +
+
+ + {% include why-choose-distrust.html %} + + {% include primary-cta.html %} + {%- include footer.html -%} diff --git a/_layouts/contact.html b/_layouts/contact.html index 068b07d..55f308f 100644 --- a/_layouts/contact.html +++ b/_layouts/contact.html @@ -3,61 +3,80 @@ {%- include head.html -%} {%- include header.html -%} -
-
-
-
-
contact
-
-
-

tell us about your biggest security challenges

-
-
-
-
-
-
-
- - -
-
- - - + +
+
+
+ +
+

contact us

+

+ Building something new or need a second set of eyes on what’s already live? Our security engineers are ready to help you move faster, safer, and with full control.
+

+
+
    +
  • BitGo
  • +
  • Ledn
  • +
  • Turnkey
  • +
  • Mysten Labs
  • +
  • Optimism
  • +
  • FalconX
  • +
  • Sidero Labs
  • +
  • Zoom
  • +
  • Ether Fi
  • +
  • Exodus
  • +
  • HashiCorp
  • +
  • Fitbit
  • +
+
+
+ +
+ +
+
+ + +
+
+
+
- - + + - - + + - + + - - - -

We respect your privacy. The information you provide will only be used to respond to your inquiry and will never be shared externally.

- -
+ -
- {% include companies-carousel.html hide_title='true' %} + + + +

We respect your privacy. The information you provide will only be used to respond to your inquiry and will never be shared externally.

+ +
+
+
+ + -
{%- include footer.html -%} diff --git a/_layouts/landing.html b/_layouts/landing.html index 033738d..64d2235 100644 --- a/_layouts/landing.html +++ b/_layouts/landing.html @@ -17,7 +17,7 @@

security without blind trust

-

Distrust secures mission critical infrastructure by applying a first principles approach. No guessing, no shortcuts, only verifiable security.

+

Distrust secures mission-critical infrastructure by applying a first principles approach. No guessing, only verifiable security.


Work with us
@@ -27,7 +27,6 @@
- {% include companies-carousel.html %}
@@ -35,16 +34,19 @@
what we do

-

our services today, our vision for tomorrow

+
+

our services today, our vision for tomorrow

+

-
+

services

-

We don’t just assess risks—we eliminate them. Our first principles approach removes single points of failure, protects mission-critical systems, and ensures verifiable security. Whether you need a full audit, architecture review, incident response, or ongoing retained support we have you covered.

+

Our threat model approach stems from working with high-risk orgs, uniquely positioning us to offer advice and support others can't. We specialize in system architecture design, security assessments, penetration tests, smart contract audits, and infrastructure hardening.

+

We specialize in system architecture design, security assessments, penetration tests, smart contract audits, and infrastructure hardening. Hire Distrust to solve your hardest security challenges.


- Learn more + Explore services
@@ -53,7 +55,8 @@

software

-

Security is always evolving—so are we. Distrust is building the next generation of security infrastructure that eliminates reliance on any single computer, person, or system. Using full-source bootstrapping, determinism, and quorum-based security, we ensure verifiable, trustless protection at every layer.

+

We build open source software that eliminates reliance on any single computer, person or system. Our tooling unlocks a new level of trust in infrastructure through uncompromising transparency and verifiability. Explore and start using our open source tools today.

+

We develop open source software that eliminates reliance on any single computer, person or system. Explore active tools and what's coming soon.


View software @@ -63,8 +66,12 @@
+ {%include divider.html %} + {% include powered-by.html %} + {% include threatmodel-cta.html %} + {% include values.html %} {% include primary-cta.html %} diff --git a/_layouts/services.html b/_layouts/services.html index 3f1efae..d74ecf1 100644 --- a/_layouts/services.html +++ b/_layouts/services.html @@ -21,7 +21,7 @@

- hire Distrust to solve your hardest security challenges + solve your hardest security challenges


Built by engineers behind BitGo, Unit410, and Turnkey, we apply hard-earned lessons from securing critical infrastructure to build transparent, resilient, and universally applicable security solutions.

@@ -32,52 +32,18 @@
- {% include companies-carousel.html hide_title='true' %} - -
-
-
-

why choose Distrust

-

Benefit from our approach—a blend of proven methodologies and open source tooling we created, shaped by lessons from securing some of the world's highest-risk organizations.

-
-
-
-
-
-
-
- -

Eliminate root causes

-

We don't just scan for bugs—we eliminate entire categories of bugs at the source using a first-principles methodology.

-
-
- -

Verifiable

-

No guessing, no shortcuts. Every recommendation is backed by logic and rigor, not gut feel or just to check boxes.

-
-
- -

Proven track record

-

Our security engineers have secured some of the highest risk infrastructure in the world (BitGo, Turnkey, Unit 410).

-
-
- -

Embedded collaborations

-

We act as true partners— our goal is to make our clients succeed and not depend on us.

-
-
-
+ {%include divider.html %}

our services

-

Distrust offers high-impact security consulting and open-source tooling for companies that can't afford to fail. +

Distrust offers high-impact security consulting and open source tooling for companies that can't afford to fail.

retainer / fractional CISO

-

Get ongoing security leadership tailored precisely to your organization's needs. We embed with your team to provide strategic security direction and eliminate blind trust from your infrastructure—so you're prepared before threats emerge.

+

Get ongoing security leadership tailored precisely to your organization's needs. We embed with your team to provide strategic security direction and eliminate blind trust from your infrastructure—so you're prepared before threats emerge.

  • Security program development
  • Incident response
  • @@ -85,7 +51,7 @@
  • Vetting security talent

-
@@ -93,15 +59,15 @@

security assessments

-

Our assessments go beyond vulnerability scans—we eliminate risks at their source. Using first-principles threat modelling, we identify single points of failure and deliver actionable recommendations to secure your systems against sophisticated threats.

+

Our assessments go beyond vulnerability scans—we eliminate risks at their source. Using first-principles threat modelling, we identify single points of failure and deliver actionable recommendations to secure your systems against sophisticated threats.

  • Secure architecture review
  • Security audits
  • Penetration testing
  • -
  • Secure code review
  • +
  • Smart contract audits

- @@ -109,6 +75,10 @@
+ {% include companies-carousel.html %} + + {% include why-choose-distrust.html %} +
- -
-

ready to take your security to the next level?

-

We help organizations that can't afford to fail. If security is mission-critical for your company, let's talk.

- -
+ {%- include primary-cta.html -%}
diff --git a/_layouts/software.html b/_layouts/software.html index e3d39f6..cf0fc11 100644 --- a/_layouts/software.html +++ b/_layouts/software.html @@ -21,22 +21,33 @@
software

-

verifiable security without single points of failure

+

open source tools for verifiable security


Most systems still rely on single individuals or computers, unverifiable software, and opaque processes. We’re redesigning security for transparency from the ground up.

- View software + View software
-
+ {%- include live-tools.html -%} + + +
+ +
+
+ +
-

creating the building blocks for provable security

-

Modern software systems still rely on trust in individuals—maintainers, IT admins, or third-party providers. But what happens when they are compromised? How do you verify that the software running on your systems hasn’t been tampered with?

-

We’ve identified critical missing pieces needed to remove single points of failure at every level. Our approach covers the complete lifecycle of software from your toolchains and dependencies to how your code is built, signed, verified and deployed.

-

By combining multi-party trust, remote attestation, and bit-for-bit reproducibility, we are methodically eliminating trust assumptions, ensuring security isn’t just a claim—it’s provable. And as everything we do, all our software is open source.

+

building blocks
for provable security

+

Modern software systems still rely on trust—maintainers, IT admins, third-party providers. But what happens when they are compromised? How do you verify that your systems haven't been tampered with?

+

We’ve identified critical gaps and built tools to remove single points of failure across all levels of the software lifecycle—from toolchains and dependencies to how code is built, signed, verified and deployed.

+

By combining multi-party trust, remote attestation, and bit-for-bit reproducibility, we are eliminating trust assumptions, ensuring security isn't just a claim—it's provable. And as everything we do, all our software is open source.

See what we're building @@ -45,15 +56,14 @@
- {% include powered-by.html %} -
-

our software

-

We are actively working on a number of different projects, and looking to fund others. Here is what's on the way and what's coming next.

+

our roadmap

+

We're actively building some tools—and raising support to build others. Here's what's in-progress and what's coming next.

- +

Icepick

Framework for offline cryptographic signing operations.

+ {%- include divider.html -%} + + {% include powered-by.html %} + + {%- include divider.html -%} +
-

❝Our mission is to use our knowledge to improve the security, privacy, and freedom of as many individuals as possible. We believe having verifiable foundations on which technologies can be built is a fundamental step toward improving the wellbeing of our species and solving the coordination problem.❝ — Distrust team

+

❝We want to use our knowledge to improve security, privacy, and freedom for as many people as possible. We believe that verifiable foundations for building technology are essential to human wellbeing and solving the coordination problem.❝ — Distrust team

-
-

want to help with our vision?

-

If you would like to help us, please sponsor our work or get involved as a contributor.

-
- Get in touch + {%- include divider.html -%} + +
+

fund open source development

+

Your support funds the tools. Your forks spread the mission. Help us build transparent, verifiable security tools — together.

+

Your support funds the tools. Help us build transparent, verifiable security tools — together.

+ -
+ diff --git a/_layouts/threatmodel.html b/_layouts/threatmodel.html index 40247e2..71c6c4a 100644 --- a/_layouts/threatmodel.html +++ b/_layouts/threatmodel.html @@ -3,16 +3,18 @@ {%- include head.html -%} {%- include header.html -%} +
-
+
-

Distrust Threat Model

-

Unlike conventional frameworks (e.g., STRIDE, PASTA) that focus on identifying and mitigating specific risks, the Distrust Threat Model assumes that at some level systems are already compromised. This pessimistic, assumption-driven approach focuses on building systems that can remain secure even when up against the worst case adversary that have reason to target an organization.

+

Distrust threat model

+

Distrust's threat model aids organizations in methodically eliminating surface area for attack, making entire classes of attacks impossible. +
Unlike conventional frameworks (e.g., STRIDE, PASTA) that focus on identifying and preventing specific risks, our threat model assumes that at some level systems are already compromised. This pessimistic set of assumptions allows organizations to build systems that can remain secure even when up against their worst case adversary.

-
+

Levels

While the end-goal is to adequately address the risks which stem from the assumptions, organizations are at varying levels of maturity and often need a path towards mitigating threats in a phased approach. To this end, the threat model defines 4 levels, each corresponding to increasingly more sophisticated threat actors as the levels increase. Each threat actor is assumed to have access to specific methods of attack limited by factors such as cost to execute, sophistication, time required etc.

@@ -20,12 +22,14 @@
-
+
+ +

Level 1

Defense against remote adversaries with limited resources.

Adversary
-

An unskilled or lightly skilled individual leveraging widely available tools and publicly known vulnerabilities. Their attacks are largely opportunistic and automated. We do however assume they can be very patient and willing to work across a long time horizon.

+

An unskilled or lightly skilled individual leveraging widely available tools and publicly known vulnerabilities. Their attacks are largely opportunistic and automated. We do, however, assume they can be very patient and willing to work across a long time horizon.

Capabilities
  • Scanning for and exploiting known vulnerabilities with public exploits.
  • @@ -37,7 +41,9 @@
-
+
+ +

Level 2

Defense against insiders.

@@ -57,7 +63,9 @@
-
+
+ +

Level 3

Defense against well-funded organizations.

@@ -75,12 +83,14 @@
-
+
+ +

Level 4

Defense against nation state actors.

Adversary
-

A state-backed or similarly resourced entity capable of executing the most advanced forms of cyber and physical attacks, including full-spectrum operations across the supply chain, hardware, firmware, and human factors..

+

A state-backed or similarly resourced entity capable of executing the most advanced forms of cyber and physical attacks, including full-spectrum operations across the supply chain, hardware, firmware, and human factors.

Capabilities
  • Observe all displays and input devices in public areas.
  • @@ -93,7 +103,27 @@
+ +
+ +
+
+

Applying the Threat Model

+

The Distrust Threat Model challenges organizations to examine their systems through the lens of failure: not if things go wrong, but when. It provides a structured way to evaluate your current posture and identify which parts of your infrastructure need to withstand which kinds of adversaries — from opportunistic attackers to state-backed campaigns.

+

Security isn’t one-size-fits-all. Different systems protect different kinds of value, and not every component needs Level 4 defenses. But understanding which ones do — and designing accordingly — is where resilience begins.

+
+
+
+ +
+

ready to assess your risk?

+

We help teams apply the Distrust Threat Model — mapping assets to adversaries and designing systems that stay secure, even when things go wrong.

+ +
+
{%- include footer.html -%} diff --git a/_sass/base.scss b/_sass/base.scss index cfd5a3e..d43474a 100644 --- a/_sass/base.scss +++ b/_sass/base.scss @@ -28,7 +28,7 @@ body { margin: 0 auto; padding: 0; font-family: $base-font-family; - font-size: $base-font-size; + font-size: clamp(1.25rem, 2.5vw, 1.4rem); color: var(--text-color); text-align: left; line-height: $base-line-height !important; @@ -42,21 +42,21 @@ body > div.container { } h1 { - font-size: 120px !important; - line-height: 100px !important; + font-size: clamp(3rem, calc(7vw + 1rem), 7.5rem) !important; + line-height: 0.9 !important; font-weight: 400 !important; } h2 { - font-size: 90px !important; - line-height: 80px !important; - width: 100% !important; + font-size: clamp(3rem, calc(7vw + 1rem), 5.6rem) !important; + line-height: 0.9 !important; font-weight: 400 !important; + width: 100% !important; } h3 { - font-size: 50px !important; - line-height: 50px !important; + font-size: clamp(1.5rem, 10vw, 3.3rem) !important; + line-height: 0.9 !important; width: 100% !important; } @@ -88,7 +88,8 @@ h6 { } p { - font-size: $base-font-size; + //font-size: $base-font-size;// + font-size: clamp(1.20rem, 2.5vw, 1.3rem); } p, @@ -115,6 +116,10 @@ a:hover { margin: auto; } +.divider { + margin-top: 3rem; +} + .gradient-text { font-size: 48px; font-weight: bold; @@ -134,12 +139,21 @@ a:hover { .hero-p { max-width: 800px; + font-size: clamp(1.25rem, 2.5vw, 1.3rem); +} + +.landing-page-header .hero-p { + font-size: clamp(1.25rem, 2.5vw, 1.4rem); } .hero-header { padding-bottom: 20px; } +h3.gradient-text.center { + overflow: visible; +} + .capsule-header { margin-top: 80px; margin-bottom: 30px; @@ -150,9 +164,9 @@ a:hover { background: var(--dark-grey); border: 1px solid var(--mid-purple); border-radius: 20px; - padding: 45px; + padding: 45px; margin: 20px; - min-height: 490px; + min-height: 430px; max-width: 550px; } @@ -160,6 +174,14 @@ a:hover { border: 1px solid var(--light-purple); } +.text-description-desktop { + display: block; +} + +.text-description-mobile { + display: none; +} + @mixin capsule { font-weight: 400; font-size: 16px; @@ -227,6 +249,12 @@ a:hover { } /* software page */ + +.live-tool-name { + font-size: 2.5rem; + font-weight: bolder; +} + .kanban-column { border:1px solid #282D38; padding: 20px 20px !important; @@ -244,6 +272,7 @@ a:hover { margin-bottom: 20px; padding: 20px 30px; min-height: 150px; + max-height: 150px; display: flex; justify-content: space-between; flex-direction: column; @@ -257,12 +286,12 @@ a:hover { .mini-card p { margin: 0px; - font-size: 1rem; + font-size: 1rem !important; color: var(--light-grey); } .mini-card { - font-size: 1rem; + font-size: 1rem !important; } .mini-card b { @@ -288,11 +317,11 @@ a:hover { } .column-progress .mini-card:hover { - border: 1px solid var(--light-teal); + border: 1px solid var(--light-purple); } .column-active .mini-card:hover { - border: 1px solid var(--light-purple); + border: 1px solid var(--light-teal); } .kanban-column a:hover { @@ -324,6 +353,14 @@ a:hover { margin-left: 20px; } +.backlog-mobile { + display: none; +} + +.backlog-desktop { + display: block; +} + .roadmap-title-container { display: flex; } @@ -357,6 +394,18 @@ a:hover { max-width: 700px; } +.threat-model { + margin-top: 1rem; + margin-bottom: 1.5rem; +} + +.divider-line { + border: none; + height: 1px; + background-color: var(--light-grey); + margin: 30px 0 !important; +} + .narrow-list > li > p { margin-top: 0px; } @@ -392,6 +441,10 @@ a:hover { color: white !important; } +.live-tools-cards .arrow-link:hover .arrow { + color: var(--light-teal) !important; +} + .mini-card:hover .arrow { transform: translateX(5px); } @@ -438,13 +491,33 @@ a:hover { margin-bottom: 50px; } +.flex-container.powered-by { + display: flex; + flex-wrap: wrap; + justify-content: center; + gap: 1rem; + max-width: 100%; + box-sizing: border-box; + padding: 0 1rem; + } + +.flex-container.powered-by .flex-container-inner { + margin-right: min(1em,8%); +} + .powered-by .card { display: flex; flex-direction: column; border: 1px solid var(--mid-grey); - min-height: 405px; - padding: 35px; + min-height: 400px; + padding: min(2.5em,8%); background: none; + width: 100%; + +} + +.powered-by .card:hover { + border: 1px solid var(--light-grey) } .powered-by img { @@ -463,6 +536,23 @@ a:hover { margin-top: auto; } +.live-tools-cards .card { + display: flex; + flex-direction: column; + min-height: 330px; + padding: 35px; + background: none; + border: 1px solid var(--light-teal); +} + +.live-tools-cards .arrow-link { + margin-top: 0.75rem; +} + +.live-tools-cards .card:hover { + box-shadow: 0 0 15px var(--dark-teal); +} + .video-background { left: 85%; width: 200px !important; @@ -509,22 +599,48 @@ a:hover { padding: 2rem; } -.video-background-philosophy { +.video-background-philosophy, .video-background-our-approach { left: 85%; width: 200px !important; } +.video-background-building-blocks { + right: 80%; + width: 100% !important; +} + .video-background-container-philosophy { position: absolute; width: 100%; height: 800px; overflow: hidden; - top: 3150px; + top: 2950px; left: 0; z-index: -1; } -.gradient-overlay-philosophy { +.video-background-container-our-approach { + position: absolute; + width: 100%; + height: 800px; + overflow: hidden; + top: 1850px; + left: 0; + z-index: -1; + transform: scaleY(-1) +} + +.video-background-container-building-blocks { + position: absolute; + width: 100%; + height: 800px; + overflow: hidden; + top: 2170px; + left: 0; + z-index: -1; +} + +.gradient-overlay-philosophy, .gradient-overlay-our-approach { background: linear-gradient(to bottom, #0f0f0f 0%, rgba(15, 15, 15, 0) 25%, rgba(15, 15, 15, 0) 75%, #0f0f0f 100%), linear-gradient(to left, rgb(15, 15, 15) 0%, rgba(15, 15, 15, 0) 100%); position: absolute; top: 0; @@ -535,7 +651,18 @@ a:hover { pointer-events: none; } -.video-background-philosophy { +.gradient-overlay-building-blocks { + background: linear-gradient(to bottom, #0f0f0f 0%, rgba(15, 15, 15, 0) 25%, rgba(15, 15, 15, 0) 75%, #0f0f0f 100%), linear-gradient(to right, rgb(15, 15, 15) 40%, rgba(15, 15, 15, 0) 100%); + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: -1; + pointer-events: none; +} + +.video-background-philosophy, .video-background-our-approach { position: absolute; top: 50%; left: 50%; @@ -548,28 +675,128 @@ a:hover { object-fit: cover; } -.video-content-philosophy { +.video-background-building-blocks { + position: absolute; + top: 50%; + left: 70%; + min-width: 100%; + min-height: 100%; + width: auto; + height: auto; + transform: translate(-50%, -50%); + z-index: -1; + object-fit: cover; +} + +.video-content-philosophy, .video-content-our-approach, .video-content-building-blocks { position: relative; z-index: 1; color: #fff; padding: 2rem; } +.video-content-building-blocks .why-distrust { + font-size: 70px !important; + line-height: 70px !important; +} + +.video-content-building-blocks { + margin-top: 15rem; + margin-bottom: 15rem; +} + .why-choose-distrust .properties .flex-container-inner { border-top: 1px solid var(--light-purple); margin-right: 40px; } -.why-choose-distrust svg { +.flex-container.properties { + display: flex; + flex-wrap: wrap; +} + +.flex-container.properties .flex-container-inner { + flex: min-content; + max-width: 40%; + box-sizing: border-box; +} + +.threatmodel-cta .properties .flex-container-inner { + border-top: 1px solid var(--pink); + margin-right: 40px; +} + +.why-choose-distrust svg, .threatmodel-cta svg { margin-top: 20px; } -@media only screen and (max-device-width: 500px) { - * { - font-size: $mobile-font-size; +.threatmodel-cta-columns { + display: flex; + justify-content: space-between; + align-items: center; + flex-wrap: wrap; + gap: 1rem; + margin-top: 15rem; + } + + + .flex-container-inner { + flex: 1; + min-width: 250px; + } + + .flex-container-inner .card .landing-offerings { + min-height: 480px; + } + + .threatmodel-cta-right-column .button-container { + flex-shrink: 0; + display: block; + } + + .threatmodel-cta-bottom .button-container { + display: none; + } + + .threatmodel-cta-right-column .mega.button, .threatmodel-cta-bottom .mega.button { + border: 2px solid var(--pink); + box-shadow: 0 0 18px var(--pink); + background-color: #2A0A1F; + } + + .threatmodel-cta-right-column .mega.button:hover, .threatmodel-cta-bottom .mega-inverted.button:hover { + border: 2px solid var(--pink); + box-shadow: 0 0 18px var(--pink); + background-color: var(--pink); + } + + .threat h4.gradient-text { + font-size: 48px !important; + font-weight: bold !important; + padding-bottom: 7px !important; + margin-top: 6rem !important; } + + .button-container.center { + display: flex; + justify-content: flex-end; + } + +.live-tools .properties .flex-container-inner { + border-top: 1px solid var(--light-purple); + margin-right: 40px; } +.live-tools svg { + margin-top: 20px; +} + +//@media only screen and (max-device-width: 500px) { + //* { + //font-size: $mobile-font-size;// + //}// +//}// + /** * Layout */ @@ -926,7 +1153,21 @@ hr { * End-Company Page */ + @media (max-width: 1390px) { + + .flex-container.properties .flex-container-inner { + flex: 100rem; + } + + .powered-by .card { + min-height: 250px; + padding: min(1.5em, 8%) + } + + } + @media (max-width: 1020px) { + .right-menu { width: 40px; height: 40px; @@ -964,8 +1205,17 @@ hr { .menu>li:not(:last-child) { border-bottom: 1px solid #444; } + + .values-container { + font-size: 23px !important; + } + + .live-tools-cards .card { + min-height: 430px; + } } + /** * Buttons */ @@ -1038,7 +1288,7 @@ hr { } .button-container { - padding: 30px 0px; + padding-top: min(1em, 50%); } .contact-button { @@ -1058,6 +1308,44 @@ hr { transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out; } +.two-column-layout { + display: flex; + flex-wrap: wrap; + gap: 40px; + align-items: flex-start; + justify-content: space-between; + } + +.contact-info { + flex: 1 1 45%; + max-width: 500px; + } + +.logo-grid-container { + margin-top: 20px; +} + +.logo-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); + gap: 20px 85px; + list-style: none; + padding: 0; + margin: 0; + align-items: center; + justify-items: start; + opacity: 0.9; + padding-top: 1.5rem; + } + + .logo-grid img { + max-width: 100%; + max-height: 50px; + object-fit: contain; + filter: grayscale(100%); + transition: filter 0.3s ease; + } + /** * Highlight/Markup */ @@ -1188,6 +1476,7 @@ textarea { .form-container { max-width: 700px; margin: auto; + margin-left: 9rem; } .form-container.card { @@ -1199,6 +1488,7 @@ textarea { .form-label { display: block; margin-bottom: 5px; + margin-top: 6px; } .form-input, @@ -1210,14 +1500,14 @@ textarea { caret-color: white !important; color: white !important; background: var(--background-color) !important; - height: 60px; + height: 50px; width: 100%; padding: 8px; margin-bottom: 10px; } .form-textarea { - height: 130px !important; + height: 100px !important; } .form-checkbox-container { @@ -1225,6 +1515,17 @@ textarea { flex-direction: column; } +.form-row { + display: flex; + gap: 20px; + flex-wrap: wrap; + } + + .form-half { + flex: 1; + min-width: 200px; + } + /** * Homepage */ @@ -1256,7 +1557,7 @@ section { } .mid-tall-section { - margin: 200px 0px; + margin: 150px 0px; } .tall-section { @@ -1733,6 +2034,16 @@ pre { color: var(--light-grey); } +.container-our-approach { + margin: auto; + max-width: 700px; + margin-top: 80px; +} + +.mid-tall-section.carousel { + margin: 250px 0px 200px 0px; +} + /** end carousel */ /** @@ -1819,7 +2130,7 @@ pre { } .post a { - color: var(--light-teal); + color: var(--pink); } .post a:hover { @@ -1843,11 +2154,71 @@ pre { .blog-details-read-time { padding: 2px 10px; margin-left: 15px; - color: white; + color: var(--pink); } /** end blog */ +/** TESTIMONIALS **/ + +.testimonials { + display: flex; + gap: 2rem; + flex-wrap: wrap; + justify-content: center; + padding: 3rem 1.5rem; + background-color: #0d0d0d; + } + + .testimonial-card { + background-color: #121212; + padding: 2rem; + border-radius: 1rem; + width: 320px; + display: flex; + flex-direction: column; + justify-content: space-between; + gap: 1.5rem; + } + + .testimonial-logo { + height: 32px; + } + + .testimonial-quote { + color: #fff; + font-size: 1rem; + line-height: 1.6; + font-style: italic; + } + + .testimonial-author { + display: flex; + align-items: center; + gap: 1rem; + } + + .testimonial-avatar { + width: 48px; + height: 48px; + border-radius: 50%; + object-fit: cover; + } + + .testimonial-name { + font-weight: 600; + color: #fff; + margin: 0; + } + + .testimonial-title { + font-size: 0.875rem; + color: #aaa; + margin: 0; + } + +//* TESTIMONIALS *// + *, *::before, *::after { @@ -1875,6 +2246,12 @@ pre { /** * media queries */ +@media (max-width: 1500px) { + + .video-background-container-our-approach { + top: 2190px; + } +} @media (max-width: 1380px) { .vertical-line-container { @@ -1887,7 +2264,31 @@ pre { } } +@media (max-width: 1258px) { + .logo-grid { + display: none; + } +} + @media (max-width: 1150px) { + + .flex-container-inner.card.roadmap-card.roadmap-card-teal { + min-height: 485px !important; + } + + .backlog-mobile { + display: block; + } + + .backlog-desktop { + display: none; + } + + .mini-card { + padding: 15px 15px; + max-height: 200px; + } + .roadmap-title-container { flex-direction: column; } @@ -1901,6 +2302,10 @@ pre { max-width: 100%; } + .mid-tall-section.carousel { + margin: 90px 0px 100px 0px; + } + footer { padding: 50px 0px 30px 0px; } @@ -1953,13 +2358,33 @@ pre { margin-left: 0rem; width: 20px; } + + .live-tools-cards .card { + min-height: 350px; + } + } @media (max-width: 1020px) { + + .flex-container.powered-by { + flex-direction: column; + align-items: center; + } + .flex-container-inner { width: 100% !important; + min-height: auto; margin: 0; - margin-bottom: 50px; + margin-bottom: 20px; + } + + .text-description-desktop { + display: none; + } + + .text-description-mobile { + display: block; } .hamburger-menu { @@ -1981,27 +2406,165 @@ pre { .team .flex-container-inner { margin-bottom: 30px; } + + .threatmodel-cta-columns .flex-container-inner, .threatmodel-cta-columns h2 { + margin-bottom: 0px; + } + h1 { - font-size: 80px !important; + //font-size: 80px !important;// line-height: 80px !important; } h2 { - font-size: 60px !important; - line-height: 60px !important; + //font-size: 60px !important;// + //line-height: 60px !important;// + } + + .video-background-container-our-approach { + top: 2400px; + transform: scaleX(-1); } } -@media (max-width: 730) { +@media (max-width: 850px) { + + .hero-header { + padding-bottom: 7px; + margin-bottom: 0px; + } + + .hero-header.landing-header { + padding-bottom: 25px; + font-size: 48px !important; + line-height: 48px !important; + } + + .button-container.threatmodel-cta-bottom { + padding-top: 0 !important; + } + + .button-container.services { + margin-bottom: 2rem; + } + + .capsule-header { + margin-bottom: 80px; + } + + .powered-by .card { + min-width: 0rem; + min-height: 330px; + } + + .flex-container-inner.live-tools, .quote { + margin-bottom: 0; + } + + h4.quote { + margin-bottom: 1rem !important; + } + + + .hero-p.center.live-tools { + max-width: 300px !important; + } + + .who-we-are .gradient-text { + margin-top: 3rem !important; + } + +.flex-container.powered-by .flex-container-inner { + margin-right: 0em; +} + +.flex-container.properties .flex-container-inner { + max-width: 40%; +} + +.why-choose-distrust .flex-container.properties .flex-container-inner { + height: 15rem !important; +} + +.video-background-container-our-approach { + top: 2150px; +} + +} + +@media (max-width: 730px) { footer { padding: 50px 0px 20px 0px; + margin-top: 1rem; + } + + .divider { + display: none; + } + + .flex-container.properties .flex-container-inner { + max-width: 100%; + max-height: 12rem; + } + + .why-choose-distrust .flex-container.properties .flex-container-inner { + max-width: 100%; + padding-bottom: 15rem !important; + } + + .card { + margin: 5px; + } + + .software-cta .gradient-text.center { + font-size: 40px; + } + + .threatmodel-cta-columns { + margin-top: 2rem !important; + } + + .threatmodel-cta-right-column .button-container { + display: none; + } + + .threatmodel-cta-bottom .button-container { + display: block; + } + + .threatmodel-cta { + margin-top: 0px !important; + } + + .video-content-building-blocks .why-distrust { + font-size: 40px !important; + line-height: 45px !important; + min-height: 150px; + } + + .video-content-building-blocks { + margin-top: 1rem; + margin-bottom: 2rem; + } + + .video-background-container-building-blocks { + top: 2800px; + } + + .video-background-container-philosophy { + top: 3430px; + } + + .why-distrust, .video-content-philosophy .why-distrust { + font-size: 55px !important; + line-height: 50px !important; } } @media (max-width: 600px) { - .mini-card { - padding: 20px 20px !important; - filter: brightness(100%) !important; + + .live-tools-cards .card { + min-height: 300px; } .kanban-column { @@ -2024,11 +2587,11 @@ pre { } .column-progress .mini-card { - border: 1px solid var(--light-teal); + border: 1px solid var(--light-purple); } .column-active .mini-card { - border: 1px solid var(--light-purple); + border: 1px solid var(--light-teal); } .flex-container { @@ -2095,6 +2658,7 @@ pre { } .footer-links { + width: 100%; gap: 3rem; flex-direction: row; line-height: 1.7rem !important; @@ -2129,7 +2693,7 @@ pre { } .mid-tall-section { - margin: 20px 0px; + margin: 30px 0px; } .about-special { @@ -2137,22 +2701,21 @@ pre { } p { - font-size: 1.1rem !important; + margin-bottom: 6px; } h1 { - font-size: 45px !important; - line-height: 45px !important; + line-height: 50px !important; } h2 { - font-size: 40px !important; - line-height: 40px !important; + //font-size: 55px !important;// + //line-height: 50px !important;// } h3 { - font-size: 30px !important; - line-height: 30px !important; + //font-size: 30px !important;// + //line-height: 30px !important;// } .roadmap-header { @@ -2175,6 +2738,10 @@ pre { font-size: 1.1rem; } + .hero-p.center.cta { + max-width: 340px !important; + } + .landing-page-header { margin-top: 20vh; margin-bottom: 20vh; @@ -2206,30 +2773,13 @@ pre { .quote { font-size: 1.5rem; - line-height: 1.5rem; + line-height: 1.7rem; } .values-container { text-align: left; direction: ltr; } - -/** - * Services Page - */ - .why-distrust { - height: 45px; - } -/** - * End Services Page - */ - -/** - * Roadmap Page - */ -/** - * End Roadmap Page - */ } @media (max-width: 400px) { diff --git a/assets/base/companies/etherfi_logo-white.svg b/assets/base/companies/etherfi_logo-white.svg new file mode 100644 index 0000000..258b72c --- /dev/null +++ b/assets/base/companies/etherfi_logo-white.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/assets/base/companies/optimism-white-symbol.svg b/assets/base/companies/optimism-white-symbol.svg new file mode 100644 index 0000000..c8a44d3 --- /dev/null +++ b/assets/base/companies/optimism-white-symbol.svg @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/assets/base/companies/optimism-white.svg b/assets/base/companies/optimism-white.svg new file mode 100644 index 0000000..d0c0528 --- /dev/null +++ b/assets/base/companies/optimism-white.svg @@ -0,0 +1,12 @@ + + + + + + + + \ No newline at end of file diff --git a/assets/js/main.js b/assets/js/main.js index b26b540..3c24c06 100644 --- a/assets/js/main.js +++ b/assets/js/main.js @@ -10,7 +10,7 @@ document.addEventListener('DOMContentLoaded', function () { } }); - initializeCompaniesCarousel(); + initializeCompaniesCarousel(); // TODO: useful for news article carousel // fetch('../assets/js/carousel-items.json') // .then(response => response.json()) @@ -19,7 +19,8 @@ document.addEventListener('DOMContentLoaded', function () { // initializeCarousel(); // }) // .catch(error => console.error('Error loading JSON:', error)); -}); + } +); function createCarouselItems(items) { const carousel = document.querySelector('#carousel'); @@ -87,3 +88,74 @@ function initializeCompaniesCarousel() { requestAnimationFrame(animate); } +document.addEventListener('DOMContentLoaded', function () { + const footer = document.querySelector('footer'); + const path = window.location.pathname; + + if (!footer) return; + + const borderStyles = { + '/software.html': '2px solid var(--light-teal)', + '/blog.html': '2px solid var(--pink)', + }; + + if (path.startsWith('/blog/') && path !== '/blog.html') { + footer.style.borderTop = '2px solid var(--pink)'; + } else if (borderStyles[path]) { + footer.style.borderTop = borderStyles[path]; + } + + + if (borderStyles[path]) { + footer.style.borderTop = borderStyles[path]; + } + + // Set hover color + const hoverColors = { + '/software.html': 'var(--light-teal)', + '/blog.html': 'var(--pink)', + }; + + let hoverColor = hoverColors[path]; + + if (path.startsWith('/blog/') && path !== '/blog.html') { + hoverColor = 'var(--pink)'; + } + + if (hoverColor) { + const style = document.createElement('style'); + style.innerHTML = ` + .footer-links a:hover { + color: ${hoverColor}; + } + `; + document.head.appendChild(style); + } +}); + +document.addEventListener('DOMContentLoaded', function () { + const path = window.location.pathname; + const workButton = document.querySelector('.work-button'); + + if (!workButton) return; + + let hoverColor; + + if (path === '/software.html') { + hoverColor = 'var(--light-teal)'; + } else if (path === '/blog.html' || (path.startsWith('/blog/') && path !== '/blog.html')) { + hoverColor = 'var(--pink)'; + } + + if (hoverColor) { + const style = document.createElement('style'); + style.innerHTML = ` + a.mega-inverted.button.work-button:hover { + background-color: ${hoverColor} !important; + color: white; !important; + } + `; + document.head.appendChild(style); + } + }); + \ No newline at end of file diff --git a/assets/videos/building-blocks.mp4 b/assets/videos/building-blocks.mp4 new file mode 100644 index 0000000..68c20cb Binary files /dev/null and b/assets/videos/building-blocks.mp4 differ diff --git a/assets/videos/building-blocks.webm b/assets/videos/building-blocks.webm new file mode 100644 index 0000000..ccf80af Binary files /dev/null and b/assets/videos/building-blocks.webm differ diff --git a/assets/videos/building-cubes.mp4 b/assets/videos/building-cubes.mp4 new file mode 100644 index 0000000..bf2e8b3 Binary files /dev/null and b/assets/videos/building-cubes.mp4 differ diff --git a/assets/videos/building-cubes.webm b/assets/videos/building-cubes.webm new file mode 100644 index 0000000..d3b9dc3 Binary files /dev/null and b/assets/videos/building-cubes.webm differ diff --git a/assets/videos/cube-split.mp4 b/assets/videos/cube-split.mp4 new file mode 100644 index 0000000..2e603f5 Binary files /dev/null and b/assets/videos/cube-split.mp4 differ diff --git a/assets/videos/cube-split.webm b/assets/videos/cube-split.webm new file mode 100644 index 0000000..29f0e91 Binary files /dev/null and b/assets/videos/cube-split.webm differ diff --git a/assets/videos/cubed-sticks.mp4 b/assets/videos/cubed-sticks.mp4 new file mode 100644 index 0000000..7a27a20 Binary files /dev/null and b/assets/videos/cubed-sticks.mp4 differ diff --git a/assets/videos/cubed-sticks.webm b/assets/videos/cubed-sticks.webm new file mode 100644 index 0000000..dcb2872 Binary files /dev/null and b/assets/videos/cubed-sticks.webm differ diff --git a/assets/videos/dynamic-cube.mp4 b/assets/videos/dynamic-cube.mp4 new file mode 100644 index 0000000..ab41e8a Binary files /dev/null and b/assets/videos/dynamic-cube.mp4 differ diff --git a/assets/videos/dynamic-cube.webm b/assets/videos/dynamic-cube.webm new file mode 100644 index 0000000..e34575a Binary files /dev/null and b/assets/videos/dynamic-cube.webm differ