/* ---------- PAGE BACKGROUND ---------- */ body { margin: 0; color: #f3ead7; font-family: Georgia, serif; background: radial-gradient( circle at 20% 40%, rgba(180,140,40,0.28), transparent 38% ), radial-gradient( circle at 80% 20%, rgba(35,55,120,0.18), transparent 42% ), linear-gradient( 90deg, #120f08 0%, #0a1020 42%, #04050b 100% ); min-height: 100vh; } /* ---------- LAYOUT ---------- */ .page { min-height: 100vh; display: grid; grid-template-columns: 30% 70%; } /* ---------- LEFT IMAGE PANEL ---------- */ .painting-panel { display: flex; align-items: center; justify-content: center; padding: 42px; position: relative; } /* subtle glow behind frame */ .painting-panel::before { content: ""; position: absolute; inset: 8%; background: radial-gradient( circle, rgba(214,180,109,0.18), transparent 70% ); filter: blur(40px); z-index: 0; } /* ---------- IMAGE FRAME ---------- */ .painting-frame { position: relative; z-index: 2; width: 100%; max-width: 520px; padding: 22px; border-radius: 28px; background: linear-gradient( 145deg, rgba(255,255,255,0.06), rgba(255,255,255,0.01) ); border: 1px solid rgba(214,180,109,0.35); box-shadow: 0 0 0 1px rgba(255,215,120,0.08), 0 25px 70px rgba(0,0,0,0.65); overflow: hidden; } /* decorative texture overlay */ .painting-frame::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient( -45deg, rgba(255,255,255,0.025), rgba(255,255,255,0.025) 2px, transparent 2px, transparent 8px ); opacity: 0.45; pointer-events: none; } /* ---------- IMAGE WINDOW ---------- */ .painting-window { position: relative; background: #02050b; border-radius: 22px; overflow: hidden; border: 1px solid rgba(214,180,109,0.18); } .painting-window img { display: block; width: 100%; height: auto; } /* ---------- CAPTION BAR ---------- */ .painting-caption { display: grid; grid-template-columns: 110px 1fr; gap: 22px; margin-top: 18px; padding-top: 18px; border-top: 1px solid rgba(214,180,109,0.15); } .caption-label { color: #bba06a; font-size: 0.72rem; line-height: 1.8; letter-spacing: 0.24em; text-transform: uppercase; } .caption-text { color: #e8dcc4; font-size: 0.95rem; line-height: 1.65; } /* ---------- RIGHT TEXT SIDE ---------- */ .info { display: flex; align-items: center; padding: 90px 90px 90px 60px; position: relative; } /* subtle divider glow */ .info::before { content: ""; position: absolute; left: 0; top: 10%; bottom: 10%; width: 1px; background: linear-gradient( to bottom, transparent, rgba(214,180,109,0.35), transparent ); } /* ---------- TYPOGRAPHY ---------- */ h1 { margin: 0; font-size: 4rem; font-weight: normal; letter-spacing: 0.04em; color: #f5f1e8; } .artist { margin-top: 16px; margin-bottom: 70px; color: #c7a865; font-size: 0.88rem; letter-spacing: 0.22em; text-transform: uppercase; } h2 { margin-bottom: 30px; font-size: 0.92rem; font-weight: normal; letter-spacing: 0.22em; text-transform: uppercase; color: #dbc28c; } p { max-width: 820px; font-size: 1.12rem; line-height: 1.95; color: #ece1cd; margin-bottom: 28px; } /* ---------- LINKS ---------- */ .links { margin-top: 42px; display: flex; flex-direction: column; gap: 14px; } .links a { color: #d6b46d; text-decoration: none; letter-spacing: 0.04em; transition: all 0.2s ease; } .links a:hover { opacity: 0.72; transform: translateX(4px); } /* ---------- FOOTER ---------- */ footer { margin-top: 70px; color: #97896d; font-size: 0.82rem; } /* ---------- MOBILE ---------- */ @media (max-width: 980px) { .page { grid-template-columns: 1fr; } .painting-panel { padding: 26px; } .info { padding: 48px 28px 70px; } .info::before { display: none; } h1 { font-size: 2.5rem; } p { font-size: 1rem; line-height: 1.8; } }