/* ==========================================================================
ILA PRIMARY STYLESHEET
========================================================================== */
/* 1. Core Reset & Global Typography */
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
html,
body {
width: 100%;
min-height: 100vh;
background-color: #f7f6f2; /* Natural cream tone */
color: #2b2825;
font-family: var(--serif-font, "Garamond", "Georgia", serif);
overflow-x: hidden;
-webkit-font-smoothing: antialiased;
}
/* 2. Page & Gallery Container Layout */
#objects-page {
width: 100%;
padding: 10rem 0 15rem 0;
}
#objects-container {
display: flex;
flex-direction: column;
gap: 80px;
width: 100%;
box-sizing: border-box;
}
/* Horizontal Alignment Classes */
.ila-object {
display: flex;
width: 100%;
box-sizing: border-box;
}
.ila-object.ila-center { justify-content: center; }
.ila-object.ila-left { justify-content: flex-start; }
.ila-object.ila-right { justify-content: flex-end; }
/* 3. Media Frame & Image Handlers */
.ila-media-frame {
display: flex;
flex-direction: column;
width: 100%;
max-width: 460px;
position: relative;
box-sizing: border-box;
cursor: none; /* Allows floating counter to take over */
}
.ila-media-frame img {
width: 100%;
height: auto;
display: block;
object-fit: cover;
user-select: none;
}
/* 4. Metacards & Sub-Meta Hover Pathways */
.ila-metacard {
margin-top: 16px;
display: flex;
flex-direction: column;
gap: 4px;
opacity: 0;
transform: translateY(4px);
transition: opacity 0.3s ease, transform 0.3s ease;
pointer-events: auto;
cursor: auto !important;
}
.ila-object:hover .ila-metacard,
.ila-media-frame:hover .ila-metacard,
.ila-metacard:hover {
opacity: 1;
transform: translateY(0);
}
.ila-title {
font-size: 1.1rem;
font-weight: 500;
margin: 0;
}
.ila-meta-line,
.ila-status {
font-size: 0.9rem;
margin: 0;
opacity: 0.8;
}
.ila-status-group {
display: flex;
flex-direction: column;
align-items: flex-start;
position: relative;
padding-bottom: 8px; /* Hitbox extension bridging text to sub-meta */
margin-bottom: -8px;
cursor: pointer !important;
}
.ila-sub-meta {
opacity: 0;
visibility: hidden;
pointer-events: none;
transition: opacity 0.25s ease, visibility 0.25s ease;
margin-top: 4px;
}
.ila-status-group:hover .ila-sub-meta,
.ila-sub-meta:hover {
opacity: 1 !important;
visibility: visible !important;
pointer-events: auto !important;
}
.ila-inquire-link,
.ila-takehome-link,
.ila-btn-action {
color: currentColor;
text-decoration: underline;
text-underline-offset: 3px;
opacity: 0.85;
transition: opacity 0.2s ease;
display: inline-block;
cursor: pointer !important;
pointer-events: auto !important;
position: relative;
z-index: 10;
padding: 2px 0;
}
.ila-inquire-link:hover,
.ila-takehome-link:hover,
.ila-btn-action:hover {
opacity: 1;
}
/* 5. Custom Floating Cursor Counter (1 / n) */
#ila-cursor-counter,
.ila-cursor {
position: fixed;
top: 0;
left: 0;
pointer-events: none;
z-index: 99999;
font-family: var(--serif-font, "Garamond", "Georgia", serif);
font-size: 0.85rem;
color: rgba(0, 0, 0, 0.75);
letter-spacing: 0.1em;
opacity: 0;
transform: translate(-50%, -50%);
transition: opacity 0.2s ease;
white-space: nowrap;
}
#ila-cursor-counter.is-active,
.ila-cursor.is-active {
opacity: 1;
}
/* 6. Mobile Responsiveness */
@media (max-width: 768px) {
.ila-metacard {
opacity: 1;
transform: translateY(0);
}
.ila-media-frame {
max-width: 100%;
cursor: auto;
}
}