Files
cedarline-digital/styles.css

4116 lines
79 KiB
CSS
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
:root {
--bg: #0f1111;
--surface: #171c1a;
--surface-light: #1f2924;
--evergreen: #2a5e3e;
--accent: #4f8a6b;
--soft: #86b38f;
--text: #e6e8e6;
--muted: #9ca3a0;
--border: rgba(255, 255, 255, 0.08);
--border-strong: rgba(134, 179, 143, 0.22);
--shadow: rgba(0, 0, 0, 0.4);
--max-width: 1240px;
--radius: 8px;
}
* {
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
}
body {
margin: 0;
min-width: 320px;
color: var(--text);
font-family:
Manrope,
Inter,
ui-sans-serif,
system-ui,
-apple-system,
BlinkMacSystemFont,
"Segoe UI",
sans-serif;
line-height: 1.6;
background:
linear-gradient(180deg, rgba(15, 17, 17, 0.56), var(--bg) 760px),
linear-gradient(
90deg,
rgba(15, 17, 17, 0.94),
rgba(15, 17, 17, 0.72) 45%,
rgba(15, 17, 17, 0.9)
),
radial-gradient(
circle at 72% 6%,
rgba(79, 138, 107, 0.18),
transparent 34rem
),
radial-gradient(
circle at 12% 18%,
rgba(42, 94, 62, 0.18),
transparent 30rem
),
linear-gradient(rgba(255, 255, 255, 0.014) 1px, transparent 1px),
linear-gradient(90deg, rgba(255, 255, 255, 0.014) 1px, transparent 1px),
url("assets/images/backdrop.jpg"), var(--bg);
background-attachment:
scroll, scroll, scroll, scroll, scroll, scroll, fixed, scroll;
background-position:
center top,
center top,
center top,
center top,
center top,
center top,
center top,
center top;
background-repeat:
no-repeat, no-repeat, no-repeat, no-repeat, repeat, repeat, no-repeat,
no-repeat;
background-size:
auto,
auto,
auto,
auto,
88px 88px,
88px 88px,
cover,
auto;
}
body::before,
body::after {
position: fixed;
inset: 0;
z-index: -2;
pointer-events: none;
content: "";
}
body::before {
background:
linear-gradient(
135deg,
transparent 0 56%,
rgba(134, 179, 143, 0.035) 56% 56.4%,
transparent 56.4%
),
linear-gradient(
28deg,
transparent 0 66%,
rgba(79, 138, 107, 0.045) 66% 66.4%,
transparent 66.4%
);
}
body::after {
top: auto;
height: 44vh;
background:
linear-gradient(
155deg,
transparent 0 36%,
rgba(31, 41, 36, 0.82) 36% 37%,
transparent 37%
),
linear-gradient(
18deg,
transparent 0 43%,
rgba(23, 28, 26, 0.9) 43% 44%,
transparent 44%
),
linear-gradient(0deg, rgba(15, 17, 17, 0.94), transparent);
opacity: 0.46;
}
a {
color: inherit;
text-decoration: none;
}
p,
h1,
h2,
h3,
dl {
margin-top: 0;
}
.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;
}
.digital-word {
transform: translateX(3px);
}
.site-header {
position: sticky;
top: 16px;
z-index: 20;
display: flex;
align-items: center;
justify-content: space-between;
width: min(100% - 32px, var(--max-width));
min-height: 68px;
margin: 0 auto;
padding: 10px 12px;
border: 1px solid var(--border);
border-radius: var(--radius);
background: rgba(15, 17, 17, 0.68);
box-shadow: 0 18px 54px rgba(0, 0, 0, 0.24);
backdrop-filter: blur(22px);
}
.site-header.is-scrolled {
background: rgba(15, 17, 17, 0.86);
border-color: rgba(255, 255, 255, 0.12);
}
.brand,
.site-nav,
.hero-actions,
.panel-top,
.panel-metrics,
.site-footer,
.site-footer div,
.site-footer nav {
display: flex;
align-items: center;
}
.brand {
gap: 12px;
padding-right: 10px;
font-weight: 800;
letter-spacing: 0;
}
.brand-mark,
.panel-mark {
display: grid;
place-items: center;
border: 1px solid var(--border-strong);
border-radius: var(--radius);
background:
linear-gradient(150deg, rgba(31, 41, 36, 0.96), rgba(15, 17, 17, 0.82)),
radial-gradient(
circle at 50% 18%,
rgba(134, 179, 143, 0.18),
transparent 70%
);
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.05),
0 16px 34px var(--shadow);
}
.brand-mark {
width: 42px;
height: 42px;
}
.brand-mark svg {
width: 28px;
height: 28px;
}
.mark-tree {
fill: rgba(134, 179, 143, 0.94);
}
.mark-root {
fill: none;
stroke: var(--accent);
stroke-linecap: round;
stroke-width: 2.2;
}
.site-nav {
gap: 4px;
color: var(--muted);
font-size: 0.92rem;
font-weight: 800;
}
.site-nav a {
padding: 10px 13px;
border-radius: var(--radius);
transition:
color 160ms ease,
background-color 160ms ease,
border-color 160ms ease;
}
.site-nav a:hover,
.site-nav a:focus-visible {
color: var(--text);
background: rgba(255, 255, 255, 0.045);
outline: none;
}
.site-nav .nav-cta {
margin-left: 8px;
border: 1px solid rgba(134, 179, 143, 0.28);
color: #f5fff7;
background: linear-gradient(
180deg,
rgba(79, 138, 107, 0.92),
rgba(42, 94, 62, 0.92)
);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}
.site-nav .nav-cta:hover,
.site-nav .nav-cta:focus-visible {
background: linear-gradient(
180deg,
rgba(89, 154, 119, 0.96),
rgba(47, 106, 70, 0.96)
);
}
.nav-toggle {
display: none;
width: 44px;
height: 44px;
padding: 0;
border: 1px solid var(--border);
border-radius: var(--radius);
background: rgba(23, 28, 26, 0.9);
color: var(--text);
}
.nav-toggle span:not(.sr-only) {
display: block;
width: 18px;
height: 2px;
margin: 5px auto;
background: currentColor;
}
.section {
width: min(100% - 40px, var(--max-width));
margin: 0 auto;
padding: 104px 0;
}
.hero {
display: grid;
grid-template-columns: minmax(0, 0.98fr) minmax(390px, 0.82fr);
gap: clamp(36px, 5vw, 76px);
align-items: center;
min-height: calc(100vh - 92px);
padding-top: 86px;
padding-bottom: 74px;
}
.hero-content {
max-width: 760px;
}
.eyebrow {
margin-bottom: 14px;
color: var(--soft);
font-size: 0.76rem;
font-weight: 800;
letter-spacing: 0.12em;
text-transform: uppercase;
}
h1,
h2,
h3 {
line-height: 1.08;
letter-spacing: 0;
}
h1 {
max-width: 760px;
margin-bottom: 22px;
font-size: clamp(2.8rem, 5.2vw, 5.05rem);
}
h2 {
margin-bottom: 18px;
font-size: clamp(2rem, 3.4vw, 3.1rem);
}
h3 {
margin-bottom: 12px;
font-size: 1.07rem;
}
.hero-copy,
.section-copy,
.contact-panel p {
color: var(--muted);
font-size: 1.07rem;
}
.hero-copy {
max-width: 620px;
margin-bottom: 32px;
}
.hero-actions {
flex-wrap: wrap;
gap: 14px;
}
.button,
.contact-link {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 48px;
padding: 0 18px;
border-radius: var(--radius);
font-weight: 800;
transition:
transform 160ms ease,
border-color 160ms ease,
background-color 160ms ease;
}
.button:hover,
.button:focus-visible,
.contact-link:hover,
.contact-link:focus-visible {
transform: translateY(-2px);
outline: none;
}
.button-primary,
.contact-link {
border: 1px solid rgba(134, 179, 143, 0.35);
color: #f5fff7;
background: linear-gradient(
180deg,
rgba(79, 138, 107, 0.95),
rgba(42, 94, 62, 0.95)
);
}
.button-secondary {
border: 1px solid var(--border);
color: var(--text);
background: rgba(255, 255, 255, 0.035);
}
.hero-visual {
position: relative;
min-height: 540px;
}
.mountain-field {
position: absolute;
inset: 34px -18px auto;
height: 240px;
opacity: 0.44;
background:
linear-gradient(
145deg,
transparent 0 42%,
rgba(79, 138, 107, 0.2) 42% 43%,
transparent 43%
),
linear-gradient(
28deg,
transparent 0 49%,
rgba(134, 179, 143, 0.18) 49% 50%,
transparent 50%
),
linear-gradient(
153deg,
transparent 0 58%,
rgba(31, 41, 36, 0.88) 58% 68%,
transparent 68%
);
filter: blur(0.2px);
}
.hero-panel {
position: relative;
min-height: 510px;
overflow: hidden;
padding: 26px;
border: 1px solid var(--border);
border-radius: var(--radius);
background:
radial-gradient(
circle at 64% 32%,
rgba(79, 138, 107, 0.22),
transparent 18rem
),
linear-gradient(160deg, rgba(31, 41, 36, 0.76), rgba(15, 17, 17, 0.86)),
repeating-linear-gradient(
90deg,
transparent 0 42px,
rgba(255, 255, 255, 0.018) 42px 43px
);
box-shadow:
0 28px 90px rgba(0, 0, 0, 0.42),
inset 0 1px 0 rgba(255, 255, 255, 0.04);
backdrop-filter: blur(18px);
}
.hero-panel::before,
.hero-panel::after {
position: absolute;
content: "";
}
.hero-panel::before {
inset: auto -26% -36% -26%;
height: 320px;
background: radial-gradient(
circle,
rgba(79, 138, 107, 0.36),
transparent 70%
);
}
.hero-panel::after {
right: 34px;
bottom: 118px;
left: 34px;
height: 170px;
opacity: 0.46;
background:
linear-gradient(
143deg,
transparent 0 41%,
rgba(134, 179, 143, 0.16) 41% 42%,
transparent 42%
),
linear-gradient(
24deg,
transparent 0 52%,
rgba(42, 94, 62, 0.42) 52% 68%,
transparent 68%
),
linear-gradient(
156deg,
transparent 0 48%,
rgba(31, 41, 36, 0.9) 48% 65%,
transparent 65%
);
}
.panel-top {
position: relative;
z-index: 2;
gap: 16px;
}
.panel-mark {
width: 78px;
height: 78px;
}
.panel-mark svg {
width: 52px;
height: 52px;
}
.panel-top p {
margin: 0 0 3px;
font-size: 1.05rem;
font-weight: 800;
}
.panel-top span {
color: var(--muted);
font-size: 0.9rem;
}
.circuit-board {
position: absolute;
inset: 142px 42px 132px;
z-index: 2;
}
.circuit-board span {
position: absolute;
display: block;
border-color: rgba(134, 179, 143, 0.28);
}
.circuit-board span:nth-child(1) {
top: 10px;
left: 8%;
width: 72%;
height: 1px;
border-top: 1px solid;
}
.circuit-board span:nth-child(2) {
top: 10px;
left: 8%;
width: 1px;
height: 78%;
border-left: 1px solid;
}
.circuit-board span:nth-child(3) {
right: 12%;
bottom: 16%;
left: 8%;
height: 1px;
border-top: 1px solid;
}
.circuit-board span:nth-child(4) {
right: 12%;
bottom: 16%;
width: 1px;
height: 48%;
border-left: 1px solid;
}
.circuit-board span:nth-child(5),
.circuit-board span:nth-child(6) {
width: 10px;
height: 10px;
border: 1px solid rgba(134, 179, 143, 0.5);
border-radius: 50%;
background: var(--surface-light);
box-shadow: 0 0 22px rgba(134, 179, 143, 0.42);
}
.circuit-board span:nth-child(5) {
top: 5px;
left: calc(8% - 5px);
}
.circuit-board span:nth-child(6) {
right: calc(12% - 5px);
bottom: calc(16% - 5px);
}
.panel-metrics {
position: absolute;
right: 24px;
bottom: 24px;
left: 24px;
z-index: 3;
gap: 10px;
}
.panel-metrics div {
flex: 1;
min-height: 86px;
padding: 14px;
border: 1px solid var(--border);
border-radius: var(--radius);
background: rgba(15, 17, 17, 0.62);
backdrop-filter: blur(12px);
}
.panel-metrics span {
display: block;
margin-bottom: 10px;
color: var(--soft);
font-size: 0.74rem;
font-weight: 800;
}
.panel-metrics strong {
display: block;
font-size: 0.92rem;
}
.section-heading {
max-width: 780px;
margin-bottom: 34px;
}
.section-heading.centered {
max-width: 760px;
margin-right: auto;
margin-left: auto;
text-align: center;
}
.about-section,
.brand-section {
border-top: 1px solid var(--border);
}
.about-grid {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(320px, 0.62fr);
gap: 28px;
align-items: start;
}
.section-copy {
max-width: 760px;
}
.section-copy p:last-child,
.contact-panel p:last-of-type,
.service-card p,
.principle-list p,
.site-footer p {
margin-bottom: 0;
}
.studio-panel,
.service-card,
.principle-list article,
.contact-panel {
border: 1px solid var(--border);
border-radius: var(--radius);
background:
linear-gradient(180deg, rgba(31, 41, 36, 0.72), rgba(23, 28, 26, 0.78)),
rgba(23, 28, 26, 0.8);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
}
.studio-panel {
padding: 22px;
}
.studio-panel dl {
margin-bottom: 0;
}
.studio-panel div {
display: grid;
grid-template-columns: 92px minmax(0, 1fr);
gap: 18px;
padding: 15px 0;
border-bottom: 1px solid var(--border);
}
.studio-panel div:first-child {
padding-top: 0;
}
.studio-panel div:last-child {
padding-bottom: 0;
border-bottom: 0;
}
.studio-panel dt {
color: var(--soft);
font-size: 0.78rem;
font-weight: 800;
text-transform: uppercase;
}
.studio-panel dd {
margin: 0;
color: var(--text);
font-weight: 700;
}
.card-grid,
.principle-list {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 16px;
}
.service-card,
.principle-list article {
min-height: 270px;
padding: 24px;
transition:
transform 180ms ease,
border-color 180ms ease,
background-color 180ms ease,
box-shadow 180ms ease;
}
.service-card:hover,
.principle-list article:hover {
transform: translateY(-5px);
border-color: rgba(134, 179, 143, 0.28);
background:
linear-gradient(180deg, rgba(31, 41, 36, 0.94), rgba(23, 28, 26, 0.86)),
rgba(23, 28, 26, 0.88);
box-shadow: 0 18px 44px rgba(0, 0, 0, 0.2);
}
.card-icon,
.line-icon {
display: block;
width: 38px;
height: 38px;
margin-bottom: 24px;
border: 1px solid rgba(134, 179, 143, 0.28);
border-radius: var(--radius);
background-color: rgba(42, 94, 62, 0.2);
background-repeat: no-repeat;
background-position: center;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}
.software-icon,
.foundation-icon {
background-image:
linear-gradient(
90deg,
transparent 10px,
var(--soft) 10px 12px,
transparent 12px
),
linear-gradient(
transparent 10px,
var(--accent) 10px 12px,
transparent 12px
);
}
.web-icon,
.experience-icon {
background-image:
linear-gradient(var(--soft), var(--soft)),
linear-gradient(var(--accent), var(--accent)),
linear-gradient(var(--accent), var(--accent));
background-size:
20px 2px,
14px 2px,
8px 2px;
background-position:
9px 12px,
9px 19px,
9px 26px;
}
.mobile-icon,
.maintain-icon {
background-image:
linear-gradient(var(--soft), var(--soft)),
linear-gradient(var(--accent), var(--accent));
background-size:
14px 2px,
2px 18px;
background-position:
11px 12px,
18px 13px;
}
.backend-icon,
.engineering-icon {
background-image:
radial-gradient(circle, var(--soft) 0 3px, transparent 4px),
radial-gradient(circle, var(--accent) 0 3px, transparent 4px),
linear-gradient(90deg, var(--accent), var(--accent));
background-size:
100% 100%,
100% 100%,
18px 1px;
background-position:
-8px -7px,
8px 9px,
11px 19px;
}
.service-card p,
.principle-list p {
color: var(--muted);
}
.brand-section {
padding-top: 92px;
}
.contact-section {
padding-top: 74px;
}
.contact-panel {
position: relative;
overflow: hidden;
padding: clamp(30px, 5vw, 58px);
background:
radial-gradient(
circle at 88% 24%,
rgba(79, 138, 107, 0.24),
transparent 24rem
),
linear-gradient(135deg, rgba(31, 41, 36, 0.94), rgba(15, 17, 17, 0.9));
box-shadow:
0 24px 70px rgba(0, 0, 0, 0.22),
inset 0 1px 0 rgba(255, 255, 255, 0.04);
}
.contact-panel::after {
position: absolute;
right: -100px;
bottom: -140px;
width: 340px;
height: 340px;
border: 1px solid rgba(134, 179, 143, 0.14);
border-radius: 50%;
content: "";
}
.contact-panel h2,
.contact-panel p,
.contact-panel .eyebrow,
.contact-link {
position: relative;
z-index: 1;
}
.contact-panel h2 {
max-width: 850px;
}
.contact-panel p {
max-width: 700px;
}
.contact-link {
margin-top: 22px;
}
.contact-note {
margin-top: 24px;
font-size: 0.96rem;
}
.site-footer {
justify-content: space-between;
gap: 22px;
width: min(100% - 40px, var(--max-width));
margin: 0 auto;
padding: 30px 0 42px;
border-top: 1px solid var(--border);
color: var(--muted);
font-size: 0.9rem;
}
.site-footer div {
flex-direction: column;
align-items: flex-start;
gap: 2px;
}
.site-footer strong {
color: var(--text);
}
.site-footer nav {
gap: 14px;
}
.site-footer a:hover,
.site-footer a:focus-visible {
color: var(--text);
outline: none;
}
@media (max-width: 1040px) {
.hero,
.about-grid {
grid-template-columns: 1fr;
}
.hero {
gap: 40px;
min-height: auto;
}
.hero-visual {
min-height: 460px;
}
.hero-panel {
min-height: 460px;
}
.card-grid,
.principle-list {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 720px) {
.site-header {
top: 10px;
width: min(100% - 24px, var(--max-width));
}
.nav-toggle {
display: block;
}
.site-nav {
position: absolute;
top: calc(100% + 8px);
right: 0;
left: 0;
display: none;
flex-direction: column;
align-items: stretch;
padding: 12px;
border: 1px solid var(--border);
border-radius: var(--radius);
background: rgba(15, 17, 17, 0.96);
box-shadow: 0 20px 42px var(--shadow);
}
.site-nav.is-open {
display: flex;
}
.site-nav a {
width: 100%;
}
.site-nav .nav-cta {
margin-left: 0;
text-align: center;
}
.section {
width: min(100% - 24px, var(--max-width));
padding: 68px 0;
}
.hero {
padding-top: 54px;
}
h1 {
font-size: clamp(2.35rem, 11vw, 3.55rem);
}
h2 {
font-size: clamp(1.9rem, 8vw, 2.55rem);
}
.hero-copy,
.section-copy,
.contact-panel p {
font-size: 1rem;
}
.hero-visual,
.hero-panel {
min-height: 390px;
}
.hero-panel {
padding: 18px;
}
.panel-mark {
width: 64px;
height: 64px;
}
.panel-mark svg {
width: 44px;
height: 44px;
}
.circuit-board {
inset: 120px 24px 122px;
}
.panel-metrics {
right: 16px;
bottom: 16px;
left: 16px;
display: grid;
grid-template-columns: 1fr;
}
.panel-metrics div {
min-height: auto;
padding: 11px 12px;
}
.panel-metrics span {
margin-bottom: 4px;
}
.card-grid,
.principle-list,
.site-footer {
grid-template-columns: 1fr;
}
.service-card,
.principle-list article {
min-height: auto;
}
.studio-panel div {
grid-template-columns: 1fr;
gap: 3px;
}
.site-footer {
display: grid;
justify-items: start;
width: min(100% - 24px, var(--max-width));
}
}
/* Prototype direction: cinematic forest landing page. */
body {
background: var(--bg);
}
body::before {
z-index: -3;
background:
linear-gradient(180deg, rgba(15, 17, 17, 0.34), #0f1111 86%),
linear-gradient(
90deg,
rgba(15, 17, 17, 0.96),
rgba(15, 17, 17, 0.56) 54%,
rgba(15, 17, 17, 0.88)
),
url("assets/images/backdrop.jpg") center top / cover no-repeat;
}
body::after {
z-index: -2;
height: auto;
opacity: 1;
background:
radial-gradient(
circle at 16% 20%,
rgba(134, 179, 143, 0.09),
transparent 28rem
),
radial-gradient(
circle at 72% 34%,
rgba(42, 94, 62, 0.18),
transparent 34rem
),
linear-gradient(rgba(255, 255, 255, 0.012) 1px, transparent 1px),
linear-gradient(90deg, rgba(255, 255, 255, 0.012) 1px, transparent 1px);
background-size:
auto,
auto,
92px 92px,
92px 92px;
}
.site-header {
position: fixed;
top: 28px;
right: 5vw;
left: 5vw;
width: min(90vw, var(--max-width));
min-height: auto;
padding: 0;
border: 0;
background: transparent;
box-shadow: none;
backdrop-filter: none;
}
.site-header.is-scrolled {
border-color: transparent;
background: transparent;
}
.brand {
gap: 14px;
}
.brand-mark {
width: 56px;
height: 56px;
border: 0;
background: transparent;
box-shadow: none;
}
.brand-mark svg {
width: 54px;
height: 54px;
}
.mark-branch {
fill: none;
stroke: var(--accent);
stroke-linejoin: round;
stroke-width: 1.8;
}
.mark-trunk,
.mark-root {
fill: none;
stroke: var(--soft);
stroke-linecap: round;
stroke-width: 1.7;
}
.brand-text {
display: grid;
gap: 2px;
text-transform: uppercase;
}
.brand-text strong {
color: var(--text);
font-size: clamp(1.25rem, 2.2vw, 2rem);
font-weight: 800;
line-height: 1;
letter-spacing: 0.16em;
text-shadow: 0 0 12px rgba(230, 232, 230, 0.22);
}
.brand-text span {
color: var(--soft);
font-size: clamp(0.74rem, 1.2vw, 1.03rem);
font-weight: 800;
line-height: 1;
letter-spacing: 0.42em;
}
.site-nav {
gap: clamp(18px, 3vw, 44px);
color: var(--text);
font-size: 0.86rem;
font-weight: 800;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.site-nav a {
padding: 10px 0;
text-shadow: 0 0 12px rgba(230, 232, 230, 0.18);
}
.site-nav a:hover,
.site-nav a:focus-visible {
color: var(--soft);
background: transparent;
}
.site-nav .nav-cta {
padding: 10px 18px;
border: 1px solid rgba(134, 179, 143, 0.32);
border-radius: var(--radius);
color: var(--soft);
background: rgba(15, 17, 17, 0.28);
box-shadow: inset 0 0 18px rgba(134, 179, 143, 0.06);
}
.site-nav .nav-cta:hover,
.site-nav .nav-cta:focus-visible {
border-color: rgba(134, 179, 143, 0.5);
background: rgba(42, 94, 62, 0.18);
}
.hero {
position: relative;
display: block;
width: auto;
max-width: none;
min-height: 100vh;
overflow: hidden;
margin: 0;
padding: 160px max(5vw, 24px) 44px;
border: 1px solid rgba(255, 255, 255, 0.12);
border-radius: 0 0 28px 28px;
background:
linear-gradient(
180deg,
rgba(15, 17, 17, 0.06),
rgba(15, 17, 17, 0.38) 48%,
rgba(15, 17, 17, 0.96) 100%
),
linear-gradient(
90deg,
rgba(15, 17, 17, 0.82),
rgba(15, 17, 17, 0.36) 58%,
rgba(15, 17, 17, 0.8)
),
url("assets/images/backdrop.jpg") center top / cover no-repeat;
box-shadow:
inset 0 0 0 1px rgba(255, 255, 255, 0.03),
0 28px 90px rgba(0, 0, 0, 0.55);
}
.hero::before,
.hero::after {
position: absolute;
pointer-events: none;
content: "";
}
.hero::before {
inset: 0;
background:
radial-gradient(
circle at 23% 25%,
rgba(230, 232, 230, 0.08),
transparent 16rem
),
radial-gradient(
circle at 72% 54%,
rgba(42, 94, 62, 0.24),
transparent 28rem
);
mix-blend-mode: screen;
}
.hero::after {
inset: 0;
border-radius: inherit;
box-shadow: inset 0 0 90px rgba(0, 0, 0, 0.78);
}
.hero-content,
.products-preview {
position: relative;
z-index: 2;
width: min(100%, var(--max-width));
margin: 0 auto;
}
.hero-content {
max-width: var(--max-width);
}
h1 {
max-width: 620px;
margin-bottom: 24px;
font-size: clamp(2.4rem, 4.3vw, 4.1rem);
font-weight: 500;
line-height: 1.18;
letter-spacing: 0.03em;
text-transform: uppercase;
text-shadow:
0 0 18px rgba(230, 232, 230, 0.22),
0 2px 18px rgba(0, 0, 0, 0.8);
}
h1 span,
h1 em {
display: block;
}
h1 em {
color: var(--accent);
font-style: normal;
font-weight: 800;
letter-spacing: 0.08em;
}
.hero-copy {
max-width: 510px;
margin-bottom: 34px;
color: rgba(230, 232, 230, 0.78);
font-size: clamp(1.02rem, 1.8vw, 1.22rem);
font-weight: 500;
text-shadow: 0 2px 16px rgba(0, 0, 0, 0.85);
}
.button,
.contact-link {
min-height: 50px;
padding: 0 22px;
letter-spacing: 0.04em;
text-transform: uppercase;
}
.button-primary,
.contact-link {
border: 1px solid rgba(134, 179, 143, 0.42);
background: linear-gradient(
180deg,
rgba(79, 138, 107, 0.92),
rgba(42, 94, 62, 0.88)
);
box-shadow:
0 14px 30px rgba(0, 0, 0, 0.34),
inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
.button span {
margin-left: 12px;
font-size: 1.45rem;
line-height: 1;
}
.products-preview {
margin-top: clamp(72px, 12vh, 132px);
}
.section-kicker {
margin-bottom: 24px;
color: var(--soft);
font-size: 0.9rem;
font-weight: 800;
letter-spacing: 0.12em;
text-align: center;
text-transform: uppercase;
}
.product-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 24px;
}
.product-card {
display: grid;
grid-template-columns: 82px minmax(0, 1fr);
gap: 20px;
min-height: 198px;
padding: 34px 32px;
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: var(--radius);
background:
radial-gradient(
circle at 20% 10%,
rgba(134, 179, 143, 0.08),
transparent 12rem
),
rgba(15, 17, 17, 0.56);
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.03),
0 20px 44px rgba(0, 0, 0, 0.28);
backdrop-filter: blur(12px);
transition:
transform 180ms ease,
border-color 180ms ease,
background-color 180ms ease;
}
.product-card:hover {
transform: translateY(-5px);
border-color: rgba(134, 179, 143, 0.3);
background-color: rgba(23, 28, 26, 0.7);
}
.product-card h2 {
margin-bottom: 14px;
color: var(--text);
font-size: 1.1rem;
font-weight: 800;
letter-spacing: 0.04em;
text-transform: uppercase;
}
.product-card p {
margin-bottom: 24px;
color: rgba(230, 232, 230, 0.7);
font-weight: 600;
}
.product-card a {
color: var(--soft);
font-size: 0.84rem;
font-weight: 800;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.product-icon {
position: relative;
display: block;
width: 58px;
height: 68px;
opacity: 0.9;
background-repeat: no-repeat;
background-position: center;
}
.phone-icon {
border: 3px solid var(--accent);
border-radius: 8px;
box-shadow:
inset 0 0 0 1px rgba(134, 179, 143, 0.18),
0 0 22px rgba(79, 138, 107, 0.18);
}
.phone-icon::before {
position: absolute;
top: 8px;
left: 50%;
width: 22px;
height: 3px;
border-radius: 999px;
background: var(--accent);
content: "";
transform: translateX(-50%);
}
.server-icon {
height: 58px;
background:
linear-gradient(var(--accent), var(--accent)) 16px 14px / 7px 3px
no-repeat,
linear-gradient(var(--accent), var(--accent)) 28px 14px / 13px 3px
no-repeat,
linear-gradient(var(--accent), var(--accent)) 16px 30px / 7px 3px
no-repeat,
linear-gradient(var(--accent), var(--accent)) 28px 30px / 13px 3px
no-repeat,
linear-gradient(var(--accent), var(--accent)) 16px 46px / 7px 3px
no-repeat,
linear-gradient(var(--accent), var(--accent)) 28px 46px / 13px 3px
no-repeat;
}
.server-icon::before {
position: absolute;
top: 4px;
left: 0;
width: 58px;
height: 13px;
border: 3px solid var(--accent);
border-radius: 5px;
box-shadow:
0 18px 0 0 rgba(79, 138, 107, 0.8),
0 36px 0 0 rgba(79, 138, 107, 0.8);
content: "";
}
.code-icon {
width: 74px;
height: 60px;
background: linear-gradient(
105deg,
transparent 41%,
var(--accent) 42% 48%,
transparent 49%
);
}
.code-icon::before,
.code-icon::after {
position: absolute;
top: 11px;
width: 24px;
height: 24px;
border-color: var(--accent);
border-style: solid;
content: "";
transform: rotate(45deg);
}
.code-icon::before {
left: 4px;
border-width: 0 0 4px 4px;
}
.code-icon::after {
right: 4px;
border-width: 4px 4px 0 0;
}
@media (max-width: 1040px) {
.product-grid {
grid-template-columns: 1fr;
}
}
@media (max-width: 760px) {
body::before {
background:
linear-gradient(180deg, rgba(15, 17, 17, 0.42), #0f1111 82%),
linear-gradient(
90deg,
rgba(15, 17, 17, 0.92),
rgba(15, 17, 17, 0.72)
),
url("assets/images/backdrop.jpg") center top / cover no-repeat;
}
.site-header {
top: 16px;
right: 16px;
left: 16px;
width: auto;
}
.brand-mark {
width: 46px;
height: 46px;
}
.brand-mark svg {
width: 44px;
height: 44px;
}
.brand-text strong {
font-size: 1.1rem;
}
.brand-text span {
font-size: 0.66rem;
}
.site-nav {
background: rgba(15, 17, 17, 0.94);
backdrop-filter: blur(16px);
}
.site-nav a,
.site-nav .nav-cta {
width: 100%;
margin-left: 0;
padding: 11px 12px;
text-align: left;
}
.hero {
padding: 132px 20px 36px;
border-radius: 0 0 20px 20px;
}
h1 {
font-size: clamp(2.2rem, 10vw, 3.4rem);
}
.products-preview {
margin-top: 58px;
}
.product-card {
grid-template-columns: 58px minmax(0, 1fr);
padding: 24px 20px;
}
}
@media (max-width: 920px) {
.nav-toggle {
display: block;
}
.site-nav {
position: absolute;
top: calc(100% + 8px);
right: 14px;
left: 14px;
display: none;
flex-direction: column;
align-items: stretch;
gap: 0;
padding: 12px;
border: 1px solid var(--border);
border-radius: var(--radius);
background: rgba(15, 17, 17, 0.96);
box-shadow: 0 20px 42px var(--shadow);
backdrop-filter: blur(16px);
}
.site-nav.is-open {
display: flex;
}
.site-nav a,
.site-nav .nav-cta {
width: 100%;
margin-left: 0;
padding: 11px 12px;
text-align: left;
}
}
/* Keep the supplied forest image scoped to the hero only. */
body {
background:
radial-gradient(
circle at 80% 12%,
rgba(79, 138, 107, 0.12),
transparent 30rem
),
linear-gradient(rgba(255, 255, 255, 0.012) 1px, transparent 1px),
linear-gradient(90deg, rgba(255, 255, 255, 0.012) 1px, transparent 1px),
var(--bg);
background-size:
auto,
92px 92px,
92px 92px,
auto;
}
body::before {
background: none;
}
body::after {
background:
radial-gradient(
circle at 18% 22%,
rgba(42, 94, 62, 0.14),
transparent 26rem
),
linear-gradient(180deg, transparent, rgba(15, 17, 17, 0.8));
}
.hero {
min-height: 100vh;
padding-bottom: clamp(96px, 16vh, 170px);
}
.hero-content {
padding-top: clamp(24px, 5vh, 72px);
}
.hero-content,
.products-preview {
width: min(100%, var(--max-width));
}
.products-preview,
.product-grid,
.product-card,
.product-icon {
display: none;
}
.about-section {
margin-top: 0;
}
@media (max-width: 760px) {
body::before {
background: none;
}
.hero {
min-height: 100vh;
padding-bottom: 84px;
}
}
/* Add quiet visual variety below the hero. */
main {
position: relative;
overflow: hidden;
}
main::before {
position: absolute;
top: 100vh;
right: 0;
left: 0;
z-index: -1;
height: calc(100% - 100vh);
pointer-events: none;
content: "";
background:
linear-gradient(
90deg,
transparent 0 18%,
rgba(134, 179, 143, 0.08) 18% 18.08%,
transparent 18.08% 100%
),
linear-gradient(
90deg,
transparent 0 66%,
rgba(79, 138, 107, 0.07) 66% 66.08%,
transparent 66.08% 100%
),
linear-gradient(
180deg,
transparent 0 22%,
rgba(134, 179, 143, 0.06) 22% 22.08%,
transparent 22.08% 100%
),
radial-gradient(
circle at 84% 24%,
rgba(79, 138, 107, 0.16),
transparent 24rem
);
}
.about-section {
position: relative;
}
.about-section::after {
position: absolute;
right: max(20px, calc((100vw - var(--max-width)) / 2));
bottom: 42px;
width: 180px;
height: 180px;
border: 1px solid rgba(134, 179, 143, 0.12);
border-radius: 50%;
pointer-events: none;
content: "";
}
#work {
position: relative;
padding-top: 72px;
padding-bottom: 112px;
}
#work .section-heading {
max-width: 540px;
margin-bottom: 28px;
}
#work .card-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 18px;
}
#work .service-card {
position: relative;
display: grid;
grid-template-columns: 48px minmax(0, 1fr);
gap: 18px;
min-height: 172px;
padding: 24px;
overflow: hidden;
background:
linear-gradient(135deg, rgba(31, 41, 36, 0.82), rgba(15, 17, 17, 0.72)),
rgba(23, 28, 26, 0.8);
}
#work .service-card:nth-child(even) {
transform: translateY(28px);
}
#work .service-card:hover {
transform: translateY(-3px);
}
#work .service-card:nth-child(even):hover {
transform: translateY(23px);
}
#work .service-card::after {
position: absolute;
right: -40px;
bottom: -40px;
width: 130px;
height: 130px;
border: 1px solid rgba(134, 179, 143, 0.12);
border-radius: 50%;
content: "";
}
#work .card-icon {
margin-bottom: 0;
}
#work .service-card h3 {
margin-bottom: 8px;
}
.brand-section {
position: relative;
width: min(100% - 40px, var(--max-width));
padding: 46px;
border: 1px solid var(--border);
border-radius: var(--radius);
background:
linear-gradient(180deg, rgba(23, 28, 26, 0.78), rgba(15, 17, 17, 0.82)),
rgba(15, 17, 17, 0.72);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
}
.brand-section::before {
position: absolute;
top: 50%;
right: 46px;
left: 46px;
height: 1px;
background: linear-gradient(
90deg,
transparent,
rgba(134, 179, 143, 0.22),
transparent
);
content: "";
}
.brand-section .section-heading {
max-width: 620px;
margin-right: 0;
margin-left: 0;
text-align: left;
}
.principle-list {
position: relative;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 12px;
}
.principle-list article {
min-height: 210px;
padding: 22px;
background: rgba(15, 17, 17, 0.58);
backdrop-filter: blur(10px);
}
.principle-list article:nth-child(2),
.principle-list article:nth-child(4) {
margin-top: 34px;
}
.principle-list article:hover {
transform: translateY(-3px);
}
@media (max-width: 1040px) {
#work .card-grid,
.principle-list {
grid-template-columns: 1fr 1fr;
}
#work .service-card:nth-child(even),
#work .service-card:nth-child(even):hover,
.principle-list article:nth-child(2),
.principle-list article:nth-child(4) {
margin-top: 0;
transform: none;
}
.brand-section::before {
display: none;
}
}
@media (max-width: 760px) {
#work .card-grid,
.principle-list {
grid-template-columns: 1fr;
}
#work .service-card {
grid-template-columns: 1fr;
}
.brand-section {
width: min(100% - 24px, var(--max-width));
padding: 28px 20px;
}
}
/* Fixed header with supplied logo asset. */
.site-header {
position: fixed;
top: 22px;
right: 5vw;
left: 5vw;
width: min(90vw, var(--max-width));
min-height: 70px;
padding: 10px 14px;
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: var(--radius);
background: rgba(15, 17, 17, 0.52);
box-shadow:
0 18px 54px rgba(0, 0, 0, 0.28),
inset 0 1px 0 rgba(255, 255, 255, 0.04);
backdrop-filter: blur(18px);
}
.site-header.is-scrolled {
border-color: rgba(134, 179, 143, 0.18);
background: rgba(15, 17, 17, 0.82);
}
.brand-mark {
width: 50px;
height: 50px;
overflow: hidden;
border: 0;
border-radius: 6px;
background: transparent;
box-shadow: none;
}
.brand-mark img {
display: block;
width: 100%;
height: 100%;
object-fit: contain;
}
@media (max-width: 760px) {
.site-header {
top: 14px;
right: 12px;
left: 12px;
width: auto;
min-height: 64px;
padding: 9px 10px;
}
.brand-mark {
width: 44px;
height: 44px;
}
}
/* Final header and below-hero polish. */
.site-header {
position: fixed;
top: 0;
right: 0;
left: 0;
width: 100%;
min-height: 82px;
padding: 12px max(5vw, 22px);
border: 0;
border-radius: 0;
background: linear-gradient(
180deg,
rgba(15, 17, 17, 0.86),
rgba(15, 17, 17, 0.5) 72%,
transparent
);
box-shadow: none;
backdrop-filter: blur(14px);
}
.site-header.is-scrolled {
border: 0;
background: rgba(15, 17, 17, 0.9);
}
.site-nav .nav-cta {
border: 0;
background: rgba(42, 94, 62, 0.28);
}
.brand-mark {
width: 64px;
height: 64px;
overflow: visible;
}
.brand-mark img {
transform: none;
transform-origin: center;
}
.hero {
padding-top: 176px;
}
.section {
position: relative;
}
.about-section {
display: grid;
grid-template-columns: minmax(0, 0.72fr) minmax(0, 1fr);
gap: clamp(34px, 6vw, 86px);
align-items: start;
padding-top: 118px;
}
.about-section .section-heading {
position: sticky;
top: 112px;
margin-bottom: 0;
}
.about-grid {
grid-template-columns: 1fr;
gap: 24px;
}
.section-copy {
max-width: 760px;
padding: 30px;
border-left: 1px solid rgba(134, 179, 143, 0.28);
background:
linear-gradient(90deg, rgba(42, 94, 62, 0.08), transparent 42%),
rgba(15, 17, 17, 0.18);
}
.studio-panel {
max-width: 760px;
background: rgba(15, 17, 17, 0.42);
}
#work {
padding-top: 92px;
}
#work::before {
position: absolute;
top: 52px;
right: 0;
left: 0;
height: 1px;
background: linear-gradient(
90deg,
transparent,
rgba(134, 179, 143, 0.24),
transparent
);
content: "";
}
#work .section-heading {
display: grid;
grid-template-columns: minmax(0, 0.6fr) minmax(0, 1fr);
gap: 28px;
max-width: none;
align-items: end;
}
#work .section-heading .eyebrow {
text-align: left;
}
#work .section-heading h2 {
max-width: 520px;
margin-bottom: 0;
}
#work .card-grid {
display: grid;
grid-template-columns: 1fr;
gap: 0;
border-top: 1px solid var(--border);
}
#work .service-card {
display: grid;
grid-template-columns: 56px minmax(220px, 0.42fr) minmax(0, 1fr);
gap: 22px;
min-height: auto;
padding: 26px 0;
border: 0;
border-bottom: 1px solid var(--border);
border-radius: 0;
background: transparent;
box-shadow: none;
}
#work .service-card:nth-child(even),
#work .service-card:nth-child(even):hover,
#work .service-card:hover {
transform: none;
}
#work .service-card::after {
display: none;
}
#work .card-icon {
width: 10px;
height: 10px;
margin: 12px 0 0 14px;
border-color: rgba(134, 179, 143, 0.42);
border-radius: 50%;
background-color: var(--soft);
background-image: none;
box-shadow: 0 0 0 6px rgba(42, 94, 62, 0.18);
opacity: 0.82;
}
#work .service-card h3 {
margin: 5px 0 0;
font-size: 1.15rem;
}
#work .service-card p {
max-width: 620px;
}
.brand-section {
display: grid;
grid-template-columns: minmax(0, 0.42fr) minmax(0, 1fr);
gap: clamp(28px, 5vw, 64px);
align-items: start;
padding: 54px;
}
.brand-section .section-heading {
margin-bottom: 0;
}
.brand-section .section-heading h2 {
font-size: clamp(1.8rem, 2.4vw, 2.5rem);
}
.brand-section::before {
top: auto;
right: 54px;
bottom: 54px;
left: 54px;
}
.principle-list {
grid-template-columns: 1fr 1fr;
}
.principle-list article,
.principle-list article:nth-child(2),
.principle-list article:nth-child(4) {
min-height: 190px;
margin-top: 0;
}
.contact-panel {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(290px, auto);
gap: clamp(28px, 6vw, 84px);
align-items: start;
}
.resources-section {
padding-top: 84px;
padding-bottom: 28px;
}
.resources-section .section-heading {
max-width: 600px;
margin-bottom: 22px;
}
.resources-section .section-heading h2 {
font-size: clamp(1.65rem, 2.5vw, 2.35rem);
}
.resource-links {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
border-top: 1px solid var(--border);
}
.resource-links a {
position: relative;
display: block;
padding: 24px 22px 24px 0;
border-bottom: 1px solid var(--border);
transition:
background-color 160ms ease,
border-color 160ms ease,
padding-left 160ms ease;
}
.resource-links a + a {
padding-left: 22px;
border-left: 1px solid var(--border);
}
.resource-links a::after {
position: absolute;
top: 28px;
right: 22px;
color: var(--soft);
content: "";
font-size: 1.3rem;
line-height: 1;
opacity: 0.68;
transition:
opacity 160ms ease,
transform 160ms ease;
}
.resource-links a:hover,
.resource-links a:focus-visible {
padding-left: 12px;
border-color: rgba(134, 179, 143, 0.24);
background: rgba(255, 255, 255, 0.026);
outline: none;
}
.resource-links a:hover::after,
.resource-links a:focus-visible::after {
opacity: 1;
transform: translateX(4px);
}
.resource-links span {
display: block;
margin-bottom: 8px;
color: var(--text);
font-weight: 800;
}
.resource-links p {
max-width: 420px;
margin: 0;
color: var(--muted);
}
.contact-copy {
max-width: 650px;
}
.contact-action {
display: flex;
justify-content: flex-end;
align-self: center;
}
.contact-note {
grid-column: 1 / -1;
max-width: none;
margin-top: 8px;
padding-top: 24px;
border-top: 1px solid rgba(255, 255, 255, 0.08);
}
@media (max-width: 920px) {
.about-section,
#work .section-heading,
.brand-section,
.contact-panel {
grid-template-columns: 1fr;
}
.about-section .section-heading {
position: static;
}
#work .service-card {
grid-template-columns: 48px minmax(0, 1fr);
}
#work .service-card p {
grid-column: 2;
}
.contact-action {
justify-self: start;
justify-content: flex-start;
}
}
@media (max-width: 760px) {
.site-header {
top: 0;
right: 0;
left: 0;
width: 100%;
min-height: 72px;
padding: 9px 14px;
}
.brand-mark {
width: 54px;
height: 54px;
}
.hero {
padding-top: 142px;
}
.section-copy,
.brand-section {
padding: 24px 18px;
}
#work .service-card {
grid-template-columns: 1fr;
}
#work .service-card p {
grid-column: auto;
}
.principle-list {
grid-template-columns: 1fr;
}
}
/* Footer refresh and compact logo sizing. */
.site-header {
min-height: 74px;
padding-top: 10px;
padding-bottom: 10px;
}
.brand {
gap: 12px;
}
.brand-mark {
width: 48px;
height: 64px;
padding: 3px 2px;
overflow: visible;
}
.brand-mark img,
.footer-mark img {
display: block;
width: 100%;
height: 100%;
object-fit: contain;
}
.brand-mark img {
transform: scale(1.22);
transform-origin: center;
}
.contact-link {
gap: 12px;
min-height: 58px;
padding: 0 26px;
border: 1px solid rgba(255, 255, 255, 0.12);
border-radius: var(--radius);
color: #f4f7f4;
font-family:
"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas,
monospace;
font-size: 0.96rem;
font-weight: 700;
letter-spacing: 0;
text-transform: lowercase;
background: rgba(15, 17, 17, 0.34);
box-shadow: none;
}
.contact-panel {
grid-template-columns: minmax(0, 1fr) minmax(290px, auto);
align-items: start;
padding: clamp(34px, 5vw, 62px);
}
.contact-copy,
.contact-action,
.contact-note {
position: relative;
z-index: 1;
}
.contact-copy .eyebrow {
margin-bottom: 18px;
}
.contact-copy h2 {
max-width: 560px;
margin-bottom: 22px;
font-size: clamp(2.4rem, 4vw, 4rem);
}
.contact-copy p {
max-width: 650px;
}
.contact-action {
justify-self: end;
padding-top: 72px;
}
.contact-panel .contact-note {
grid-column: 1 / -1;
max-width: none;
margin: 8px 0 0;
padding-top: 24px;
border-top: 1px solid rgba(255, 255, 255, 0.08);
font-size: 0.96rem;
}
.contact-link:hover,
.contact-link:focus-visible {
border-color: rgba(134, 179, 143, 0.34);
background: rgba(15, 17, 17, 0.54);
}
.email-icon {
position: relative;
width: 16px;
height: 12px;
border: 1.5px solid var(--accent);
border-radius: 2px;
flex: 0 0 auto;
}
.email-icon::before,
.email-icon::after {
position: absolute;
top: 2px;
width: 8px;
height: 1.5px;
background: var(--accent);
content: "";
}
.email-icon::before {
left: 1px;
transform: rotate(35deg);
transform-origin: left center;
}
.email-icon::after {
right: 1px;
transform: rotate(-35deg);
transform-origin: right center;
}
.site-footer {
display: block;
width: 100%;
margin: 44px 0 0;
padding: 56px max(2.5vw, 18px) 40px;
border-top: 1px solid rgba(255, 255, 255, 0.08);
color: var(--muted);
background: rgba(10, 12, 12, 0.44);
font-size: 0.9rem;
}
.site-footer .footer-inner,
.site-footer .footer-bottom {
width: min(100%, 1320px);
margin: 0 auto;
}
.site-footer .footer-inner {
display: grid;
grid-template-columns: minmax(300px, 1fr) auto;
gap: clamp(72px, 18vw, 260px);
align-items: start;
}
.site-footer .footer-brand {
display: block;
max-width: 330px;
}
.footer-logo {
display: inline-flex;
align-items: center;
gap: 16px;
margin-bottom: 24px;
}
.footer-mark {
display: block;
width: 52px;
height: 68px;
}
.footer-wordmark,
.brand-text {
display: grid;
gap: 2px;
text-transform: uppercase;
}
.footer-wordmark strong {
color: var(--text);
font-size: 1.12rem;
font-weight: 800;
line-height: 1;
letter-spacing: 0.34em;
}
.footer-wordmark span {
color: var(--soft);
font-size: 0.66rem;
font-weight: 800;
line-height: 1;
letter-spacing: 0.54em;
}
.footer-brand p {
margin-bottom: 18px;
color: rgba(230, 232, 230, 0.7);
line-height: 1.7;
}
.footer-location,
.footer-bottom span {
font-family:
"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas,
monospace;
letter-spacing: 0.08em;
}
.footer-location {
position: relative;
display: inline-block;
padding-left: 18px;
color: rgba(230, 232, 230, 0.76);
font-size: 0.82rem;
font-weight: 600;
}
.footer-location::before {
position: absolute;
top: 0.55em;
left: 0;
width: 7px;
height: 7px;
border: 1px solid var(--muted);
border-radius: 50% 50% 50% 0;
content: "";
transform: translateY(-50%) rotate(-45deg);
}
.footer-location::after {
position: absolute;
top: 0.55em;
left: 3px;
width: 2px;
height: 2px;
border-radius: 50%;
background: var(--muted);
content: "";
transform: translateY(-50%);
}
.site-footer .footer-links {
display: grid;
grid-template-columns: repeat(2, minmax(90px, 1fr));
gap: clamp(44px, 6vw, 84px);
align-items: start;
justify-self: end;
min-width: min(100%, 440px);
justify-items: end;
text-align: right;
}
.site-footer .footer-links div {
display: grid;
gap: 14px;
justify-items: end;
}
.footer-links h2 {
margin: 0 0 12px;
color: var(--text);
font-family:
"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas,
monospace;
font-size: 0.68rem;
font-weight: 700;
letter-spacing: 0.34em;
line-height: 1;
text-transform: uppercase;
}
.footer-links a {
color: rgba(230, 232, 230, 0.74);
font-size: 0.9rem;
}
.footer-links a:hover,
.footer-links a:focus-visible {
color: var(--text);
outline: none;
}
.site-footer .footer-bottom {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 24px;
margin-top: 50px;
padding-top: 26px;
border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.footer-bottom p,
.footer-bottom span {
margin: 0;
color: rgba(230, 232, 230, 0.68);
font-size: 0.78rem;
}
@media (max-width: 920px) {
.contact-panel {
grid-template-columns: 1fr;
}
.contact-action {
justify-self: start;
padding-top: 0;
}
.resource-links {
grid-template-columns: 1fr;
}
.resource-links a,
.resource-links a + a {
padding-right: 0;
padding-left: 0;
border-left: 0;
}
.resource-links a::after {
right: 4px;
}
.resource-links a:hover,
.resource-links a:focus-visible {
padding-left: 10px;
}
}
@media (max-width: 760px) {
.site-header {
min-height: 66px;
}
.brand-mark {
width: 40px;
height: 54px;
}
.contact-link {
justify-self: start;
width: auto;
max-width: 100%;
min-height: 52px;
padding: 0 18px;
font-size: clamp(0.78rem, 3.4vw, 0.94rem);
}
.contact-panel {
grid-template-columns: 1fr;
}
.contact-action {
justify-self: start;
padding-top: 0;
}
.site-footer {
padding: 46px 24px 36px;
}
.site-footer .footer-inner,
.site-footer .footer-bottom {
width: 100%;
}
.site-footer .footer-inner,
.site-footer .footer-bottom {
grid-template-columns: 1fr;
}
.site-footer .footer-inner {
gap: 42px;
}
.site-footer .footer-links {
grid-template-columns: 1fr 1fr;
gap: 24px;
justify-self: stretch;
min-width: 0;
justify-items: start;
text-align: left;
}
.site-footer .footer-links div {
justify-items: start;
min-width: 0;
text-align: left;
}
.site-footer .footer-bottom {
display: grid;
gap: 16px;
}
}
/* Public privacy and support pages. */
.content-page {
min-height: 100vh;
background:
radial-gradient(
circle at 82% 8%,
rgba(79, 138, 107, 0.11),
transparent 28rem
),
radial-gradient(
circle at 14% 24%,
rgba(184, 137, 185, 0.08),
transparent 24rem
),
linear-gradient(rgba(255, 255, 255, 0.012) 1px, transparent 1px),
linear-gradient(90deg, rgba(255, 255, 255, 0.012) 1px, transparent 1px),
#0f100d;
background-size:
auto,
auto,
92px 92px,
92px 92px,
auto;
}
.content-page main::before {
display: none;
}
.content-main {
width: min(100% - 48px, 1040px);
margin: 0 auto;
padding: 150px 0 64px;
}
.content-shell {
padding: clamp(26px, 5vw, 44px);
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: var(--radius);
background:
linear-gradient(180deg, rgba(23, 28, 26, 0.72), rgba(15, 16, 13, 0.88)),
rgba(15, 16, 13, 0.84);
box-shadow:
0 24px 70px rgba(0, 0, 0, 0.26),
inset 0 1px 0 rgba(255, 255, 255, 0.035);
}
.content-shell h1 {
max-width: none;
margin-bottom: 20px;
font-size: clamp(1.95rem, 4.8vw, 3rem);
font-weight: 700;
line-height: 1.12;
letter-spacing: 0;
text-transform: none;
}
.content-shell h2 {
margin: 38px 0 14px;
color: var(--text);
font-size: clamp(1.18rem, 2.6vw, 1.48rem);
letter-spacing: 0;
}
.content-shell p,
.content-shell li,
.content-shell dd {
color: rgba(244, 239, 231, 0.78);
font-size: 1rem;
line-height: 1.75;
}
.content-shell .lead {
color: #f4efe7;
font-size: clamp(1.08rem, 2.8vw, 1.22rem);
}
.content-shell p {
margin-bottom: 16px;
}
.content-shell ul {
margin: 0 0 20px;
padding-left: 1.2rem;
}
.content-shell li + li {
margin-top: 8px;
}
.content-shell a {
color: #a9d6b2;
text-decoration: underline;
text-decoration-color: rgba(169, 214, 178, 0.34);
text-underline-offset: 0.22em;
}
.content-shell a:hover,
.content-shell a:focus-visible {
color: #f4efe7;
outline: 2px solid rgba(169, 214, 178, 0.52);
outline-offset: 4px;
}
.breadcrumb,
.related-links {
display: flex;
flex-wrap: wrap;
gap: 10px;
align-items: center;
margin-bottom: 26px;
color: var(--muted);
font-size: 0.9rem;
}
.related-links {
margin: 42px 0 0;
padding-top: 24px;
border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.link-list {
list-style: none;
padding-left: 0;
}
.link-list li {
padding: 14px 0;
border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.link-list li:last-child {
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.policy-meta {
display: grid;
gap: 0;
margin: 0 0 28px;
border-top: 1px solid rgba(255, 255, 255, 0.08);
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.policy-meta div {
display: grid;
grid-template-columns: minmax(130px, 0.32fr) minmax(0, 1fr);
gap: 18px;
padding: 13px 0;
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.policy-meta div:last-child {
border-bottom: 0;
}
.policy-meta dt {
color: var(--soft);
font-family:
"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas,
monospace;
font-size: 0.72rem;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
}
.policy-meta dd {
margin: 0;
}
@media (max-width: 760px) {
.content-main {
width: min(100% - 24px, 1040px);
}
.content-main {
padding-top: 112px;
padding-bottom: 42px;
}
.content-shell {
padding: 24px 18px;
}
.policy-meta div {
grid-template-columns: 1fr;
gap: 4px;
}
}
/* Below-hero redesign: quieter, more editorial, less decorative. */
body {
background: #0f1111;
}
body::before,
body::after,
main::before,
.about-section::after,
#work::before,
.brand-section::before,
.contact-panel::after {
display: none;
}
main {
overflow: visible;
background:
linear-gradient(180deg, rgba(15, 17, 17, 0) 0, #0f1111 8rem),
#0f1111;
}
.section {
width: min(100% - 40px, 1180px);
padding: clamp(76px, 10vw, 128px) 0;
}
.section-heading {
max-width: 680px;
margin-bottom: 36px;
}
.section-heading.centered {
text-align: left;
}
.eyebrow {
color: #9fc7a6;
font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
font-size: 0.72rem;
letter-spacing: 0.18em;
}
.section h2 {
color: #f1f3ef;
font-size: clamp(2rem, 3.1vw, 3.35rem);
letter-spacing: 0;
}
.content-band {
border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.about-section {
display: grid;
grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
gap: clamp(34px, 6vw, 82px);
align-items: start;
padding-top: clamp(86px, 10vw, 132px);
}
.about-section .section-heading {
position: sticky;
top: 108px;
margin-bottom: 0;
}
.about-grid {
display: grid;
grid-template-columns: 1fr;
gap: 22px;
}
.section-copy {
max-width: none;
padding: 0 0 0 28px;
border-left: 2px solid rgba(159, 199, 166, 0.36);
background: transparent;
}
.section-copy p {
color: rgba(230, 232, 230, 0.76);
font-size: clamp(1rem, 1.45vw, 1.16rem);
}
.studio-panel {
max-width: none;
padding: 0;
border: 1px solid rgba(255, 255, 255, 0.09);
border-radius: 8px;
background: rgba(23, 28, 26, 0.72);
box-shadow: none;
}
.panel-label {
margin: 0;
padding: 18px 20px;
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
color: rgba(230, 232, 230, 0.92);
font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
font-size: 0.72rem;
font-weight: 700;
letter-spacing: 0.14em;
text-transform: uppercase;
}
.studio-panel dl {
margin: 0;
}
.studio-panel div {
grid-template-columns: 118px minmax(0, 1fr);
gap: 22px;
padding: 18px 20px;
border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.studio-panel div:last-child {
border-bottom: 0;
}
.studio-panel dt {
color: rgba(159, 199, 166, 0.86);
font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
font-size: 0.68rem;
letter-spacing: 0.1em;
}
.studio-panel dd {
color: rgba(241, 243, 239, 0.9);
font-weight: 650;
}
#work {
display: grid;
grid-template-columns: minmax(0, 0.72fr) minmax(0, 1fr);
gap: clamp(34px, 6vw, 86px);
align-items: start;
padding-top: clamp(74px, 9vw, 116px);
padding-bottom: clamp(74px, 9vw, 116px);
border-top: 1px solid rgba(255, 255, 255, 0.08);
}
#work .section-heading {
display: block;
max-width: 520px;
margin-bottom: 0;
}
#work .section-heading h2 {
max-width: none;
margin-bottom: 0;
}
.work-intro {
grid-column: 2;
margin-bottom: 22px;
color: rgba(230, 232, 230, 0.72);
font-size: 1.02rem;
}
.work-intro p {
max-width: 620px;
margin: 0;
}
#work .work-list {
grid-column: 2;
display: grid;
grid-template-columns: 1fr;
gap: 0;
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
#work .service-card {
display: grid;
grid-template-columns: 64px minmax(180px, 0.4fr) minmax(0, 1fr);
gap: 24px;
align-items: start;
min-height: auto;
padding: 24px 0;
border: 0;
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 0;
background: transparent;
box-shadow: none;
transition: border-color 160ms ease;
}
#work .service-card:hover,
#work .service-card:nth-child(even),
#work .service-card:nth-child(even):hover {
transform: none;
background: transparent;
box-shadow: none;
}
#work .service-card:hover {
border-color: rgba(159, 199, 166, 0.34);
}
#work .service-card::after {
display: none;
}
.work-index {
color: rgba(159, 199, 166, 0.8);
font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
font-size: 0.78rem;
font-weight: 700;
letter-spacing: 0.12em;
}
#work .service-card h3 {
margin: 0;
color: #f1f3ef;
font-size: 1.08rem;
}
#work .service-card p {
max-width: 600px;
margin: 0;
color: rgba(230, 232, 230, 0.68);
}
.brand-section {
display: grid;
grid-template-columns: minmax(0, 0.7fr) minmax(0, 1fr);
gap: clamp(34px, 6vw, 82px);
align-items: start;
width: min(100% - 40px, 1180px);
padding: clamp(68px, 8vw, 104px) 0;
border-right: 0;
border-bottom: 0;
border-left: 0;
border-radius: 0;
background: transparent;
box-shadow: none;
}
.brand-section .section-heading {
margin: 0;
}
.brand-section .section-heading h2 {
font-size: clamp(2rem, 3.1vw, 3.35rem);
}
.principle-list {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
}
.principle-list article,
.principle-list article:nth-child(2),
.principle-list article:nth-child(4) {
min-height: 170px;
margin-top: 0;
padding: 22px;
border: 1px solid rgba(255, 255, 255, 0.09);
border-radius: 8px;
background: rgba(23, 28, 26, 0.58);
box-shadow: none;
backdrop-filter: none;
}
.principle-list article:hover {
transform: none;
border-color: rgba(159, 199, 166, 0.28);
background: rgba(31, 41, 36, 0.68);
box-shadow: none;
}
.principle-list h3 {
color: #f1f3ef;
}
.principle-list p {
color: rgba(230, 232, 230, 0.68);
}
.contact-section {
padding-top: clamp(34px, 5vw, 70px);
}
.contact-panel {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(280px, auto);
gap: clamp(30px, 6vw, 76px);
align-items: center;
overflow: visible;
padding: clamp(30px, 5vw, 54px);
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 8px;
background: #151a18;
box-shadow: none;
}
.contact-copy h2 {
max-width: 660px;
font-size: clamp(2rem, 3.1vw, 3.35rem);
}
.contact-copy p,
.contact-panel .contact-note {
color: rgba(230, 232, 230, 0.7);
}
.contact-action {
justify-self: end;
padding-top: 0;
}
.contact-link {
min-height: 54px;
border-color: rgba(159, 199, 166, 0.26);
background: rgba(15, 17, 17, 0.5);
}
.contact-note {
grid-column: 1 / -1;
margin: 0;
padding-top: 22px;
border-top: 1px solid rgba(255, 255, 255, 0.08);
}
@media (max-width: 920px) {
.about-section,
#work,
.brand-section,
.contact-panel {
grid-template-columns: 1fr;
}
.about-section .section-heading {
position: static;
}
.work-intro,
#work .work-list {
grid-column: auto;
}
#work .service-card {
grid-template-columns: 54px minmax(0, 1fr);
}
#work .service-card p {
grid-column: 2;
}
.contact-action {
justify-self: start;
}
}
@media (max-width: 760px) {
.section,
.brand-section {
width: min(100% - 24px, 1180px);
}
.section-copy {
padding-left: 18px;
}
.studio-panel div {
grid-template-columns: 1fr;
gap: 5px;
}
#work .service-card,
.principle-list {
grid-template-columns: 1fr;
}
#work .service-card p {
grid-column: auto;
}
.contact-panel {
padding: 26px 18px;
}
}
/* Third-pass layout: more business polish without novelty decoration. */
main {
background:
linear-gradient(180deg, rgba(15, 17, 17, 0) 0, #0f1111 7rem),
linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px) center top / min(18vw, 220px) 100%,
#0f1111;
}
.section-heading p:not(.eyebrow) {
max-width: 620px;
margin: 18px 0 0;
color: rgba(230, 232, 230, 0.7);
font-size: clamp(1rem, 1.35vw, 1.12rem);
}
.about-section {
grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
}
.operations-preview {
overflow: hidden;
border: 1px solid rgba(255, 255, 255, 0.11);
border-radius: 8px;
background:
linear-gradient(135deg, rgba(31, 41, 36, 0.94), rgba(15, 17, 17, 0.74)),
#171c1a;
box-shadow: 0 24px 68px rgba(0, 0, 0, 0.22);
}
.preview-header {
display: flex;
align-items: center;
justify-content: space-between;
min-height: 58px;
padding: 0 20px;
border-bottom: 1px solid rgba(255, 255, 255, 0.09);
color: rgba(230, 232, 230, 0.78);
font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
font-size: 0.72rem;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
}
.preview-header strong {
color: #d7f2dc;
font-size: 0.78rem;
}
.preview-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.preview-grid article {
min-height: 188px;
padding: 22px;
border-right: 1px solid rgba(255, 255, 255, 0.08);
}
.preview-grid article:last-child {
border-right: 0;
}
.preview-grid span,
.principle-list span,
.service-type {
color: rgba(159, 199, 166, 0.78);
font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
font-size: 0.68rem;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
}
.preview-grid h3 {
margin: 34px 0 10px;
color: #f1f3ef;
font-size: 1.28rem;
}
.preview-grid p {
margin: 0;
color: rgba(230, 232, 230, 0.68);
font-size: 0.96rem;
}
.studio-panel {
background: rgba(13, 16, 15, 0.72);
}
#work {
grid-template-columns: minmax(260px, 0.38fr) minmax(0, 1fr);
}
#work .work-list {
gap: 16px;
border-top: 0;
}
#work .service-card {
grid-template-columns: minmax(120px, 0.24fr) minmax(210px, 0.34fr) minmax(0, 1fr);
gap: 24px;
min-height: 158px;
padding: 24px;
border: 1px solid rgba(255, 255, 255, 0.09);
border-radius: 8px;
background: rgba(23, 28, 26, 0.5);
}
#work .service-card:nth-child(2),
#work .service-card:nth-child(4) {
margin-left: clamp(0px, 4vw, 54px);
}
#work .service-card:hover {
border-color: rgba(159, 199, 166, 0.36);
background: rgba(31, 41, 36, 0.66);
}
.work-index {
display: block;
margin-bottom: 12px;
}
.service-type {
margin: 0;
}
#work .service-card h3 {
font-size: clamp(1.25rem, 1.8vw, 1.7rem);
line-height: 1.12;
}
#work .service-card p:not(.service-type) {
align-self: start;
color: rgba(230, 232, 230, 0.72);
font-size: 1rem;
}
.brand-section {
grid-template-columns: minmax(280px, 0.42fr) minmax(0, 1fr);
}
.principle-list {
gap: 14px;
}
.principle-list article,
.principle-list article:nth-child(2),
.principle-list article:nth-child(4) {
display: flex;
flex-direction: column;
min-height: 224px;
padding: 24px;
}
.principle-list article:nth-child(1),
.principle-list article:nth-child(4) {
background: rgba(31, 41, 36, 0.72);
}
.principle-list h3 {
margin-top: auto;
font-size: 1.2rem;
}
.principle-list p {
margin-top: 2px;
}
.contact-section {
padding-bottom: clamp(78px, 10vw, 132px);
}
.contact-panel {
position: relative;
overflow: hidden;
background:
linear-gradient(135deg, rgba(31, 41, 36, 0.92), rgba(13, 16, 15, 0.96)),
#151a18;
}
.contact-panel::before {
position: absolute;
top: 0;
right: 0;
bottom: 0;
width: min(34%, 340px);
background: rgba(159, 199, 166, 0.06);
content: "";
}
.contact-copy,
.contact-action,
.contact-note {
position: relative;
z-index: 1;
}
.contact-copy h2 {
margin-bottom: 16px;
}
@media (max-width: 1040px) {
.preview-grid {
grid-template-columns: 1fr;
}
.preview-grid article {
min-height: auto;
border-right: 0;
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.preview-grid article:last-child {
border-bottom: 0;
}
.preview-grid h3 {
margin-top: 22px;
}
#work .service-card,
#work .service-card:nth-child(2),
#work .service-card:nth-child(4) {
margin-left: 0;
}
}
@media (max-width: 920px) {
.about-section,
#work,
.brand-section {
grid-template-columns: 1fr;
}
#work .service-card {
grid-template-columns: minmax(86px, 0.22fr) minmax(0, 1fr);
}
#work .service-card p:not(.service-type) {
grid-column: 2;
}
}
@media (max-width: 760px) {
main {
background: #0f1111;
}
.operations-preview,
#work .service-card,
.principle-list article,
.contact-panel {
border-radius: 8px;
}
#work .service-card {
grid-template-columns: 1fr;
padding: 22px;
}
#work .service-card p:not(.service-type) {
grid-column: auto;
}
.principle-list article,
.principle-list article:nth-child(2),
.principle-list article:nth-child(4) {
min-height: 190px;
}
.contact-panel::before {
display: none;
}
}
/* Studio profile and background refinement. */
body {
background:
linear-gradient(180deg, rgba(15, 17, 17, 0.18), #0f1111 820px),
linear-gradient(90deg, rgba(15, 17, 17, 0.94), rgba(15, 17, 17, 0.74) 48%, rgba(15, 17, 17, 0.92)),
url("assets/images/backdrop.jpg") center top / cover no-repeat fixed,
#0f1111;
}
main {
background:
linear-gradient(180deg, rgba(15, 17, 17, 0) 0, #0f1111 7rem),
linear-gradient(90deg, rgba(255, 255, 255, 0.024) 1px, transparent 1px) center top / min(18vw, 220px) 100%,
linear-gradient(180deg, transparent 0 34%, rgba(159, 199, 166, 0.035) 34% 34.12%, transparent 34.12%),
#0f1111;
}
.studio-panel {
min-height: 310px;
background: rgba(13, 16, 15, 0.84);
}
.panel-label {
padding: 22px 28px;
}
.studio-panel div {
grid-template-columns: minmax(112px, 0.22fr) minmax(0, 1fr);
min-height: 72px;
padding: 20px 28px;
}
.studio-panel dd {
font-size: clamp(1rem, 1.5vw, 1.14rem);
line-height: 1.45;
}
.about-grid {
gap: 24px;
}
.operations-preview {
min-height: 250px;
}
@media (max-width: 760px) {
body,
main {
background: #0f1111;
}
.panel-label,
.studio-panel div {
padding-right: 20px;
padding-left: 20px;
}
.studio-panel {
min-height: auto;
}
}
/* Alternative background and resource page system. */
body {
background:
linear-gradient(180deg, rgba(15, 17, 17, 0.42), #0f1111 760px),
linear-gradient(120deg, rgba(159, 199, 166, 0.075) 0 1px, transparent 1px 120px),
linear-gradient(90deg, rgba(255, 255, 255, 0.022) 1px, transparent 1px) center top / min(18vw, 220px) 100%,
#0f1111;
}
body::before {
display: block;
z-index: -3;
background:
linear-gradient(135deg, transparent 0 34%, rgba(159, 199, 166, 0.055) 34% 34.12%, transparent 34.12%),
linear-gradient(28deg, transparent 0 72%, rgba(79, 138, 107, 0.045) 72% 72.12%, transparent 72.12%);
opacity: 0.78;
}
body::after {
display: block;
z-index: -3;
background:
linear-gradient(180deg, rgba(15, 17, 17, 0), rgba(15, 17, 17, 0.84)),
linear-gradient(90deg, transparent 0 12%, rgba(31, 41, 36, 0.18) 12% 12.08%, transparent 12.08% 100%);
opacity: 1;
}
main,
.content-page {
background:
linear-gradient(180deg, rgba(15, 17, 17, 0) 0, #0f1111 7rem),
linear-gradient(90deg, rgba(255, 255, 255, 0.024) 1px, transparent 1px) center top / min(18vw, 220px) 100%,
#0f1111;
}
.content-page main {
background: transparent;
}
.content-main {
width: min(100% - 40px, 1180px);
padding: 142px 0 74px;
}
.hub-main {
display: grid;
gap: 34px;
}
.content-hero {
display: grid;
grid-template-columns: minmax(0, 0.64fr) minmax(280px, 0.36fr);
gap: clamp(30px, 6vw, 78px);
align-items: end;
padding-bottom: 30px;
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.content-hero h1 {
max-width: 760px;
margin-bottom: 0;
color: #f1f3ef;
font-size: clamp(2.6rem, 6vw, 5.2rem);
font-weight: 700;
letter-spacing: 0;
text-transform: none;
}
.content-hero p:not(.eyebrow) {
max-width: 430px;
margin: 0;
color: rgba(230, 232, 230, 0.72);
font-size: 1.08rem;
}
.content-layout {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(280px, 0.34fr);
gap: clamp(20px, 4vw, 36px);
align-items: start;
}
.content-shell {
border: 1px solid rgba(255, 255, 255, 0.1);
background: rgba(13, 16, 15, 0.76);
box-shadow: none;
}
.hub-shell {
min-height: 360px;
}
.content-shell h2 {
color: #f1f3ef;
}
.section-label {
margin: 0 0 14px;
color: rgba(159, 199, 166, 0.78);
font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
font-size: 0.68rem;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
}
.document-links {
display: grid;
gap: 12px;
margin: 24px 0;
}
.document-links a {
position: relative;
display: grid;
gap: 8px;
padding: 22px 58px 22px 22px;
border: 1px solid rgba(255, 255, 255, 0.09);
border-radius: 8px;
background: rgba(23, 28, 26, 0.62);
text-decoration: none;
}
.document-links a::after {
position: absolute;
top: 22px;
right: 22px;
color: rgba(159, 199, 166, 0.82);
content: "";
font-size: 1.45rem;
line-height: 1;
}
.document-links a:hover,
.document-links a:focus-visible {
border-color: rgba(159, 199, 166, 0.3);
background: rgba(31, 41, 36, 0.68);
outline: none;
}
.document-links span {
color: rgba(159, 199, 166, 0.78);
font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
font-size: 0.68rem;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
}
.document-links strong {
color: #f1f3ef;
font-size: 1.22rem;
}
.document-links p {
max-width: 620px;
margin: 0;
color: rgba(230, 232, 230, 0.68);
}
.content-aside {
position: sticky;
top: 106px;
padding: 24px;
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 8px;
background: rgba(23, 28, 26, 0.72);
}
.content-aside h2 {
margin: 0 0 14px;
color: #f1f3ef;
font-size: 1.25rem;
}
.content-aside p {
margin: 0 0 20px;
color: rgba(230, 232, 230, 0.68);
}
.aside-link {
display: inline-flex;
max-width: 100%;
color: #d7f2dc;
font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
font-size: clamp(0.78rem, 1.3vw, 0.9rem);
overflow-wrap: anywhere;
}
.document-main {
width: min(100% - 40px, 980px);
}
.document-shell {
padding: clamp(28px, 5vw, 56px);
}
.document-shell h1 {
max-width: 780px;
margin-bottom: 26px;
color: #f1f3ef;
font-size: clamp(2.3rem, 5vw, 4.4rem);
font-weight: 700;
letter-spacing: 0;
text-transform: none;
}
.document-shell .lead {
max-width: 760px;
margin-bottom: 32px;
color: rgba(241, 243, 239, 0.86);
}
.document-shell section {
padding-top: 26px;
margin-top: 26px;
border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.document-shell section:first-of-type {
margin-top: 0;
}
.document-shell h2 {
margin-top: 0;
}
.document-meta {
margin-bottom: 34px;
border-color: rgba(255, 255, 255, 0.1);
}
.breadcrumb,
.related-links {
font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
font-size: 0.78rem;
}
.related-links {
align-items: stretch;
}
.related-links a {
display: inline-flex;
align-items: center;
min-height: 40px;
padding: 0 12px;
border: 1px solid rgba(255, 255, 255, 0.09);
border-radius: 8px;
text-decoration: none;
}
@media (max-width: 920px) {
.content-hero,
.content-layout {
grid-template-columns: 1fr;
}
.content-aside {
position: static;
}
}
@media (max-width: 760px) {
body,
body::before,
body::after,
main,
.content-page {
background: #0f1111;
}
.content-main,
.document-main {
width: min(100% - 24px, 1180px);
padding-top: 112px;
}
.content-hero {
gap: 18px;
}
.document-links a {
padding-right: 22px;
}
.document-links a::after {
display: none;
}
}
/* Structured background option: texture and contour, no glow. */
body {
background:
linear-gradient(180deg, #0d100f 0, #0f1111 48rem),
repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.018) 0 1px, transparent 1px 14rem),
#0f1111;
}
body::before,
body::after {
display: none;
}
main {
position: relative;
isolation: isolate;
overflow: hidden;
background:
linear-gradient(180deg, rgba(15, 17, 17, 0) 0, #0f1111 7rem),
#0f1111;
}
main::before {
position: absolute;
top: 100vh;
right: 0;
bottom: 0;
left: 0;
z-index: -1;
display: block;
pointer-events: none;
content: "";
background:
linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px) center top / min(18vw, 220px) 100%,
repeating-linear-gradient(135deg, transparent 0 46px, rgba(159, 199, 166, 0.035) 46px 47px, transparent 47px 132px),
repeating-radial-gradient(ellipse at 82% 18%, transparent 0 44px, rgba(159, 199, 166, 0.05) 45px 46px, transparent 47px 94px),
repeating-radial-gradient(ellipse at 12% 76%, transparent 0 54px, rgba(255, 255, 255, 0.035) 55px 56px, transparent 57px 116px),
linear-gradient(180deg, #0f1111 0, #121815 42%, #0f1111 100%);
}
.hero,
.section,
.site-footer {
position: relative;
z-index: 1;
}
.content-page {
background:
repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.02) 0 1px, transparent 1px 13rem),
repeating-linear-gradient(135deg, transparent 0 42px, rgba(159, 199, 166, 0.035) 42px 43px, transparent 43px 128px),
#0f1111;
}
.content-page main {
overflow: hidden;
background:
linear-gradient(180deg, rgba(13, 16, 15, 0.92), rgba(15, 17, 17, 0.98)),
#0f1111;
}
.content-page main::before {
top: 0;
background:
linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px) center top / min(18vw, 220px) 100%,
repeating-radial-gradient(ellipse at 88% 10%, transparent 0 48px, rgba(159, 199, 166, 0.052) 49px 50px, transparent 51px 108px),
repeating-radial-gradient(ellipse at 8% 82%, transparent 0 58px, rgba(255, 255, 255, 0.035) 59px 60px, transparent 61px 128px),
linear-gradient(180deg, #101412 0, #0f1111 100%);
}
.content-shell,
.content-aside,
.studio-panel,
.operations-preview,
#work .service-card,
.principle-list article,
.contact-panel {
backdrop-filter: none;
background-color: rgba(13, 16, 15, 0.82);
}
@media (max-width: 760px) {
body,
main,
.content-page,
.content-page main {
background:
repeating-linear-gradient(135deg, transparent 0 44px, rgba(159, 199, 166, 0.028) 44px 45px, transparent 45px 124px),
#0f1111;
}
main::before,
.content-page main::before {
display: none;
}
}
/* Landing page background restraint; keep resource pages more textured. */
body:not(.content-page) {
background:
linear-gradient(180deg, #0d100f 0, #0f1111 48rem),
#0f1111;
}
body:not(.content-page) main::before {
background:
linear-gradient(90deg, rgba(255, 255, 255, 0.018) 1px, transparent 1px) center top / min(22vw, 280px) 100%,
linear-gradient(180deg, #0f1111 0, #111613 44%, #0f1111 100%);
}
@media (max-width: 760px) {
body:not(.content-page),
body:not(.content-page) main {
background: #0f1111;
}
}
/* Resource page hero cleanup. */
.content-page {
background:
linear-gradient(180deg, #0d100f 0, #0f1111 44rem),
repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.018) 0 1px, transparent 1px 16rem),
#0f1111;
}
.content-page main {
background:
linear-gradient(180deg, rgba(15, 17, 17, 0.18) 0, rgba(15, 17, 17, 0.92) 22rem, #0f1111 100%),
#0f1111;
}
.content-page main::before {
background:
linear-gradient(90deg, rgba(255, 255, 255, 0.018) 1px, transparent 1px) center top / min(20vw, 260px) 100%,
linear-gradient(180deg, #101412 0, #0f1111 100%);
}
.content-hero {
display: block;
max-width: 820px;
padding: clamp(26px, 5vw, 46px) 0 34px;
}
.content-hero h1 {
margin-bottom: 22px;
font-size: clamp(3rem, 6.4vw, 5.4rem);
line-height: 0.98;
}
.content-hero p:not(.eyebrow) {
max-width: 560px;
color: rgba(230, 232, 230, 0.76);
}
.hub-main {
gap: 34px;
}
.document-links strong {
font-size: clamp(1.35rem, 2.2vw, 1.75rem);
}
.document-links span {
order: 2;
}
.document-links p {
order: 3;
}
@media (max-width: 760px) {
.content-page,
.content-page main {
background:
linear-gradient(180deg, #0d100f 0, #0f1111 26rem),
#0f1111;
}
.content-hero {
padding-top: 12px;
}
}