/* Cocotte — v2 (cabaret palette, two-column ledger layout) */ @import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,500;0,700;1,500;1,700&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap'); *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } :root { --velvet: #1a0e10; --velvet-2: #231518; --cream: #e8dcc4; --cream-2: #a89880; --gilt: #c9a24a; --gilt-2: #8c6f31; --serif: 'Cormorant Garamond', 'EB Garamond', Georgia, serif; --display: 'Playfair Display', 'Cormorant Garamond', Georgia, serif; } html, body { background: var(--velvet); color: var(--cream); } body { font-family: var(--serif); font-size: 18px; line-height: 1.55; -webkit-font-smoothing: antialiased; padding: 72px 24px 56px; min-height: 100vh; } .ledger { max-width: 860px; margin: 0 auto; background: var(--velvet-2); border: 1px solid var(--gilt-2); padding: 64px 72px 48px; position: relative; } .ledger::before, .ledger::after { content: ""; position: absolute; width: 20px; height: 20px; border: 1px solid var(--gilt-2); } .ledger::before { top: 10px; left: 10px; border-right: 0; border-bottom: 0; } .ledger::after { bottom: 10px; right: 10px; border-left: 0; border-top: 0; } .head { display: grid; grid-template-columns: 1fr auto; align-items: baseline; gap: 24px; margin-bottom: 8px; } .wordmark { font-family: var(--display); font-style: italic; font-weight: 700; font-size: 44px; color: var(--gilt); letter-spacing: .002em; line-height: 1; } .wordmark a { color: inherit; text-decoration: none; border: 0; } .filed { font-family: var(--serif); font-size: 10px; letter-spacing: .28em; text-transform: uppercase; color: var(--cream-2); text-align: right; line-height: 1.7; } .filed .num { color: var(--gilt); } .marquee { height: 6px; margin: 14px 0 28px; border-top: 1px solid var(--gilt-2); border-bottom: 1px solid var(--gilt-2); } .top-nav { display: flex; justify-content: center; gap: 32px; margin-bottom: 40px; font-size: 11px; letter-spacing: .3em; text-transform: uppercase; color: var(--cream-2); } .top-nav a { color: var(--cream-2); border-bottom: 0; padding-bottom: 2px; } .top-nav a:hover { color: var(--gilt); } .top-nav a.active { color: var(--gilt); border-bottom: 1px solid var(--gilt); } .lede { font-family: var(--display); font-style: italic; font-size: 22px; color: var(--cream); margin-bottom: 24px; line-height: 1.4; } .address-block { font-variant-numeric: oldstyle-nums; letter-spacing: .04em; } .address-block .lh { display: block; font-size: 11px; letter-spacing: .28em; text-transform: uppercase; color: var(--cream-2); margin-bottom: 8px; } hr.rule { border: 0; border-top: 1px solid var(--gilt-2); margin: 32px 0; } .dossier-sub { font-family: var(--serif); font-size: 11px; letter-spacing: .3em; text-transform: uppercase; color: var(--cream-2); margin-bottom: 48px; } /* the ledger itself — grid of label / body rows */ dl.entries { display: grid; grid-template-columns: 200px 1fr; column-gap: 32px; row-gap: 28px; align-items: baseline; } dl.entries dt { font-family: var(--serif); font-size: 11px; letter-spacing: .28em; text-transform: uppercase; color: var(--gilt); font-weight: 500; padding-top: 4px; border-top: 1px solid var(--gilt-2); } dl.entries dd { color: var(--cream); padding-top: 4px; border-top: 1px solid var(--gilt-2); } dl.entries dd p { margin-bottom: 12px; } dl.entries dd p:last-child { margin-bottom: 0; } dl.entries dd ul { list-style: none; padding: 0; } dl.entries dd ul li { position: relative; padding-left: 18px; margin-bottom: 6px; } dl.entries dd ul li::before { content: "—"; position: absolute; left: 0; color: var(--gilt); } dl.entries dd ul li:last-child { margin-bottom: 0; } a { color: var(--cream); text-decoration: none; border-bottom: 1px solid var(--gilt-2); transition: border-color .15s, color .15s; } a:hover { color: var(--gilt); border-bottom-color: var(--gilt); } .ornament { text-align: center; font-size: 16px; color: var(--gilt); letter-spacing: .6em; margin: 48px 0 32px; } .signoff { display: grid; grid-template-columns: 200px 1fr; column-gap: 32px; font-style: italic; color: var(--cream-2); } .signoff .label { font-family: var(--serif); font-style: normal; font-size: 11px; letter-spacing: .28em; text-transform: uppercase; color: var(--gilt); } .page-footer { margin-top: 64px; padding-top: 22px; border-top: 1px solid var(--gilt-2); display: grid; grid-template-columns: 1fr auto; align-items: baseline; gap: 24px; } .colophon { font-size: 10px; letter-spacing: .28em; text-transform: uppercase; color: var(--cream-2); } .colophon .sep { margin: 0 10px; color: var(--gilt-2); } .lang-switch { font-size: 10px; letter-spacing: .28em; text-transform: uppercase; color: var(--cream-2); text-align: right; } .lang-switch a { color: var(--cream-2); border-bottom: 0; } .lang-switch a:hover { color: var(--gilt); } .lang-switch .active { color: var(--gilt); border-bottom: 1px solid var(--gilt); padding-bottom: 1px; } @media (max-width: 720px) { body { padding: 40px 14px 32px; font-size: 17px; } .ledger { padding: 48px 28px 36px; } .head { grid-template-columns: 1fr; gap: 8px; } .wordmark { font-size: 36px; } .filed { text-align: left; } .marquee { margin: 12px 0 22px; } .dossier-sub { margin-bottom: 32px; } dl.entries { grid-template-columns: 1fr; row-gap: 8px; column-gap: 0; } dl.entries dt { border-top: 1px solid var(--gilt-2); padding-top: 12px; } dl.entries dd { border-top: 0; padding-top: 4px; margin-bottom: 12px; } .signoff { grid-template-columns: 1fr; row-gap: 4px; } .ornament { margin: 32px 0 24px; } .page-footer { grid-template-columns: 1fr; row-gap: 12px; } .lang-switch { text-align: left; } } @media (max-width: 380px) { body { padding: 28px 10px 24px; font-size: 16px; } .ledger { padding: 36px 18px 28px; } .wordmark { font-size: 30px; } .colophon, .lang-switch { font-size: 9px; letter-spacing: .22em; } .colophon .sep { margin: 0 5px; } } .marquee-line { font-family: var(--display); font-style: italic; font-size: 20px; color: var(--cream); text-align: center; padding: 24px 0; margin: 8px 0 24px; border-top: 1px solid var(--gilt-2); border-bottom: 1px solid var(--gilt-2); line-height: 1.5; } .marquee-line a { color: var(--gilt); border-bottom-color: var(--gilt-2); } .marquee-line a:hover { border-bottom-color: var(--gilt); }