diff --git a/assets/css/custom.css b/assets/css/custom.css
index 0ba7dfa..a2d8d4f 100644
--- a/assets/css/custom.css
+++ b/assets/css/custom.css
@@ -1,264 +1,322 @@
/* ── Warm colour palette ──────────────────────────────── */
:root {
- --surface-1-light: #faf8f4;
- --surface-2-light: #f0ece4;
- --text-1-light: #1a1614;
- --text-2-light: #6b6258;
- --border-light: #ccc4b8;
+ --surface-1-light: #faf8f4;
+ --surface-2-light: #f0ece4;
+ --text-1-light: #1a1614;
+ --text-2-light: #6b6258;
+ --border-light: #ccc4b8;
- --surface-1-dark: #0d0b09;
- --surface-2-dark: #3d3631;
- --text-1-dark: #f7f3ee;
- --text-2-dark: #9e948a;
- --border-dark: #5c5249;
+ --surface-1-dark: #0d0b09;
+ --surface-2-dark: #3d3631;
+ --text-1-dark: #f7f3ee;
+ --text-2-dark: #9e948a;
+ --border-dark: #5c5249;
}
/* ── Hero ─────────────────────────────────────────────── */
section.hero {
- position: relative;
- overflow: hidden;
- width: 100%;
- height: 100vh;
- padding: 0;
- margin: 0 0 5rem;
+ position: relative;
+ overflow: hidden;
+ width: 100%;
+ height: 100vh;
+ padding: 0;
+ margin: 0 0 5rem;
}
.hero-bg {
- position: absolute;
- top: -30%;
- left: 0;
- width: 100%;
- height: 160%;
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
- will-change: transform;
+ position: absolute;
+ top: -30%;
+ left: 0;
+ width: 100%;
+ height: 160%;
+ background-position: center;
+ background-size: cover;
+ background-repeat: no-repeat;
+ will-change: transform;
}
.hero-bg::after {
- content: "";
- position: absolute;
- inset: 0;
- background: linear-gradient(to bottom, rgba(0, 0, 0, 0.35) 0%, transparent 40%);
+ content: "";
+ position: absolute;
+ inset: 0;
+ background: linear-gradient(to bottom, rgba(0, 0, 0, 0.35) 0%, transparent 40%);
}
.hero-fg {
- position: relative;
- z-index: 1;
- width: 100%;
- height: 100%;
- display: flex;
- flex-direction: column;
- justify-content: flex-end;
- align-items: center;
- will-change: transform;
+ position: relative;
+ z-index: 1;
+ width: 100%;
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+ justify-content: flex-end;
+ align-items: center;
+ will-change: transform;
}
/* ── Hero content ─────────────────────────────────────── */
.hero-content {
- width: 100%;
- padding: 2.5rem 3rem;
- text-align: center;
- background: rgba(10, 8, 6, 0.38);
- backdrop-filter: blur(5px);
- -webkit-backdrop-filter: blur(8px);
- border-top: 1px solid rgba(255, 255, 255, 0.1);
+ width: 100%;
+ padding: 2.5rem 3rem;
+ text-align: center;
+ background: rgba(10, 8, 6, 0.38);
+ backdrop-filter: blur(5px);
+ -webkit-backdrop-filter: blur(8px);
+ border-top: 1px solid rgba(255, 255, 255, 0.1);
}
/* SVG vase title in the hero glass panel */
.hero-vase-title {
- display: flex;
- flex-direction: row;
- align-items: center;
- justify-content: center;
- gap: 2rem;
- margin-bottom: 1.25rem;
- animation: hero-fade-up 1s cubic-bezier(0.16, 1, 0.3, 1) both;
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: center;
+ gap: 2rem;
+ margin-bottom: 1.25rem;
+ animation: hero-fade-up 1s cubic-bezier(0.16, 1, 0.3, 1) both;
}
@media (orientation: portrait) {
- .hero-vase-title {
- flex-direction: column;
- gap: 0.5rem;
- }
+ .hero-vase-title {
+ flex-direction: column;
+ gap: 0.5rem;
+ }
}
.hero-vase-title img {
- filter: brightness(0) invert(1);
- display: block;
- width: auto;
+ filter: brightness(0) invert(1);
+ display: block;
+ width: auto;
}
.hero-vase-title .vase-name {
- height: clamp(3rem, 7.5vw, 5.5rem);
+ height: clamp(3rem, 7.5vw, 5.5rem);
}
.hero-vase-title .vase-rings {
- height: clamp(3rem, 7.5vw, 5.5rem);
+ height: clamp(3rem, 7.5vw, 5.5rem);
}
.hero-content p {
- color: rgba(250, 248, 244, 0.8);
- font-size: 1rem;
- line-height: 1.6;
- letter-spacing: 0.12em;
- text-transform: uppercase;
- text-wrap: balance;
- animation: hero-fade-up 1s cubic-bezier(0.16, 1, 0.3, 1) 0.15s both;
+ color: rgba(250, 248, 244, 0.8);
+ font-size: 1rem;
+ line-height: 1.6;
+ letter-spacing: 0.12em;
+ text-transform: uppercase;
+ text-wrap: balance;
+ animation: hero-fade-up 1s cubic-bezier(0.16, 1, 0.3, 1) 0.15s both;
}
/* ── Scroll arrow ─────────────────────────────────────── */
.hero-scroll {
- display: flex;
- justify-content: center;
- padding-top: 0.5rem;
- color: rgba(250, 250, 250, 0.6);
- animation: hero-fade-in 0.6s ease 0.6s both;
+ display: flex;
+ justify-content: center;
+ padding-top: 0.5rem;
+ color: rgba(250, 250, 250, 0.6);
+ animation: hero-fade-in 0.6s ease 0.6s both;
}
.hero-scroll-icon {
- display: block;
- animation: hero-bounce 2s ease-in-out 1.2s infinite;
+ display: block;
+ animation: hero-bounce 2s ease-in-out 1.2s infinite;
}
.hero-scroll svg {
- width: 1.75rem;
- height: 1.75rem;
- display: block;
+ width: 1.75rem;
+ height: 1.75rem;
+ display: block;
}
/* ── Intro text section ───────────────────────────────── */
.home-intro {
- max-width: 560px;
- margin: 4rem auto 5rem;
- padding: 0 1.5rem;
- text-align: center;
+ max-width: 560px;
+ margin: 4rem auto 5rem;
+ padding: 0 1.5rem;
+ text-align: center;
}
.home-intro .prose p {
- color: var(--text-2);
- font-size: 1rem;
- line-height: 1.9;
- margin-top: 0.9em;
- margin-bottom: 0.9em;
+ color: var(--text-2);
+ font-size: 1rem;
+ line-height: 1.9;
+ margin-top: 0.9em;
+ margin-bottom: 0.9em;
}
.home-intro .prose p:first-child {
- margin-top: 0;
- color: var(--text-1);
- font-size: 1.1875rem;
- line-height: 1.75;
+ margin-top: 0;
+ color: var(--text-1);
+ font-size: 1.1875rem;
+ line-height: 1.75;
}
/* ── Vase ornament ────────────────────────────────────── */
.home-ornament {
- display: flex;
- justify-content: center;
- margin: 0 auto 3rem;
+ display: flex;
+ justify-content: center;
+ margin: 0 auto 3rem;
}
.home-ornament img {
- height: 240px;
- width: auto;
- opacity: 0.38;
- filter: sepia(1);
+ height: 240px;
+ width: auto;
+ opacity: 0.38;
+ filter: sepia(1);
}
[data-theme="dark"] .home-ornament img {
- filter: invert(1) sepia(0.4) brightness(0.85);
- opacity: 0.45;
+ filter: invert(1) sepia(0.4) brightness(0.85);
+ opacity: 0.45;
+}
+
+/* ── Gallery page header title ────────────────────────── */
+
+body > header {
+ justify-content: space-between;
+ margin-bottom: 0;
+}
+
+.header-title {
+ flex: 1;
+ text-align: center;
+ font-weight: 500;
+ font-size: 1.5rem;
+ letter-spacing: 0.15em;
+ text-transform: uppercase;
+ color: var(--text-1);
+ margin: 0;
+}
+
+.header-right {
+ width: 3rem;
+ display: flex;
+ justify-content: flex-end;
}
/* ── Album card text ──────────────────────────────────── */
.card > div > h2 {
- font-weight: 400;
- font-size: 0.9375rem;
- letter-spacing: 0.06em;
+ font-weight: 400;
+ font-size: 0.9375rem;
+ letter-spacing: 0.06em;
}
.card > div > p {
- font-size: 0.6875rem;
- letter-spacing: 0.15em;
- text-transform: uppercase;
+ font-size: 0.6875rem;
+ letter-spacing: 0.15em;
+ text-transform: uppercase;
}
/* ── Albums divider ───────────────────────────────────── */
.home-divider {
- display: flex;
- align-items: center;
- gap: 1.25rem;
- max-width: 1280px;
- margin: 0 auto 2.5rem;
- padding: 0 1.5rem;
+ display: flex;
+ align-items: center;
+ gap: 1.25rem;
+ max-width: 1280px;
+ margin: 0 auto 2.5rem;
+ padding: 0 1.5rem;
}
.home-divider::before,
.home-divider::after {
- content: "";
- flex: 1;
- height: 1px;
- background: var(--border);
+ content: "";
+ flex: 1;
+ height: 1px;
+ background: var(--border);
}
.home-divider span {
- font-size: 0.6875rem;
- font-weight: 500;
- letter-spacing: 0.2em;
- text-transform: uppercase;
- color: var(--text-2);
- white-space: nowrap;
+ font-size: 0.6875rem;
+ font-weight: 500;
+ letter-spacing: 0.2em;
+ text-transform: uppercase;
+ color: var(--text-2);
+ white-space: nowrap;
}
/* ── Closing line ─────────────────────────────────────── */
.home-closing {
- display: flex;
- justify-content: center;
- margin: 4rem auto 2rem;
- padding: 2.5rem 1.5rem 0;
- border-top: 1px solid var(--border);
- max-width: 1280px;
+ display: flex;
+ justify-content: center;
+ margin: 4rem auto 2rem;
+ padding: 2.5rem 1.5rem 0;
+ border-top: 1px solid var(--border);
+ max-width: 1280px;
}
.home-closing .vase-date {
- height: 1.75rem;
- width: auto;
- opacity: 0.75;
- filter: sepia(1);
+ height: 1.75rem;
+ width: auto;
+ opacity: 0.75;
+ filter: sepia(1);
}
[data-theme="dark"] .home-closing .vase-date {
- filter: invert(1) sepia(0.3) brightness(0.9);
- opacity: 0.75;
+ filter: invert(1) sepia(0.3) brightness(0.9);
+ opacity: 0.75;
+}
+
+/* ── Gallery back link ────────────────────────────────── */
+
+.gallery-back {
+ display: flex;
+ justify-content: center;
+ padding: 3rem 1.5rem 2rem;
+ border-top: 1px solid var(--border);
+ margin-top: 3rem;
+}
+
+.gallery-back-link {
+ display: inline-flex;
+ align-items: center;
+ gap: 0.5rem;
+ font-size: 0.75rem;
+ letter-spacing: 0.15em;
+ text-transform: uppercase;
+ color: var(--text-2);
+ text-decoration: none;
+ transition: color 0.2s;
+}
+
+.gallery-back-link:hover {
+ color: var(--text-1);
}
/* ── Keyframes ────────────────────────────────────────── */
@keyframes hero-fade-up {
- from {
- opacity: 0;
- transform: translateY(1.5rem);
- }
- to {
- opacity: 1;
- transform: translateY(0);
- }
+ from {
+ opacity: 0;
+ transform: translateY(1.5rem);
+ }
+ to {
+ opacity: 1;
+ transform: translateY(0);
+ }
}
@keyframes hero-fade-in {
- from { opacity: 0; }
- to { opacity: 1; }
+ from {
+ opacity: 0;
+ }
+ to {
+ opacity: 1;
+ }
}
@keyframes hero-bounce {
- 0%, 100% { transform: translateY(0); }
- 50% { transform: translateY(7px); }
+ 0%, 100% {
+ transform: translateY(0);
+ }
+ 50% {
+ transform: translateY(7px);
+ }
}
diff --git a/layouts/_default/list.html b/layouts/_default/list.html
new file mode 100644
index 0000000..73b4aab
--- /dev/null
+++ b/layouts/_default/list.html
@@ -0,0 +1,7 @@
+{{ define "main" }}
+