sync: auto-sync from Mikes-MacBook-Air.local at 2026-06-17 06:18:23
Author: Mike Swanson Machine: Mikes-MacBook-Air.local Timestamp: 2026-06-17 06:18:23
This commit is contained in:
@@ -274,6 +274,8 @@ h3 { font-size: 1.5rem; font-weight: 600; }
|
||||
.nav a { font-family: var(--f-body); font-size: 0.92rem; color: var(--ink-2);
|
||||
text-decoration: none; }
|
||||
.nav a:hover { color: var(--ink); }
|
||||
.nav__link--cta { color: var(--accent-ink) !important; font-weight: 600; }
|
||||
.nav__link--cta:hover { color: var(--accent) !important; }
|
||||
.nav__phone { font-family: var(--f-mono); color: var(--ink) !important; font-weight: 500; }
|
||||
.theme-toggle, .nav__toggle {
|
||||
background: transparent; border: 1px solid var(--rule); border-radius: 2px;
|
||||
@@ -656,3 +658,280 @@ select:focus, .stepper input:focus, input:focus { outline: 2px solid var(--accen
|
||||
background: linear-gradient(135deg, var(--surface-2) 0 50%, var(--accent) 50% 100%); }
|
||||
.skin-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
|
||||
@media (max-width: 560px) { .nav__phone { display: none; } }
|
||||
|
||||
/* ---- Custom Cursor - REMOVED (restored to normal system cursor) ------- */
|
||||
|
||||
/* ---- Instant State Changes (No Transitions) ---------------------------- */
|
||||
.btn,
|
||||
a,
|
||||
.tier,
|
||||
.service-card,
|
||||
.svc,
|
||||
.more-link,
|
||||
.theme-toggle,
|
||||
.skin-toggle,
|
||||
.nav__toggle,
|
||||
.faq__q,
|
||||
button,
|
||||
input,
|
||||
textarea,
|
||||
select {
|
||||
transition: none !important;
|
||||
}
|
||||
|
||||
.btn:hover,
|
||||
.tier:hover {
|
||||
background: var(--ink);
|
||||
color: var(--paper);
|
||||
border-color: var(--ink);
|
||||
}
|
||||
|
||||
/* Service cards (.svc) have complex internal styling - no hover inversion */
|
||||
|
||||
.more-link:hover .arrow {
|
||||
transform: translateX(6px);
|
||||
}
|
||||
|
||||
/* ---- Clip-Path Wipe Reveals -------------------------------------------- */
|
||||
.reveal {
|
||||
clip-path: inset(0 100% 0 0);
|
||||
animation: reveal-wipe 0.8s cubic-bezier(0.77, 0, 0.175, 1) forwards;
|
||||
}
|
||||
|
||||
.reveal.in {
|
||||
clip-path: inset(0 0 0 0);
|
||||
}
|
||||
|
||||
@keyframes reveal-wipe {
|
||||
from { clip-path: inset(0 100% 0 0); }
|
||||
to { clip-path: inset(0 0 0 0); }
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
.reveal {
|
||||
clip-path: inset(0 0 0 0);
|
||||
animation: none;
|
||||
}
|
||||
}
|
||||
|
||||
/* ---- Field Intelligence Dispatch Board --------------------------------- */
|
||||
.dispatch-board {
|
||||
background: var(--surface);
|
||||
border-block: 1px solid var(--rule);
|
||||
}
|
||||
|
||||
.dispatch-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
|
||||
gap: calc(var(--base) * 1.5);
|
||||
margin-top: var(--base);
|
||||
}
|
||||
|
||||
.dispatch-card {
|
||||
background: var(--paper);
|
||||
border: 1px solid var(--rule);
|
||||
padding: calc(var(--base) * 1.25);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.dispatch-card__label {
|
||||
font-family: var(--f-mono);
|
||||
font-size: 0.7rem;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.15em;
|
||||
color: var(--accent-ink);
|
||||
margin-bottom: 0.75rem;
|
||||
}
|
||||
|
||||
.dispatch-card__title {
|
||||
font-family: var(--f-display);
|
||||
font-size: 1.35rem;
|
||||
font-weight: 600;
|
||||
line-height: 1.15;
|
||||
margin-bottom: 0.75rem;
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
.dispatch-card__excerpt {
|
||||
color: var(--ink-2);
|
||||
font-size: 0.92rem;
|
||||
line-height: 1.5;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.dispatch-card__meta {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
gap: 1rem;
|
||||
padding-top: 1rem;
|
||||
border-top: 1px solid var(--rule);
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
|
||||
.dispatch-card__date {
|
||||
font-family: var(--f-mono);
|
||||
color: var(--ink-3);
|
||||
}
|
||||
|
||||
.dispatch-card__tag {
|
||||
background: var(--accent);
|
||||
color: var(--on-accent);
|
||||
padding: 0.25rem 0.6rem;
|
||||
font-family: var(--f-mono);
|
||||
font-size: 0.7rem;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.05em;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.dispatch-grid {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
||||
|
||||
/* ---- Radio Ticker Marquee ---------------------------------------------- */
|
||||
.radio-ticker {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: var(--ink);
|
||||
color: var(--paper);
|
||||
border-top: 1px solid var(--accent);
|
||||
height: 40px;
|
||||
overflow: hidden;
|
||||
z-index: 9999;
|
||||
}
|
||||
|
||||
.radio-ticker__track {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 100%;
|
||||
animation: ticker-scroll 30s linear infinite;
|
||||
}
|
||||
|
||||
@keyframes ticker-scroll {
|
||||
0% { transform: translateX(0); }
|
||||
100% { transform: translateX(-50%); }
|
||||
}
|
||||
|
||||
.radio-ticker__item {
|
||||
font-family: var(--f-mono);
|
||||
font-size: 0.8rem;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.1em;
|
||||
white-space: nowrap;
|
||||
padding: 0 3rem;
|
||||
color: var(--paper);
|
||||
}
|
||||
|
||||
.radio-ticker__item strong {
|
||||
color: var(--accent);
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.radio-ticker__item::before {
|
||||
content: "●";
|
||||
color: var(--accent);
|
||||
margin-right: 1rem;
|
||||
}
|
||||
|
||||
/* ---- Exit Intent Banner (Subtle Slide-Down, Below Header) ------------- */
|
||||
.exit-offer {
|
||||
position: fixed;
|
||||
top: 73px; /* Below header (72px min-height + 1px border) */
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: var(--accent);
|
||||
color: var(--on-accent);
|
||||
z-index: 45; /* Below header (z-index: 50) but above content */
|
||||
transform: translateY(-100%);
|
||||
transition: transform 0.4s ease;
|
||||
border-bottom: 1px solid var(--ink);
|
||||
}
|
||||
|
||||
.exit-offer.show {
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
.exit-offer__content {
|
||||
max-width: var(--maxw);
|
||||
margin: 0 auto;
|
||||
padding: 1rem 1.5rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 1.5rem;
|
||||
}
|
||||
|
||||
.exit-offer__message {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.exit-offer__message strong {
|
||||
font-family: var(--f-display);
|
||||
font-size: 1.1rem;
|
||||
text-transform: uppercase;
|
||||
display: block;
|
||||
margin-bottom: 0.25rem;
|
||||
}
|
||||
|
||||
.exit-offer__message p {
|
||||
font-size: 0.9rem;
|
||||
margin: 0;
|
||||
opacity: 0.95;
|
||||
}
|
||||
|
||||
.exit-offer__actions {
|
||||
display: flex;
|
||||
gap: 0.75rem;
|
||||
align-items: center;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.exit-offer__close {
|
||||
background: transparent;
|
||||
border: 1px solid var(--on-accent);
|
||||
color: var(--on-accent);
|
||||
font-size: 1.2rem;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
padding: 0;
|
||||
display: grid;
|
||||
place-items: center;
|
||||
}
|
||||
|
||||
.exit-offer__close:hover {
|
||||
background: var(--on-accent);
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
.exit-offer .btn {
|
||||
font-size: 0.9rem;
|
||||
padding: 0.6rem 1.2rem;
|
||||
}
|
||||
|
||||
.exit-offer .btn--primary {
|
||||
background: var(--ink);
|
||||
color: var(--paper);
|
||||
border-color: var(--ink);
|
||||
}
|
||||
|
||||
.exit-offer .btn--primary:hover {
|
||||
background: var(--paper);
|
||||
color: var(--ink);
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.exit-offer__content {
|
||||
flex-direction: column;
|
||||
text-align: center;
|
||||
padding: 1rem;
|
||||
}
|
||||
|
||||
.exit-offer__actions {
|
||||
width: 100%;
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user