mirror of
https://github.com/BigMarc/Bunny-Agency-Italy.git
synced 2026-10-13 17:00:40 +02:00
1066 lines
33 KiB
CSS
1066 lines
33 KiB
CSS
/* ============================================================
|
||
Bunny Agency Italia — "Milanese Editoriale"
|
||
Wine · Gold · Cream · Deep-green. Bodoni Moda display / Mulish body.
|
||
Motif: high-contrast serif, gilded framed panels, gold dust.
|
||
============================================================ */
|
||
|
||
:root {
|
||
--wine: #7A1F2B;
|
||
--wine-deep: #4d121b;
|
||
--wine-2: #94303f;
|
||
--gold: #C9A227;
|
||
--gold-soft: #d9bd5a;
|
||
--gold-deep: #a6841a;
|
||
--cream: #F4EDE1;
|
||
--cream-2: #efe6d6;
|
||
--cream-hi: #FBF6EC;
|
||
--green: #1D4A3A;
|
||
--green-2: #2d6a52;
|
||
--ink: #1c1512;
|
||
--muted: #6a5a52;
|
||
--line: rgba(110, 18, 38, 0.16);
|
||
--line-gold: rgba(201, 162, 39, 0.42);
|
||
--card: #fffdf8;
|
||
--shadow-lg: 0 30px 70px rgba(74, 12, 25, 0.16);
|
||
--shadow-md: 0 16px 40px rgba(74, 12, 25, 0.12);
|
||
--shadow-sm: 0 8px 22px rgba(74, 12, 25, 0.09);
|
||
--maxw: 1240px;
|
||
--gap: clamp(1.5rem, 4vw, 4rem);
|
||
--font-display: Georgia, "Times New Roman", serif;
|
||
--font-body: system-ui, sans-serif;
|
||
}
|
||
|
||
* { box-sizing: border-box; }
|
||
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
|
||
body {
|
||
margin: 0;
|
||
background: var(--cream);
|
||
background-image:
|
||
radial-gradient(1200px 620px at 82% -8%, rgba(201, 162, 39, 0.10), transparent 60%),
|
||
radial-gradient(1000px 560px at -6% 8%, rgba(110, 18, 38, 0.07), transparent 55%);
|
||
background-attachment: fixed;
|
||
color: var(--ink);
|
||
font-family: var(--font-body);
|
||
font-size: 17px;
|
||
line-height: 1.72;
|
||
-webkit-font-smoothing: antialiased;
|
||
overflow-x: hidden;
|
||
}
|
||
a { color: inherit; }
|
||
img { max-width: 100%; }
|
||
::selection { background: var(--gold); color: var(--wine-deep); }
|
||
|
||
/* ---- backdrop layers ---- */
|
||
.gold-dust {
|
||
position: fixed;
|
||
inset: 0;
|
||
width: 100%;
|
||
height: 100%;
|
||
z-index: 0;
|
||
pointer-events: none;
|
||
opacity: 0.9;
|
||
}
|
||
.frame-vignette {
|
||
position: fixed;
|
||
inset: 0;
|
||
z-index: 0;
|
||
pointer-events: none;
|
||
box-shadow: inset 0 0 0 1px rgba(201, 162, 39, 0.22), inset 0 0 140px rgba(74, 12, 25, 0.10);
|
||
mix-blend-mode: multiply;
|
||
}
|
||
main, .site-header, .site-footer { position: relative; z-index: 1; }
|
||
|
||
/* ---- typography ---- */
|
||
.eyebrow, .brand-mark, .card-cta, .nav-cta, .mnav-cta {
|
||
font-family: var(--font-body);
|
||
}
|
||
h1, h2, h3 { font-family: var(--font-display); font-weight: 700; color: var(--wine-deep); }
|
||
h1 {
|
||
font-size: clamp(2.3rem, 4.8vw, 4.1rem);
|
||
line-height: 1.04;
|
||
letter-spacing: -0.015em;
|
||
margin: 0.4rem 0 1.1rem;
|
||
font-weight: 800;
|
||
text-wrap: balance;
|
||
}
|
||
h2 {
|
||
font-size: clamp(1.55rem, 2.9vw, 2.25rem);
|
||
line-height: 1.14;
|
||
letter-spacing: -0.008em;
|
||
margin: 0 0 0.9rem;
|
||
text-wrap: balance;
|
||
}
|
||
p { text-wrap: pretty; }
|
||
h3 { font-size: clamp(1.15rem, 2vw, 1.4rem); line-height: 1.2; margin: 0 0 0.4rem; }
|
||
p { margin: 0 0 1rem; }
|
||
strong { color: var(--wine-deep); }
|
||
|
||
.eyebrow {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
gap: 0.6rem;
|
||
text-transform: uppercase;
|
||
letter-spacing: 0.22em;
|
||
font-size: 0.75rem;
|
||
font-weight: 800;
|
||
color: var(--wine-2);
|
||
margin: 0;
|
||
}
|
||
.eyebrow::before {
|
||
content: "";
|
||
inline-size: 2.2rem;
|
||
block-size: 2px;
|
||
background: linear-gradient(90deg, var(--gold), transparent);
|
||
}
|
||
|
||
/* ============================================================
|
||
HEADER
|
||
============================================================ */
|
||
.site-header {
|
||
position: sticky;
|
||
inset-block-start: 0;
|
||
z-index: 40;
|
||
background: rgba(251, 246, 236, 0.97);
|
||
border-block-end: 1px solid var(--line-gold);
|
||
box-shadow: 0 1px 0 rgba(201, 162, 39, 0.12), 0 10px 30px -18px rgba(74, 12, 25, 0.25);
|
||
}
|
||
.site-header-inner {
|
||
max-width: var(--maxw);
|
||
margin-inline: auto;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
gap: 1rem;
|
||
padding: 0.85rem clamp(1rem, 4vw, 3rem);
|
||
}
|
||
.brand {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
gap: 0.7rem;
|
||
text-decoration: none;
|
||
color: var(--wine-deep);
|
||
}
|
||
.brand-mark {
|
||
display: grid;
|
||
place-items: center;
|
||
inline-size: 2.5rem;
|
||
block-size: 2.5rem;
|
||
border-radius: 0.55rem;
|
||
background: linear-gradient(150deg, var(--wine), var(--wine-deep));
|
||
color: var(--gold-soft);
|
||
font-family: var(--font-display);
|
||
font-weight: 800;
|
||
font-size: 1.05rem;
|
||
letter-spacing: 0.02em;
|
||
box-shadow: inset 0 0 0 1px var(--line-gold), var(--shadow-sm);
|
||
}
|
||
.brand-name {
|
||
font-family: var(--font-display);
|
||
font-weight: 700;
|
||
font-size: 1.12rem;
|
||
letter-spacing: 0.01em;
|
||
}
|
||
.site-nav { display: flex; align-items: center; gap: 0.4rem; }
|
||
.nav-link {
|
||
text-decoration: none;
|
||
font-weight: 700;
|
||
font-size: 0.92rem;
|
||
color: var(--ink);
|
||
padding: 0.5rem 0.8rem;
|
||
border-radius: 0.5rem;
|
||
position: relative;
|
||
transition: color 0.2s ease, background 0.2s ease;
|
||
}
|
||
.nav-link::after {
|
||
content: "";
|
||
position: absolute;
|
||
inset-inline: 0.8rem;
|
||
inset-block-end: 0.32rem;
|
||
block-size: 2px;
|
||
background: var(--gold);
|
||
transform: scaleX(0);
|
||
transform-origin: inline-start;
|
||
transition: transform 0.25s ease;
|
||
}
|
||
.nav-link:hover { color: var(--wine); }
|
||
.nav-link:hover::after { transform: scaleX(1); }
|
||
.nav-cta {
|
||
text-decoration: none;
|
||
font-weight: 800;
|
||
font-size: 0.9rem;
|
||
color: var(--cream-hi);
|
||
background: linear-gradient(150deg, var(--wine), var(--wine-deep));
|
||
padding: 0.6rem 1.15rem;
|
||
border-radius: 999px;
|
||
box-shadow: inset 0 0 0 1px var(--line-gold), var(--shadow-sm);
|
||
transition: transform 0.2s ease, box-shadow 0.2s ease;
|
||
}
|
||
.nav-cta:hover { transform: translateY(-2px); box-shadow: inset 0 0 0 1px var(--gold), var(--shadow-md); }
|
||
|
||
/* mobile nav */
|
||
.mnav { display: none; }
|
||
.mnav-toggle {
|
||
display: inline-grid;
|
||
place-items: center;
|
||
inline-size: 2.75rem;
|
||
block-size: 2.75rem;
|
||
border: 1px solid var(--line-gold);
|
||
border-radius: 0.6rem;
|
||
background: var(--cream-hi);
|
||
cursor: pointer;
|
||
}
|
||
.mnav-bars { position: relative; inline-size: 20px; block-size: 14px; }
|
||
.mnav-bars i {
|
||
position: absolute;
|
||
inset-inline: 0;
|
||
block-size: 2px;
|
||
background: var(--wine);
|
||
border-radius: 2px;
|
||
transition: transform 0.25s ease, opacity 0.2s ease, top 0.25s ease;
|
||
}
|
||
.mnav-bars i:nth-child(1) { inset-block-start: 0; }
|
||
.mnav-bars i:nth-child(2) { inset-block-start: 6px; }
|
||
.mnav-bars i:nth-child(3) { inset-block-start: 12px; }
|
||
.mnav-bars.is-open i:nth-child(1) { inset-block-start: 6px; transform: rotate(45deg); }
|
||
.mnav-bars.is-open i:nth-child(2) { opacity: 0; }
|
||
.mnav-bars.is-open i:nth-child(3) { inset-block-start: 6px; transform: rotate(-45deg); }
|
||
.mnav-scrim {
|
||
position: fixed;
|
||
inset: 0;
|
||
z-index: 45;
|
||
border: 0;
|
||
background: rgba(28, 21, 18, 0.42);
|
||
backdrop-filter: blur(2px);
|
||
cursor: pointer;
|
||
}
|
||
.mnav-panel {
|
||
position: fixed;
|
||
inset-block-start: 0;
|
||
inset-inline-end: 0;
|
||
z-index: 50;
|
||
block-size: 100dvh;
|
||
inline-size: min(82vw, 340px);
|
||
background: var(--cream-hi);
|
||
border-inline-start: 1px solid var(--line-gold);
|
||
box-shadow: -30px 0 70px rgba(74, 12, 25, 0.2);
|
||
padding: 5rem 1.6rem 2rem;
|
||
transform: translateX(100%);
|
||
transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
|
||
overflow-y: auto;
|
||
overscroll-behavior: contain;
|
||
}
|
||
.mnav-panel.is-open { transform: translateX(0); }
|
||
.mnav-panel nav { display: flex; flex-direction: column; gap: 0.4rem; }
|
||
.mnav-panel nav a {
|
||
text-decoration: none;
|
||
font-family: var(--font-display);
|
||
font-weight: 700;
|
||
font-size: 1.35rem;
|
||
color: var(--wine-deep);
|
||
padding: 0.7rem 0.4rem;
|
||
border-block-end: 1px solid var(--line);
|
||
}
|
||
.mnav-panel nav a.mnav-cta {
|
||
margin-block-start: 1rem;
|
||
border: 0;
|
||
text-align: center;
|
||
font-family: var(--font-body);
|
||
font-size: 1rem;
|
||
color: var(--cream-hi);
|
||
background: linear-gradient(150deg, var(--wine), var(--wine-deep));
|
||
border-radius: 999px;
|
||
box-shadow: inset 0 0 0 1px var(--line-gold);
|
||
}
|
||
|
||
/* ============================================================
|
||
PAGE SHELL + BREADCRUMBS
|
||
============================================================ */
|
||
.page-shell {
|
||
max-width: var(--maxw);
|
||
margin-inline: auto;
|
||
padding: clamp(1.6rem, 4vw, 3.2rem) clamp(1rem, 4vw, 3rem) clamp(3rem, 7vw, 6rem);
|
||
}
|
||
.breadcrumbs { margin: 0 0 clamp(1.4rem, 3vw, 2.2rem); font-size: 0.84rem; color: var(--muted); }
|
||
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 0.5rem; list-style: none; margin: 0; padding: 0; }
|
||
.breadcrumbs li + li::before { content: "›"; margin-inline-end: 0.5rem; color: var(--gold-deep); }
|
||
.breadcrumbs a { text-decoration: none; text-underline-offset: 0.2em; }
|
||
.breadcrumbs a:hover { text-decoration: underline; }
|
||
.breadcrumbs [aria-current="page"] { color: var(--wine); font-weight: 700; }
|
||
|
||
/* ============================================================
|
||
HERO — gilded framed panel
|
||
============================================================ */
|
||
.hero { margin-block-end: clamp(2rem, 4.5vw, 3.5rem); }
|
||
.hero-frame {
|
||
display: grid;
|
||
grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
|
||
gap: clamp(1.5rem, 4vw, 3.5rem);
|
||
align-items: center;
|
||
padding: clamp(1.5rem, 3.4vw, 2.6rem);
|
||
background:
|
||
linear-gradient(180deg, var(--cream-hi), var(--cream));
|
||
border: 1px solid var(--line-gold);
|
||
border-radius: 1.25rem;
|
||
box-shadow: var(--shadow-lg);
|
||
position: relative;
|
||
}
|
||
.hero-frame::before {
|
||
content: "";
|
||
position: absolute;
|
||
inset: 0.55rem;
|
||
border: 1px solid rgba(201, 162, 39, 0.28);
|
||
border-radius: 0.85rem;
|
||
pointer-events: none;
|
||
}
|
||
.hero-copy { position: relative; z-index: 1; padding: 0.5rem; }
|
||
.answer-card {
|
||
margin-block-start: 1.2rem;
|
||
padding: 1.25rem 1.4rem;
|
||
background: var(--card);
|
||
border-radius: 0.2rem 1rem 1rem 0.2rem;
|
||
border-inline-start: 3px solid var(--gold);
|
||
box-shadow: var(--shadow-sm);
|
||
}
|
||
.answer-card strong {
|
||
display: block;
|
||
text-transform: uppercase;
|
||
letter-spacing: 0.16em;
|
||
font-size: 0.75rem;
|
||
color: var(--wine-2);
|
||
margin-block-end: 0.35rem;
|
||
}
|
||
.answer-card p { margin: 0; font-size: 0.98rem; line-height: 1.62; color: var(--ink); }
|
||
|
||
/* hero conversion row */
|
||
.hero-ctas { display: flex; flex-wrap: wrap; gap: 0.8rem; margin-block-start: 1.3rem; }
|
||
.button-hero {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
text-decoration: none;
|
||
background: linear-gradient(150deg, var(--gold-soft), var(--gold), var(--gold-deep));
|
||
color: var(--wine-deep);
|
||
box-shadow: 0 10px 26px rgba(201, 162, 39, 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.45);
|
||
}
|
||
.button-hero:hover { transform: translateY(-2px); filter: brightness(1.05); box-shadow: 0 14px 34px rgba(201, 162, 39, 0.48); }
|
||
.button-ghost {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
text-decoration: none;
|
||
background: transparent;
|
||
color: var(--wine);
|
||
box-shadow: inset 0 0 0 2px var(--wine);
|
||
}
|
||
.button-ghost:hover { transform: translateY(-2px); background: rgba(122, 31, 43, 0.06); }
|
||
.hero-badges {
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
gap: 0.35rem 1.4rem;
|
||
list-style: none;
|
||
margin: 1.15rem 0 0;
|
||
padding: 0;
|
||
color: var(--muted);
|
||
font-size: 0.84rem;
|
||
font-weight: 700;
|
||
}
|
||
.hero-badges li { position: relative; padding-inline-start: 1.05rem; }
|
||
.hero-badges li::before {
|
||
content: "◆";
|
||
position: absolute;
|
||
inset-inline-start: 0;
|
||
inset-block-start: 0.1em;
|
||
color: var(--gold);
|
||
font-size: 0.62rem;
|
||
}
|
||
.hero-media { position: relative; align-self: stretch; min-block-size: 100%; }
|
||
.hero-image {
|
||
width: 100%;
|
||
height: 100%;
|
||
min-block-size: 420px;
|
||
aspect-ratio: 4 / 5;
|
||
object-fit: cover;
|
||
border-radius: 0.9rem;
|
||
box-shadow: var(--shadow-lg);
|
||
display: block;
|
||
}
|
||
.hero-chip {
|
||
position: absolute;
|
||
inset-inline-start: 1rem;
|
||
inset-block-end: 1rem;
|
||
margin: 0;
|
||
display: grid;
|
||
gap: 0.1rem;
|
||
padding: 0.75rem 1.05rem;
|
||
background: rgba(251, 246, 236, 0.94);
|
||
border: 1px solid var(--line-gold);
|
||
border-radius: 0.75rem;
|
||
box-shadow: var(--shadow-md);
|
||
max-inline-size: calc(100% - 2rem);
|
||
}
|
||
.hero-chip strong {
|
||
font-family: var(--font-display);
|
||
font-size: 1.45rem;
|
||
line-height: 1.05;
|
||
color: var(--wine);
|
||
letter-spacing: -0.01em;
|
||
}
|
||
.hero-chip span { font-size: 0.78rem; font-weight: 700; color: var(--muted); }
|
||
.hero-corner {
|
||
position: absolute;
|
||
inline-size: 34px;
|
||
block-size: 34px;
|
||
pointer-events: none;
|
||
}
|
||
.hero-corner-tl {
|
||
inset-block-start: -8px;
|
||
inset-inline-start: -8px;
|
||
border-block-start: 2px solid var(--gold);
|
||
border-inline-start: 2px solid var(--gold);
|
||
border-start-start-radius: 0.4rem;
|
||
}
|
||
.hero-corner-br {
|
||
inset-block-end: -8px;
|
||
inset-inline-end: -8px;
|
||
border-block-end: 2px solid var(--gold);
|
||
border-inline-end: 2px solid var(--gold);
|
||
border-end-end-radius: 0.4rem;
|
||
}
|
||
|
||
/* ============================================================
|
||
STATS BAND — the numbers, given a stage
|
||
============================================================ */
|
||
.stats-band {
|
||
display: grid;
|
||
grid-template-columns: repeat(4, minmax(0, 1fr));
|
||
gap: 0;
|
||
margin-block-end: clamp(2.5rem, 6vw, 4.5rem);
|
||
padding: clamp(1.4rem, 3vw, 2.1rem) clamp(0.5rem, 2vw, 1rem);
|
||
background: linear-gradient(160deg, var(--wine-deep), var(--wine) 55%, #5d1622);
|
||
border-radius: 1.1rem;
|
||
box-shadow: inset 0 0 0 1px var(--line-gold), var(--shadow-lg);
|
||
position: relative;
|
||
overflow: hidden;
|
||
}
|
||
.stats-band::before {
|
||
content: "";
|
||
position: absolute;
|
||
inset: 0.5rem;
|
||
border: 1px solid rgba(201, 162, 39, 0.25);
|
||
border-radius: 0.75rem;
|
||
pointer-events: none;
|
||
}
|
||
.stat-tile {
|
||
display: grid;
|
||
align-content: start;
|
||
gap: 0.3rem;
|
||
padding: 0.4rem 1.4rem;
|
||
text-align: center;
|
||
}
|
||
.stat-tile + .stat-tile { border-inline-start: 1px solid rgba(201, 162, 39, 0.3); }
|
||
.stat-tile strong {
|
||
font-family: var(--font-display);
|
||
font-weight: 800;
|
||
font-size: clamp(1.9rem, 3.6vw, 2.9rem);
|
||
line-height: 1;
|
||
letter-spacing: -0.01em;
|
||
color: var(--gold-soft);
|
||
}
|
||
.stat-tile span {
|
||
font-size: 0.84rem;
|
||
line-height: 1.45;
|
||
font-weight: 600;
|
||
color: rgba(244, 237, 225, 0.85);
|
||
text-wrap: balance;
|
||
}
|
||
|
||
/* ============================================================
|
||
CONTENT GRID
|
||
============================================================ */
|
||
.content-grid {
|
||
display: grid;
|
||
grid-template-columns: minmax(0, 1fr) 360px;
|
||
gap: clamp(2rem, 5vw, 4.5rem);
|
||
align-items: start;
|
||
}
|
||
.article-body { max-width: 780px; min-width: 0; counter-reset: chapter; }
|
||
.article-body p { font-size: 1.06rem; }
|
||
.prose-section { margin-block-end: clamp(2.2rem, 4.5vw, 3.4rem); counter-increment: chapter; }
|
||
.prose-section h2::before {
|
||
content: counter(chapter, upper-roman);
|
||
display: block;
|
||
font-family: var(--font-body);
|
||
font-size: 0.72rem;
|
||
font-weight: 800;
|
||
letter-spacing: 0.28em;
|
||
color: var(--gold-deep);
|
||
margin-block-end: 0.45rem;
|
||
}
|
||
.prose-section h2 { position: relative; padding-block-end: 0.5rem; }
|
||
.article-body > .prose-section:first-of-type > p:first-of-type::first-letter {
|
||
font-family: var(--font-display);
|
||
font-weight: 800;
|
||
font-size: 3.1em;
|
||
line-height: 0.82;
|
||
float: inline-start;
|
||
padding: 0.08em 0.14em 0 0;
|
||
color: var(--wine);
|
||
}
|
||
.prose-section h2::after {
|
||
content: "";
|
||
position: absolute;
|
||
inset-block-end: 0;
|
||
inset-inline-start: 0;
|
||
inline-size: 3.2rem;
|
||
block-size: 3px;
|
||
background: linear-gradient(90deg, var(--gold), var(--gold-deep));
|
||
border-radius: 3px;
|
||
}
|
||
.article-body ol, .article-body ul { padding-inline-start: 1.3rem; margin: 0.8rem 0 1rem; }
|
||
.article-body li { margin: 0.5rem 0; font-size: 1.02rem; }
|
||
.article-body ol { list-style: none; counter-reset: step; padding-inline-start: 0; }
|
||
.article-body ol li {
|
||
counter-increment: step;
|
||
position: relative;
|
||
padding-inline-start: 2.6rem;
|
||
margin: 0.7rem 0;
|
||
}
|
||
.article-body ol li::before {
|
||
content: counter(step);
|
||
position: absolute;
|
||
inset-inline-start: 0;
|
||
inset-block-start: 0.05rem;
|
||
inline-size: 1.85rem;
|
||
block-size: 1.85rem;
|
||
display: grid;
|
||
place-items: center;
|
||
font-family: var(--font-display);
|
||
font-weight: 700;
|
||
font-size: 0.9rem;
|
||
color: var(--wine);
|
||
background: var(--cream-hi);
|
||
border: 1px solid var(--line-gold);
|
||
border-radius: 50%;
|
||
}
|
||
.article-body ul li::marker { color: var(--gold-deep); }
|
||
.article-body .prose-section ul {
|
||
display: grid;
|
||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||
gap: 0.45rem 1.4rem;
|
||
list-style: none;
|
||
padding: 0;
|
||
}
|
||
.article-body .prose-section ul li {
|
||
position: relative;
|
||
padding: 0.55rem 0.8rem 0.55rem 2.1rem;
|
||
margin: 0;
|
||
background: var(--card);
|
||
border: 1px solid var(--line);
|
||
border-radius: 0.6rem;
|
||
font-size: 0.97rem;
|
||
line-height: 1.5;
|
||
}
|
||
.article-body .prose-section ul li::before {
|
||
content: "✓";
|
||
position: absolute;
|
||
inset-inline-start: 0.75rem;
|
||
inset-block-start: 0.55rem;
|
||
color: var(--gold-deep);
|
||
font-weight: 800;
|
||
}
|
||
|
||
/* collection cards */
|
||
.collection { margin-block-end: clamp(2rem, 4vw, 3rem); }
|
||
.card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
|
||
.content-card {
|
||
display: flex;
|
||
flex-direction: column;
|
||
text-decoration: none;
|
||
background: var(--card);
|
||
padding: 1.35rem 1.4rem;
|
||
border: 1px solid var(--line);
|
||
border-radius: 0.9rem;
|
||
box-shadow: var(--shadow-sm);
|
||
transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
|
||
}
|
||
.content-card:hover {
|
||
transform: translateY(-4px);
|
||
box-shadow: var(--shadow-md);
|
||
border-color: var(--line-gold);
|
||
}
|
||
.content-card span, .related-grid span {
|
||
display: block;
|
||
color: var(--wine-2);
|
||
font-size: 0.75rem;
|
||
font-weight: 800;
|
||
text-transform: uppercase;
|
||
letter-spacing: 0.12em;
|
||
margin-block-end: 0.35rem;
|
||
}
|
||
.content-card h3 { color: var(--wine-deep); }
|
||
.content-card p { color: var(--muted); font-size: 0.96rem; flex: 1; }
|
||
.card-cta {
|
||
color: var(--wine);
|
||
font-weight: 800;
|
||
font-size: 0.9rem;
|
||
margin-block-start: 0.4rem;
|
||
}
|
||
|
||
/* FAQ */
|
||
.faq-block { margin-block-end: clamp(2rem, 4vw, 3rem); }
|
||
.faq-list { display: grid; gap: 0.7rem; }
|
||
.faq-list details {
|
||
background: var(--card);
|
||
border: 1px solid var(--line);
|
||
border-radius: 0.75rem;
|
||
padding: 0.3rem 1.2rem;
|
||
box-shadow: var(--shadow-sm);
|
||
transition: border-color 0.2s ease;
|
||
}
|
||
.faq-list details[open] { border-color: var(--line-gold); }
|
||
.faq-list summary {
|
||
cursor: pointer;
|
||
font-weight: 800;
|
||
color: var(--wine-deep);
|
||
padding: 0.85rem 0;
|
||
list-style: none;
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 0.75rem;
|
||
}
|
||
.faq-list summary::-webkit-details-marker { display: none; }
|
||
.faq-list summary::before {
|
||
content: "+";
|
||
flex: none;
|
||
inline-size: 1.5rem;
|
||
block-size: 1.5rem;
|
||
display: grid;
|
||
place-items: center;
|
||
font-size: 1rem;
|
||
color: var(--gold-deep);
|
||
border: 1px solid var(--line-gold);
|
||
border-radius: 50%;
|
||
transition: transform 0.2s ease;
|
||
}
|
||
.faq-list details[open] summary::before { content: "-"; transform: rotate(180deg); }
|
||
.faq-list details p { margin: 0 0 0.9rem; color: var(--ink); }
|
||
|
||
/* sources */
|
||
.sources-block { margin-block-end: clamp(2rem, 4vw, 3rem); }
|
||
.sources { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
|
||
.sources li { padding-inline-start: 1.2rem; position: relative; }
|
||
.sources li::before { content: "◆"; position: absolute; inset-inline-start: 0; color: var(--gold); font-size: 0.7rem; top: 0.35rem; }
|
||
.sources a { text-decoration: underline; text-decoration-thickness: 0.08em; text-underline-offset: 0.2em; color: var(--wine); }
|
||
|
||
/* trust block */
|
||
.page-trust {
|
||
border-block-start: 1px solid var(--line-gold);
|
||
margin-block-start: 1.5rem;
|
||
padding-block-start: 1.2rem;
|
||
}
|
||
.provenance { color: var(--muted); font-size: 0.9rem; margin: 0 0 0.4rem; }
|
||
.ymyl-note { color: var(--muted); font-size: 0.82rem; font-style: italic; margin: 0.4rem 0; }
|
||
.reviews-link { font-size: 0.86rem; color: var(--muted); margin: 0.4rem 0 0; }
|
||
.review-link, .reviews-link a { color: var(--wine); font-weight: 700; text-decoration: none; }
|
||
.review-link:hover, .reviews-link a:hover { text-decoration: underline; }
|
||
|
||
/* ============================================================
|
||
CTA PANEL (sticky, dark wine, gilded)
|
||
============================================================ */
|
||
.cta-panel { position: sticky; inset-block-start: 5.5rem; align-self: start; }
|
||
.cta-panel-inner {
|
||
position: relative;
|
||
padding: 1.75rem 1.6rem;
|
||
background: linear-gradient(160deg, var(--wine), var(--wine-deep) 70%, var(--green-2));
|
||
color: var(--cream);
|
||
border-radius: 1.1rem;
|
||
box-shadow: inset 0 0 0 1px var(--line-gold), var(--shadow-lg);
|
||
overflow: hidden;
|
||
}
|
||
.cta-flourish {
|
||
position: absolute;
|
||
inset-block-start: -40px;
|
||
inset-inline-end: -40px;
|
||
inline-size: 130px;
|
||
block-size: 130px;
|
||
border-radius: 50%;
|
||
background: radial-gradient(circle at 30% 30%, rgba(201, 162, 39, 0.4), transparent 65%);
|
||
pointer-events: none;
|
||
}
|
||
.cta-panel-inner h2 { color: var(--gold-soft); font-size: 1.5rem; margin-block-end: 0.6rem; }
|
||
.cta-panel-inner p { color: rgba(244, 237, 225, 0.86); font-size: 0.95rem; }
|
||
.tracked-form { margin-block-start: 1.1rem; }
|
||
.button {
|
||
border: 0;
|
||
border-radius: 999px;
|
||
padding: 0.9rem 1.3rem;
|
||
font: inherit;
|
||
font-weight: 800;
|
||
cursor: pointer;
|
||
transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
|
||
}
|
||
.button-primary {
|
||
inline-size: 100%;
|
||
background: linear-gradient(150deg, var(--gold-soft), var(--gold), var(--gold-deep));
|
||
color: var(--wine-deep);
|
||
box-shadow: 0 8px 22px rgba(201, 162, 39, 0.35);
|
||
}
|
||
.button-primary:hover { transform: translateY(-2px); filter: brightness(1.05); box-shadow: 0 12px 30px rgba(201, 162, 39, 0.45); }
|
||
.hubspot-target { margin-block-start: 1rem; min-height: 1rem; }
|
||
.hubspot-target iframe { max-width: 100%; }
|
||
.hubspot-target input,
|
||
.hubspot-target select,
|
||
.hubspot-target textarea {
|
||
font-size: 16px;
|
||
width: 100%;
|
||
box-sizing: border-box;
|
||
min-height: 44px;
|
||
}
|
||
.hubspot-target input[type="checkbox"],
|
||
.hubspot-target input[type="radio"] {
|
||
width: auto;
|
||
min-height: 0;
|
||
}
|
||
.aside-facts {
|
||
list-style: none;
|
||
margin: 1.2rem 0 0;
|
||
padding: 1.05rem 0 0;
|
||
border-block-start: 1px solid rgba(201, 162, 39, 0.35);
|
||
display: grid;
|
||
gap: 0.5rem;
|
||
}
|
||
.aside-facts li {
|
||
position: relative;
|
||
padding-inline-start: 1.5rem;
|
||
font-size: 0.86rem;
|
||
line-height: 1.45;
|
||
color: rgba(244, 237, 225, 0.9);
|
||
}
|
||
.aside-facts li::before {
|
||
content: "✓";
|
||
position: absolute;
|
||
inset-inline-start: 0;
|
||
color: var(--gold-soft);
|
||
font-weight: 800;
|
||
}
|
||
|
||
/* ============================================================
|
||
MEDIA SECTIONS
|
||
============================================================ */
|
||
.case-studies, .testimonials, .creator-gallery { margin-block-start: clamp(3.5rem, 7vw, 6rem); }
|
||
.case-studies > h2, .testimonials > h2, .creator-gallery > h2 {
|
||
text-align: center;
|
||
margin-block-end: 0.6rem;
|
||
}
|
||
.case-studies > h2::after, .testimonials > h2::after, .creator-gallery > h2::after {
|
||
content: "";
|
||
display: block;
|
||
inline-size: 4rem;
|
||
block-size: 3px;
|
||
margin: 0.7rem auto 0;
|
||
background: linear-gradient(90deg, transparent, var(--gold), transparent);
|
||
}
|
||
.case-proof {
|
||
max-width: 760px;
|
||
margin: 0.4rem auto 1.8rem;
|
||
text-align: center;
|
||
color: var(--muted);
|
||
font-size: 1.03rem;
|
||
}
|
||
.video-embed {
|
||
position: relative;
|
||
width: 100%;
|
||
aspect-ratio: 16 / 9;
|
||
border-radius: 0.9rem;
|
||
overflow: hidden;
|
||
background: var(--wine-deep);
|
||
box-shadow: var(--shadow-md);
|
||
}
|
||
.video-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
|
||
.case-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.2rem, 3vw, 2rem); }
|
||
.case-card {
|
||
margin: 0;
|
||
background: var(--card);
|
||
border: 1px solid var(--line-gold);
|
||
border-radius: 1rem;
|
||
overflow: hidden;
|
||
box-shadow: var(--shadow-sm);
|
||
transition: transform 0.22s ease, box-shadow 0.22s ease;
|
||
}
|
||
.case-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
|
||
.case-card .video-embed { border-radius: 0; box-shadow: none; }
|
||
.case-card figcaption { padding: 1.15rem 1.4rem; }
|
||
.case-card figcaption strong {
|
||
display: block;
|
||
font-family: var(--font-display);
|
||
font-size: clamp(1.7rem, 3.4vw, 2.2rem);
|
||
letter-spacing: -0.01em;
|
||
color: var(--wine);
|
||
line-height: 1.05;
|
||
}
|
||
.case-card figcaption span { color: var(--muted); font-weight: 600; }
|
||
.testi-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 1.6rem); }
|
||
.testi-card {
|
||
margin: 0;
|
||
position: relative;
|
||
background: var(--card);
|
||
border: 1px solid var(--line-gold);
|
||
border-radius: 1rem;
|
||
padding: 0.8rem 0.8rem 1rem;
|
||
box-shadow: var(--shadow-sm);
|
||
transition: transform 0.22s ease, box-shadow 0.22s ease;
|
||
}
|
||
.testi-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
|
||
.testi-card::before {
|
||
content: "❝";
|
||
position: absolute;
|
||
inset-block-start: -0.9rem;
|
||
inset-inline-start: 1rem;
|
||
z-index: 1;
|
||
font-family: var(--font-display);
|
||
font-size: 2rem;
|
||
line-height: 1;
|
||
color: var(--gold);
|
||
background: var(--card);
|
||
padding-inline: 0.3rem;
|
||
border-radius: 999px;
|
||
}
|
||
.testi-card .video-embed { box-shadow: none; border-radius: 0.65rem; }
|
||
.testi-card figcaption {
|
||
margin-block-start: 0.75rem;
|
||
font-family: var(--font-display);
|
||
font-weight: 700;
|
||
font-size: 1.1rem;
|
||
text-align: center;
|
||
color: var(--wine-deep);
|
||
}
|
||
.gallery-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.9rem; }
|
||
.gallery-item { margin: 0; position: relative; border-radius: 0.8rem; }
|
||
.gallery-item::after {
|
||
content: "";
|
||
position: absolute;
|
||
inset: 0.45rem;
|
||
border: 1px solid rgba(251, 246, 236, 0.55);
|
||
border-radius: 0.5rem;
|
||
pointer-events: none;
|
||
opacity: 0;
|
||
transition: opacity 0.25s ease;
|
||
}
|
||
.gallery-item:hover::after { opacity: 1; }
|
||
.gallery-img {
|
||
width: 100%;
|
||
height: auto;
|
||
aspect-ratio: 3 / 4;
|
||
object-fit: cover;
|
||
border-radius: 0.75rem;
|
||
box-shadow: var(--shadow-sm);
|
||
border: 1px solid var(--line-gold);
|
||
display: block;
|
||
transition: transform 0.3s ease, box-shadow 0.3s ease, filter 0.3s ease;
|
||
}
|
||
.gallery-item:nth-child(even) .gallery-img { aspect-ratio: 4 / 5.4; }
|
||
.gallery-item:hover .gallery-img { transform: translateY(-4px) scale(1.015); box-shadow: var(--shadow-md); filter: saturate(1.08); }
|
||
|
||
/* related */
|
||
.related { margin-block-start: clamp(3.5rem, 7vw, 5.5rem); }
|
||
.related > h2 { text-align: center; margin-block-end: 1.4rem; }
|
||
.related-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
|
||
.related-grid a {
|
||
display: block;
|
||
background: var(--card);
|
||
padding: 1.1rem 1.2rem;
|
||
border-radius: 0.8rem;
|
||
text-decoration: none;
|
||
border: 1px solid var(--line);
|
||
box-shadow: var(--shadow-sm);
|
||
transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
|
||
}
|
||
.related-grid a:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: var(--line-gold); }
|
||
.related-grid strong { color: var(--wine-deep); font-family: var(--font-display); font-weight: 700; display: block; padding-inline-end: 1.2rem; }
|
||
.related-grid a { position: relative; }
|
||
.related-grid a::after {
|
||
content: "→";
|
||
position: absolute;
|
||
inset-inline-end: 1rem;
|
||
inset-block-end: 0.8rem;
|
||
color: var(--gold-deep);
|
||
font-weight: 800;
|
||
transition: transform 0.22s ease;
|
||
}
|
||
.related-grid a:hover::after { transform: translateX(4px); }
|
||
|
||
/* ============================================================
|
||
FOOTER
|
||
============================================================ */
|
||
.site-footer {
|
||
margin-block-start: clamp(3rem, 6vw, 5rem);
|
||
background: linear-gradient(160deg, var(--green), var(--wine-deep));
|
||
color: var(--cream);
|
||
border-block-start: 3px solid var(--gold);
|
||
}
|
||
.site-footer-inner {
|
||
max-width: var(--maxw);
|
||
margin-inline: auto;
|
||
display: grid;
|
||
grid-template-columns: minmax(240px, 1.2fr) 1fr 1fr;
|
||
gap: clamp(1.5rem, 4vw, 4rem);
|
||
align-items: start;
|
||
padding: clamp(2.2rem, 4.5vw, 3.4rem) clamp(1rem, 4vw, 3rem) clamp(1.4rem, 3vw, 2rem);
|
||
}
|
||
.footer-identity img {
|
||
width: 100%;
|
||
max-width: 300px;
|
||
height: auto;
|
||
aspect-ratio: 16 / 9;
|
||
object-fit: cover;
|
||
border-radius: 0.8rem;
|
||
box-shadow: inset 0 0 0 1px var(--line-gold), var(--shadow-md);
|
||
margin-block-end: 0.9rem;
|
||
}
|
||
.footer-name { font-family: var(--font-display); font-size: 1.35rem; color: var(--gold-soft); display: block; }
|
||
.footer-market { color: rgba(244, 237, 225, 0.78); margin: 0.2rem 0 0.6rem; font-size: 0.92rem; }
|
||
.footer-tagline { color: rgba(244, 237, 225, 0.66); font-size: 0.85rem; line-height: 1.55; max-width: 34ch; margin: 0; }
|
||
.footer-col { display: flex; flex-direction: column; }
|
||
.footer-col-title {
|
||
font-family: var(--font-body);
|
||
text-transform: uppercase;
|
||
letter-spacing: 0.18em;
|
||
font-size: 0.72rem;
|
||
font-weight: 800;
|
||
color: var(--gold-soft);
|
||
margin-block-end: 0.55rem;
|
||
}
|
||
.footer-col a { font-size: 0.9rem; text-decoration: none; color: var(--cream); opacity: 0.88; display: inline-flex; align-items: center; min-height: 40px; transition: color 0.2s ease, opacity 0.2s ease; }
|
||
.footer-col a:hover { color: var(--gold-soft); opacity: 1; }
|
||
/* network / language switcher */
|
||
.footer-network { border-block-start: 1px solid rgba(201, 162, 39, 0.28); }
|
||
.footer-network-inner {
|
||
max-width: var(--maxw);
|
||
margin-inline: auto;
|
||
padding: 1.4rem clamp(1rem, 4vw, 3rem);
|
||
display: grid;
|
||
grid-template-columns: minmax(200px, 260px) 1fr;
|
||
gap: 0.6rem clamp(1.5rem, 4vw, 3rem);
|
||
align-items: start;
|
||
}
|
||
.footer-network-head { display: grid; gap: 0.2rem; }
|
||
.footer-network-note { font-size: 0.82rem; color: rgba(244, 237, 225, 0.62); }
|
||
.lang-list {
|
||
list-style: none;
|
||
margin: 0;
|
||
padding: 0;
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
gap: 0.35rem 0.5rem;
|
||
}
|
||
.lang-list a, .lang-current {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
min-height: 36px;
|
||
padding: 0.3rem 0.75rem;
|
||
border-radius: 999px;
|
||
font-size: 0.84rem;
|
||
font-weight: 700;
|
||
text-decoration: none;
|
||
border: 1px solid rgba(201, 162, 39, 0.3);
|
||
color: var(--cream);
|
||
opacity: 0.88;
|
||
transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease, opacity 0.2s ease;
|
||
}
|
||
.lang-list a:hover { color: var(--gold-soft); border-color: var(--gold); background: rgba(201, 162, 39, 0.12); opacity: 1; }
|
||
.lang-current { background: var(--gold); border-color: var(--gold); color: var(--wine-deep); opacity: 1; }
|
||
|
||
.footer-bottom {
|
||
max-width: var(--maxw);
|
||
margin-inline: auto;
|
||
padding: 1.1rem clamp(1rem, 4vw, 3rem) 1.6rem;
|
||
border-block-start: 1px solid rgba(201, 162, 39, 0.28);
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
gap: 0.3rem 2rem;
|
||
align-items: baseline;
|
||
justify-content: space-between;
|
||
}
|
||
.legal-entity { font-size: 0.8rem; opacity: 0.82; margin: 0; }
|
||
.footer-reviews { font-size: 0.82rem; opacity: 0.9; margin: 0; }
|
||
.site-footer .footer-reviews a, .site-footer .legal-entity a { color: var(--gold-soft); text-decoration: underline; }
|
||
|
||
/* ============================================================
|
||
Legal registry supplement (kept)
|
||
============================================================ */
|
||
.legal-registry-supplement { max-width: 900px; padding-block-start: 0; }
|
||
.legal-registry-supplement .faq-list { max-width: 780px; }
|
||
|
||
/* ============================================================
|
||
404 (restyle via globals only)
|
||
============================================================ */
|
||
.not-found-shell { max-width: 640px; margin-inline: auto; padding: clamp(3rem, 8vw, 6rem) 1.5rem; text-align: center; }
|
||
|
||
/* ============================================================
|
||
REVEAL + MOTION
|
||
============================================================ */
|
||
/* progressive enhancement: content is visible by default; only a JS-enabled
|
||
browser (html.js) hides it for the scroll-in animation */
|
||
html.js .reveal { opacity: 0; transform: translateY(18px); transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.22, 1, 0.36, 1); }
|
||
html.js .reveal.is-in { opacity: 1; transform: none; }
|
||
|
||
:focus-visible {
|
||
outline: 3px solid var(--gold);
|
||
outline-offset: 2px;
|
||
border-radius: 3px;
|
||
}
|
||
|
||
@media (prefers-reduced-motion: reduce) {
|
||
* { animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
|
||
html.js .reveal { opacity: 1; transform: none; }
|
||
.gold-dust { display: none; }
|
||
}
|
||
|
||
/* ============================================================
|
||
RESPONSIVE
|
||
============================================================ */
|
||
@media (max-width: 960px) {
|
||
.hero-frame { grid-template-columns: 1fr; }
|
||
.hero-media { order: -1; }
|
||
.hero-image { min-block-size: 0; aspect-ratio: 16 / 10; }
|
||
.content-grid { grid-template-columns: 1fr; }
|
||
.cta-panel { position: static; }
|
||
.testi-grid { grid-template-columns: repeat(2, 1fr); }
|
||
.related-grid { grid-template-columns: repeat(2, 1fr); }
|
||
.gallery-grid { grid-template-columns: repeat(3, 1fr); }
|
||
.stats-band { grid-template-columns: repeat(2, 1fr); gap: 1rem 0; }
|
||
.stat-tile:nth-child(3) { border-inline-start: 0; }
|
||
.site-footer-inner { grid-template-columns: 1fr 1fr; }
|
||
.footer-identity { grid-column: 1 / -1; }
|
||
}
|
||
@media (max-width: 820px) {
|
||
.site-nav { display: none; }
|
||
.mnav { display: block; }
|
||
}
|
||
@media (max-width: 640px) {
|
||
body { font-size: 16px; }
|
||
.brand-name { display: none; }
|
||
.case-grid, .testi-grid { grid-template-columns: 1fr; }
|
||
.card-grid, .related-grid { grid-template-columns: 1fr; }
|
||
.gallery-grid { grid-template-columns: repeat(2, 1fr); }
|
||
.site-footer-inner { grid-template-columns: 1fr; text-align: center; }
|
||
.footer-col { align-items: center; }
|
||
.footer-identity { max-width: 320px; margin-inline: auto; }
|
||
.footer-identity img { margin-inline: auto; }
|
||
.footer-tagline { margin-inline: auto; }
|
||
.footer-bottom { justify-content: center; text-align: center; }
|
||
.footer-network-inner { grid-template-columns: 1fr; text-align: center; }
|
||
.lang-list { justify-content: center; }
|
||
.hero-frame { padding: 1.1rem; }
|
||
.hero-ctas .button { inline-size: 100%; justify-content: center; }
|
||
.stats-band { grid-template-columns: 1fr 1fr; }
|
||
.stat-tile { padding: 0.4rem 0.7rem; }
|
||
.stat-tile strong { font-size: 1.7rem; }
|
||
.article-body .prose-section ul { grid-template-columns: 1fr; }
|
||
}
|
||
|
||
/* Data tables in editorial articles stay readable without widening the page. */
|
||
.overflow-x-auto,.content-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
|
||
.content-table-wrap{margin:1rem 0 1.35rem}
|
||
.article-body table{width:100%;min-width:620px;border-collapse:collapse;font-size:.92rem;line-height:1.45}
|
||
.article-body th,.article-body td{padding:.72rem;text-align:start;vertical-align:top;border:1px solid var(--line,rgba(127,127,127,.35))}
|
||
.article-body th{font-weight:700;color:inherit;background:rgba(127,127,127,.12)}
|