AI / site.css
GiniGen AI
라우터화·CSS 분리·Studio 압축 (작업 6~7)
71f4040
Raw
History Blame Contribute Delete
33.2 kB
:root {
--bg-deep: #0E1B2A;
--bg-mid: #33337A;
--bg-light: #1E3A8A;
--accent-blue: #3B82F6;
--accent-cyan: #0AB4CC;
--accent-violet: #A855F7;
--accent-magenta: #D946EF;
--accent-gold: #E5B584;
--text-primary: #F8FAFC;
--text-secondary: rgba(226, 232, 240, 0.78);
--text-muted: rgba(226, 232, 240, 0.55);
--surface: rgba(255, 255, 255, 0.06);
--surface-hover: rgba(255, 255, 255, 0.10);
--border: rgba(255, 255, 255, 0.10);
--border-bright: rgba(0, 217, 255, 0.40);
--border-violet: rgba(168, 85, 247, 0.40);
--gradient-logo: linear-gradient(135deg, #3B82F6 0%, #A855F7 55%, #D946EF 100%);
--gradient-aurora: linear-gradient(135deg, #00D9FF 0%, #3B82F6 35%, #A855F7 75%, #D946EF 100%);
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 100px; }
body {
font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', sans-serif;
background: var(--bg-deep);
background-image:
radial-gradient(ellipse 80% 50% at 20% 0%, rgba(59, 130, 246, 0.18) 0%, transparent 50%),
radial-gradient(ellipse 70% 60% at 80% 30%, rgba(0, 217, 255, 0.12) 0%, transparent 50%),
radial-gradient(ellipse 55% 45% at 90% 75%, rgba(168, 85, 247, 0.14) 0%, transparent 60%),
radial-gradient(ellipse 50% 40% at 10% 90%, rgba(217, 70, 239, 0.08) 0%, transparent 60%),
radial-gradient(ellipse 60% 50% at 50% 100%, rgba(30, 58, 138, 0.30) 0%, transparent 60%);
color: var(--text-primary);
min-height: 100vh;
overflow-x: hidden;
line-height: 1.6;
}
/* ============ NAVIGATION ============ */
.nav-container {
position: fixed;
top: 0; left: 0; right: 0;
background: rgba(11, 20, 55, 0.72);
backdrop-filter: blur(16px);
-webkit-backdrop-filter: blur(16px);
border-bottom: 1px solid var(--border);
z-index: 1000;
padding: 16px 40px;
display: flex;
justify-content: space-between;
align-items: center;
}
.nav-left { display: flex; align-items: center; gap: 36px; }
.logo {
display: flex;
align-items: center;
gap: 10px;
cursor: pointer;
text-decoration: none;
height: 32px;
}
.logo-img {
height: 26px;
width: auto;
display: block;
filter: drop-shadow(0 0 14px rgba(167, 139, 250, 0.32));
transition: filter 0.25s ease;
}
.logo:hover .logo-img {
filter: drop-shadow(0 0 18px rgba(167, 139, 250, 0.55));
}
.logo-sub {
font-size: 11px;
color: var(--text-muted);
font-weight: 600;
letter-spacing: 1.2px;
padding: 3px 7px;
border: 1px solid var(--border);
border-radius: 6px;
}
.tabs { display: flex; gap: 6px; }
.tab {
color: var(--text-secondary);
text-decoration: none;
font-size: 14.5px;
font-weight: 600;
padding: 8px 16px;
border-radius: 8px;
transition: all 0.25s ease;
cursor: pointer;
border: none;
background: transparent;
}
.tab:hover { background: var(--surface-hover); color: var(--text-primary); }
.tab.active {
background: linear-gradient(135deg, rgba(59, 130, 246, 0.22) 0%, rgba(168, 85, 247, 0.18) 60%, rgba(0, 217, 255, 0.14) 100%);
color: var(--accent-cyan);
border: 1px solid var(--border-bright);
}
.powered-by {
color: var(--text-muted);
font-size: 12px;
display: flex;
align-items: center;
gap: 8px;
}
.powered-by .dot {
width: 6px; height: 6px; border-radius: 50%;
background: #10B981;
box-shadow: 0 0 8px #10B981;
animation: pulse 2s infinite;
}
@keyframes pulse { 0%,100%{opacity:1;} 50%{opacity:0.4;} }
.live-link {
text-decoration: none;
color: var(--text-secondary);
padding: 7px 14px;
border: 1px solid var(--border);
border-radius: 999px;
transition: all 0.2s ease;
font-weight: 600;
font-size: 12.5px;
}
.live-link:hover {
color: var(--accent-cyan);
border-color: var(--border-bright);
background: var(--surface-hover);
}
.live-dot {
background: #EF4444 !important;
box-shadow: 0 0 10px #EF4444 !important;
}
.live-arrow {
font-size: 11px;
opacity: 0.7;
transition: transform 0.2s;
margin-left: 2px;
}
.live-link:hover .live-arrow {
transform: translate(2px, -2px);
opacity: 1;
}
/* ============ PARTICLES (Network Nodes) ============ */
.particles {
position: fixed;
inset: 0;
overflow: hidden;
z-index: 1;
pointer-events: none;
}
.particle {
position: absolute;
width: 3px; height: 3px;
background: var(--accent-cyan);
border-radius: 50%;
box-shadow: 0 0 12px var(--accent-cyan);
opacity: 0.4;
animation: drift 25s infinite ease-in-out;
}
@keyframes drift {
0%, 100% { transform: translateY(0) translateX(0); opacity: 0.2; }
50% { transform: translateY(-60vh) translateX(40px); opacity: 0.6; }
}
/* ============ MAIN ============ */
.container {
position: relative;
z-index: 10;
max-width: 1240px;
margin: 0 auto;
padding: 110px 24px 80px;
}
.tab-content { display: block; }
.tab-content.active { display: block; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
/* ============ HERO ============ */
.hero {
position: relative;
margin: -110px calc(50% - 50vw) 0;
width: 100vw;
padding: 160px 24px 100px;
min-height: 760px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
overflow: hidden;
}
.hero-bg {
position: absolute;
inset: 0;
z-index: 0;
overflow: hidden;
background: var(--bg-deep);
}
.hero-bg video {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.hero-overlay {
position: absolute;
inset: 0;
z-index: 1;
background:
linear-gradient(180deg,
rgba(11, 20, 55, 0.55) 0%,
rgba(11, 20, 55, 0.40) 40%,
rgba(11, 20, 55, 0.85) 92%,
var(--bg-deep) 100%),
radial-gradient(ellipse at 78% 28%, rgba(168, 85, 247, 0.14) 0%, transparent 55%),
radial-gradient(ellipse at 22% 72%, rgba(0, 217, 255, 0.10) 0%, transparent 55%),
radial-gradient(ellipse at center, transparent 0%, rgba(11, 20, 55, 0.45) 100%);
pointer-events: none;
}
.hero-content {
position: relative;
z-index: 2;
max-width: 820px;
width: 100%;
}
.hero-badge {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 8px 16px;
background: rgba(229, 181, 132, 0.12);
border: 1px solid rgba(229, 181, 132, 0.35);
border-radius: 999px;
font-size: 12.5px;
font-weight: 600;
color: var(--accent-gold);
margin-bottom: 24px;
letter-spacing: 0.3px;
}
.hero h1 {
font-size: clamp(36px, 6vw, 64px);
font-weight: 800;
line-height: 1.15;
letter-spacing: -1.5px;
margin-bottom: 20px;
text-shadow: 0 4px 30px rgba(0, 0, 0, 0.50);
}
.hero h1 .accent {
background: var(--gradient-aurora);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.hero p {
font-size: clamp(15px, 2vw, 19px);
color: var(--text-secondary);
max-width: 720px;
margin: 0 auto 36px;
line-height: 1.7;
text-shadow: 0 2px 16px rgba(0, 0, 0, 0.45);
}
.hero-stats {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
max-width: 760px;
margin: 0 auto;
}
.hero-stat {
background: var(--surface);
border: 1px solid var(--border);
border-radius: 14px;
padding: 20px 16px;
backdrop-filter: blur(8px);
}
.hero-stat .num {
font-size: 28px;
font-weight: 800;
background: linear-gradient(135deg, var(--accent-cyan) 0%, var(--accent-violet) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
letter-spacing: -0.5px;
}
.hero-stat .label {
font-size: 13px;
color: var(--text-secondary);
margin-top: 4px;
}
/* ============ SECTION TITLE ============ */
.section {
margin-top: 110px;
}
.tab-content > .section:first-of-type {
margin-top: 60px;
}
.section-title {
font-size: 11.5px;
font-weight: 600;
color: var(--accent-violet);
letter-spacing: 1.6px;
text-transform: uppercase;
margin-bottom: 14px;
display: inline-flex;
align-items: center;
gap: 10px;
opacity: 0.85;
}
.section-title::before {
content: '';
width: 22px;
height: 1px;
background: var(--accent-violet);
opacity: 0.5;
}
.section-heading {
font-size: clamp(28px, 3.6vw, 40px);
font-weight: 700;
line-height: 1.18;
letter-spacing: -0.6px;
margin-bottom: 18px;
}
.section-sub {
font-size: 16px;
color: var(--text-secondary);
max-width: 680px;
margin-bottom: 44px;
line-height: 1.7;
font-weight: 400;
}
/* ============ 3 PILLARS ============ */
.pillars {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}
.pillar {
position: relative;
background: linear-gradient(160deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.01) 100%);
border: 1px solid var(--border);
border-radius: 18px;
padding: 36px 28px;
transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
overflow: hidden;
cursor: pointer;
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
}
.pillar::before {
content: '';
position: absolute;
top: 0; left: 0; right: 0;
height: 3px;
background: var(--gradient);
opacity: 0.8;
}
.pillar:hover {
transform: translateY(-3px);
border-color: var(--border-bright);
box-shadow:
0 16px 40px rgba(0, 217, 255, 0.10),
0 8px 24px rgba(168, 85, 247, 0.09);
}
.pillar[data-color="cyan"] { --gradient: linear-gradient(90deg, #00D9FF, #3B82F6); }
.pillar[data-color="blue"] { --gradient: linear-gradient(90deg, #3B82F6, #A855F7, #D946EF); }
.pillar[data-color="gold"] { --gradient: linear-gradient(90deg, #E5B584, #D946EF); }
.pillar-icon {
width: 52px; height: 52px;
border-radius: 14px;
background: var(--gradient);
display: flex;
align-items: center;
justify-content: center;
font-size: 26px;
margin-bottom: 18px;
box-shadow: 0 8px 20px rgba(0, 217, 255, 0.18);
}
.pillar-tag {
display: inline-block;
font-size: 11px;
font-weight: 700;
color: var(--accent-cyan);
letter-spacing: 1.5px;
margin-bottom: 8px;
}
.pillar h3 {
font-size: 23px;
font-weight: 700;
margin-bottom: 12px;
letter-spacing: -0.6px;
}
.pillar .tagline {
font-size: 14.5px;
color: var(--text-secondary);
line-height: 1.7;
margin-bottom: 20px;
font-weight: 400;
}
.pillar ul {
list-style: none;
padding: 0;
border-top: 1px solid var(--border);
padding-top: 16px;
}
.pillar ul li {
font-size: 13.5px;
color: var(--text-muted);
padding: 5px 0;
display: flex;
align-items: flex-start;
gap: 8px;
}
.pillar ul li::before {
content: '◆';
color: var(--accent-cyan);
font-size: 8px;
margin-top: 6px;
flex-shrink: 0;
}
.pillar-cta {
display: inline-block;
margin-top: 18px;
font-size: 13px;
font-weight: 700;
color: var(--accent-cyan);
text-decoration: none;
transition: gap 0.2s;
}
.pillar-cta:hover { gap: 12px; }
.pillar-cta::after { content: ' →'; }
/* ============ TRUST BAR ============ */
.trust-bar {
margin-top: 70px;
background: linear-gradient(135deg, rgba(229, 181, 132, 0.10) 0%, rgba(168, 85, 247, 0.07) 50%, rgba(0, 217, 255, 0.06) 100%);
border: 1px solid rgba(229, 181, 132, 0.25);
border-radius: 20px;
padding: 32px 28px;
}
.trust-bar-head {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 22px;
flex-wrap: wrap;
}
.trust-bar-head .gold-badge {
background: linear-gradient(135deg, #E5B584, #F2D2A8);
color: #1F2937;
font-size: 11px;
font-weight: 800;
padding: 5px 12px;
border-radius: 6px;
letter-spacing: 1px;
}
.trust-bar-head h3 {
font-size: 20px;
font-weight: 800;
letter-spacing: -0.5px;
}
.trust-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 16px;
}
.trust-item {
text-align: left;
}
.trust-item .val {
font-size: 22px;
font-weight: 800;
color: var(--accent-gold);
letter-spacing: -0.5px;
}
.trust-item .lbl {
font-size: 12.5px;
color: var(--text-secondary);
margin-top: 4px;
line-height: 1.4;
}
/* ============ TRENDS ============ */
.trends-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 14px;
}
.trend-card {
background: var(--surface);
border: 1px solid var(--border);
border-radius: 14px;
padding: 22px 20px;
}
.trend-card .yr {
font-size: 11px;
font-weight: 700;
color: var(--accent-cyan);
letter-spacing: 1px;
margin-bottom: 8px;
}
.trend-card h4 {
font-size: 16px;
font-weight: 700;
margin-bottom: 8px;
line-height: 1.3;
}
.trend-card p {
font-size: 13px;
color: var(--text-secondary);
line-height: 1.55;
}
.trend-card .stat {
margin-top: 10px;
font-size: 13px;
color: var(--accent-gold);
font-weight: 700;
}
/* ============ DETAIL PAGES (AX / Society / Studio) ============ */
.detail-hero {
text-align: left;
padding: 50px 0 30px;
}
.detail-hero h2 {
font-size: clamp(32px, 4.6vw, 50px);
font-weight: 700;
line-height: 1.12;
letter-spacing: -1px;
margin-bottom: 22px;
}
.detail-hero .accent {
background: linear-gradient(135deg, var(--accent-cyan) 0%, var(--accent-violet) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.detail-hero .lead {
font-size: 17.5px;
color: var(--text-secondary);
max-width: 720px;
line-height: 1.7;
font-weight: 400;
}
.hero-cta-row {
display: flex;
gap: 12px;
margin-top: 28px;
flex-wrap: wrap;
}
.btn {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 14px 26px;
border-radius: 999px;
font-weight: 700;
font-size: 15px;
text-decoration: none;
transition: all 0.2s ease;
border: 1px solid transparent;
cursor: pointer;
}
.btn-primary {
background: var(--gradient-logo);
color: white;
box-shadow:
0 10px 28px rgba(168, 85, 247, 0.28),
0 6px 18px rgba(0, 217, 255, 0.18);
}
.btn-primary:hover {
transform: translateY(-2px);
box-shadow:
0 14px 38px rgba(217, 70, 239, 0.36),
0 8px 22px rgba(0, 217, 255, 0.22);
}
.btn-ghost {
background: var(--surface);
color: var(--accent-cyan);
border-color: var(--border-bright);
}
.btn-ghost:hover {
background: var(--surface-hover);
border-color: var(--accent-cyan);
}
.hero-price-strip {
margin-top: 22px;
padding: 14px 20px;
background: linear-gradient(135deg, rgba(229, 181, 132, 0.10) 0%, rgba(0, 217, 255, 0.06) 100%);
border: 1px solid rgba(229, 181, 132, 0.30);
border-radius: 12px;
font-size: 14px;
color: var(--text-secondary);
display: inline-block;
}
.hero-price-strip strong {
color: var(--accent-gold);
font-weight: 800;
}
/* ============ CONTACT FORM (Formspree) ============ */
.contact-form {
display: flex;
flex-direction: column;
gap: 18px;
max-width: 720px;
margin-top: 30px;
background: var(--surface);
border: 1px solid var(--border);
border-radius: 18px;
padding: 32px 30px;
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
}
.form-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
}
.form-field {
display: flex;
flex-direction: column;
gap: 8px;
}
.form-label {
font-size: 11.5px;
font-weight: 600;
color: var(--accent-violet);
letter-spacing: 1.4px;
text-transform: uppercase;
}
.form-label .req { color: var(--accent-magenta); margin-left: 3px; }
.contact-form input,
.contact-form select,
.contact-form textarea {
padding: 13px 16px;
background: rgba(11, 20, 55, 0.40);
border: 1px solid var(--border);
border-radius: 12px;
color: var(--text-primary);
font-family: inherit;
font-size: 15px;
transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
}
.contact-form input::placeholder,
.contact-form textarea::placeholder {
color: var(--text-muted);
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
outline: none;
border-color: var(--accent-cyan);
background: rgba(11, 20, 55, 0.55);
box-shadow: 0 0 0 3px rgba(0, 217, 255, 0.12);
}
.contact-form textarea { resize: vertical; line-height: 1.6; min-height: 120px; }
.contact-form select {
cursor: pointer;
appearance: none;
-webkit-appearance: none;
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%23A855F7' d='M6 8L0 0h12z'/></svg>");
background-repeat: no-repeat;
background-position: right 16px center;
padding-right: 40px;
}
.contact-form select option {
background: var(--bg-deep);
color: var(--text-primary);
}
.form-submit {
margin-top: 6px;
align-self: flex-start;
border: none;
font-family: inherit;
font-size: 15px;
cursor: pointer;
}
.form-note {
font-size: 12.5px;
color: var(--text-muted);
line-height: 1.55;
margin-top: 4px;
}
@media (max-width: 700px) {
.form-row { grid-template-columns: 1fr; }
.contact-form { padding: 24px 20px; }
}
.feat-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
margin-top: 30px;
}
.feat {
background: var(--surface);
border: 1px solid var(--border);
border-radius: 16px;
padding: 24px 22px;
transition: all 0.25s;
}
.feat:hover {
border-color: var(--border-bright);
background: var(--surface-hover);
transform: translateY(-2px);
box-shadow: 0 10px 24px rgba(168, 85, 247, 0.08);
}
.feat { transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); }
.feat .ico {
font-size: 24px;
margin-bottom: 12px;
}
.feat h4 {
font-size: 17px;
font-weight: 700;
margin-bottom: 8px;
}
.feat p { font-size: 14px; color: var(--text-secondary); line-height: 1.55; }
/* ============ PRICING TABLE ============ */
.pricing {
margin-top: 40px;
background: var(--surface);
border: 1px solid var(--border);
border-radius: 18px;
padding: 28px 24px;
}
.pricing-row {
display: grid;
grid-template-columns: 1.4fr 0.8fr 2fr 1fr;
gap: 16px;
padding: 16px 0;
border-bottom: 1px solid var(--border);
align-items: center;
}
.pricing-row:last-child { border-bottom: none; }
.pricing-row.head {
font-size: 11.5px;
font-weight: 700;
color: var(--accent-cyan);
letter-spacing: 1.2px;
padding-bottom: 12px;
text-transform: uppercase;
}
.pricing-row .tier { font-weight: 700; }
.pricing-row .price { font-weight: 800; color: var(--accent-gold); font-size: 17px; }
.pricing-row .desc { font-size: 13.5px; color: var(--text-secondary); }
.pricing-row .target { font-size: 13px; color: var(--text-muted); }
/* ============ INFOGRAPHIC for NationalOS ============ */
.society-graph {
margin-top: 30px;
background: linear-gradient(135deg, rgba(59, 130, 246, 0.10) 0%, rgba(168, 85, 247, 0.08) 55%, rgba(0, 217, 255, 0.05) 100%);
border: 1px solid var(--border);
border-radius: 20px;
padding: 36px 28px;
text-align: center;
}
.society-graph .big {
font-size: clamp(48px, 8vw, 80px);
font-weight: 900;
background: var(--gradient-aurora);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
letter-spacing: -2px;
line-height: 1;
}
.society-graph .big-lbl {
font-size: 14px;
color: var(--text-secondary);
margin-top: 4px;
}
.society-stats {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 12px;
margin-top: 28px;
}
.society-stat {
background: rgba(255,255,255,0.05);
border: 1px solid var(--border);
border-radius: 12px;
padding: 18px 12px;
}
.society-stat .v { font-size: 22px; font-weight: 800; color: var(--accent-cyan); }
.society-stat .l { font-size: 12px; color: var(--text-muted); margin-top: 4px; }
/* ============ IFRAME EMBED ============ */
.embed-container {
margin-top: 36px;
background: var(--surface);
border: 1px solid var(--border);
border-radius: 18px;
padding: 16px;
min-height: 540px;
}
.embed-container iframe {
width: 100%;
height: 600px;
border: none;
border-radius: 12px;
background: white;
}
.embed-placeholder {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
min-height: 360px;
color: var(--text-muted);
text-align: center;
padding: 30px;
}
.embed-placeholder .pico { font-size: 38px; margin-bottom: 14px; }
.embed-placeholder h4 { font-size: 18px; color: var(--text-primary); margin-bottom: 8px; }
.embed-placeholder a {
display: inline-block;
margin-top: 18px;
background: linear-gradient(135deg, var(--accent-blue), var(--accent-cyan));
color: white;
text-decoration: none;
padding: 12px 24px;
border-radius: 999px;
font-weight: 700;
font-size: 14px;
transition: transform 0.2s;
}
.embed-placeholder a:hover { transform: translateY(-2px); }
/* ============ CONTACT ============ */
.contact-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
margin-top: 30px;
}
.contact-card {
background: var(--surface);
border: 1px solid var(--border);
border-radius: 18px;
padding: 28px;
}
.contact-card h4 {
font-size: 18px;
font-weight: 700;
margin-bottom: 12px;
}
.contact-card p { font-size: 14.5px; color: var(--text-secondary); line-height: 1.65; }
.contact-card .ml {
display: inline-block;
margin-top: 14px;
color: var(--accent-cyan);
text-decoration: none;
font-weight: 700;
font-size: 14px;
}
/* ============ PRESS ============ */
.press-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px;
margin-top: 30px;
}
.press-card {
background: var(--surface);
border: 1px solid var(--border);
border-radius: 18px;
padding: 26px 24px;
text-decoration: none;
color: inherit;
transition: all 0.25s ease;
display: flex;
flex-direction: column;
gap: 12px;
}
.press-card:hover {
border-color: var(--border-bright);
background: var(--surface-hover);
transform: translateY(-2px);
box-shadow: 0 12px 28px rgba(0, 217, 255, 0.08);
}
.press-meta {
display: flex;
align-items: center;
justify-content: space-between;
font-size: 12.5px;
letter-spacing: 0.5px;
}
.press-outlet {
color: var(--accent-cyan);
font-weight: 800;
letter-spacing: 1.2px;
text-transform: uppercase;
}
.press-date {
color: var(--text-muted);
}
.press-title {
font-size: 18px;
font-weight: 800;
line-height: 1.35;
color: var(--text-primary);
letter-spacing: -0.3px;
margin: 0;
}
.press-summary {
font-size: 14px;
color: var(--text-secondary);
line-height: 1.6;
margin: 0;
}
.press-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: auto;
padding-top: 8px;
}
.press-byline {
font-size: 12px;
color: var(--text-muted);
}
.press-cta {
color: var(--accent-cyan);
font-weight: 700;
font-size: 14px;
}
.press-card:hover .press-cta {
text-decoration: underline;
}
.press-note {
margin-top: 24px;
padding: 16px 20px;
background: rgba(229, 181, 132, 0.06);
border: 1px solid rgba(229, 181, 132, 0.20);
border-radius: 12px;
font-size: 13.5px;
color: var(--text-secondary);
line-height: 1.6;
}
.press-note strong {
color: var(--accent-gold);
font-weight: 800;
}
/* ============ FOOTER ============ */
.footer {
margin-top: 80px;
padding: 28px 24px;
border-top: 1px solid var(--border);
text-align: center;
color: var(--text-muted);
font-size: 12.5px;
line-height: 1.7;
}
.footer strong { color: var(--text-secondary); }
.footer-links { margin-top: 10px; }
.footer-links a { color: var(--text-muted); text-decoration: none; margin: 0 8px; }
.footer-links a:hover { color: var(--accent-cyan); }
/* ============ RESPONSIVE ============ */
@media (max-width: 900px) {
.pillars, .trust-grid, .trends-grid, .feat-grid, .society-stats, .contact-grid, .press-grid {
grid-template-columns: 1fr;
}
.hero-stats { grid-template-columns: repeat(3, 1fr); }
.nav-container { padding: 12px 16px; flex-direction: column; gap: 10px; }
.nav-left { flex-direction: column; gap: 10px; width: 100%; }
.tabs { flex-wrap: wrap; justify-content: center; }
.container { padding-top: 180px; }
.hero { margin-top: -180px; padding: 220px 20px 60px; min-height: 640px; }
.pricing-row { grid-template-columns: 1fr; gap: 6px; padding: 14px 0; }
.pricing-row.head { display: none; }
.pricing-row .price { font-size: 20px; }
}
@media (max-width: 480px) {
.hero-stats { grid-template-columns: 1fr; }
.society-stats { grid-template-columns: repeat(2, 1fr); }
.tab { font-size: 13px; padding: 6px 10px; }
}