/* The still-life cover is editorial; the palette and brief groups stay practical. */
:root {
 --gutter:clamp(20px,4vw,64px); --container:1440px; --mixed-round:28px;
 --color-paper:#123b2e; --color-paper-2:#0e2e24; --color-paper-3:#214d3d;
 --color-ink:#f4efdf; --color-ink-2:#d8dfd1; --color-muted:#abbfaf;
 --color-rule:#4c7060; --color-accent:#d4df80; --color-accent-2:#e6edaa;
 --color-accent-ink:#14392c; --color-focus:#e6edaa; --color-accent-deep:#44642c;
 --mixed-pale:#e9e9dc; --mixed-dark:#153b2d;
}
body { font-size:17px; }
.concept { min-height:44px; color:var(--color-ink); }
.concept a { display:inline-flex; min-height:40px; align-items:center; }
.top { min-height:92px; }
.wordmark { font-size:clamp(1.6rem,2.6vw,2.35rem); }
.top nav a:last-child { background:var(--color-accent); color:var(--color-accent-ink); border:0; font-weight:700; }
.hero { position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(0,1fr); padding-block:28px 40px; min-height:660px; }
.hero-type { grid-column:1; grid-row:1; z-index:1; align-self:center; margin:32px; padding:42px; width:min(53%,610px); background:var(--color-paper); border-radius:var(--mixed-round); gap:24px; }
.hero h1 { max-width:11ch; font-size:clamp(3.6rem,6.5vw,6.2rem); line-height:1.06; letter-spacing:-.055em; }
.hero p { font-size:20px; max-width:28ch; color:var(--color-ink); }
.art { grid-column:1; grid-row:1; height:610px; border-radius:var(--mixed-round); }
.art img { object-position:50% 40%; }
.btn { padding-inline:24px; min-height:48px; border:0; }
.cream { background:var(--mixed-pale); color:var(--mixed-dark); }
.cream :focus-visible { outline-color:var(--mixed-dark); }
.band { padding-block:84px; grid-template-columns:minmax(0,1fr) minmax(0,.9fr); gap:24px 64px; }
.band h2 { font-size:clamp(2.7rem,4.7vw,4.6rem); }
.band p { font-size:19px; }
.palette-ledger { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:24px; }
.palette-ledger a { display:flex; flex-direction:column; align-items:stretch; gap:16px; border:0; padding:0 0 24px; background:var(--color-ink); color:var(--mixed-dark); border-radius:var(--mixed-round); overflow:hidden; font-size:clamp(1.7rem,2.7vw,2.5rem); }
.palette-ledger a img { height:260px; width:100%; object-fit:cover; }
.palette-ledger a > span { margin-inline:24px; }
.palette-ledger a > .colour-key { width:calc(100% - 48px); height:18px; border-radius:999px; overflow:hidden; }
.home-table { padding-block:100px; gap:clamp(32px,7vw,100px); grid-template-columns:minmax(0,1.15fr) minmax(0,.9fr); }
.table-photo { border-radius:var(--mixed-round); }
.table-photo img { height:auto; aspect-ratio:1; }
.home-table h2 { font-size:clamp(2.7rem,4.6vw,4.6rem); max-width:12ch; line-height:1.08; }
.home-table p { font-size:18px; line-height:1.65; }
.home-table .text-action { margin-top:20px; }
.home-table .more-link { display:flex; margin-left:0; }
footer { border:0; background:var(--color-paper-2); }
.foot { padding-block:48px; gap:40px; }
.foot .wordmark { font-size:clamp(2.3rem,4.5vw,4.5rem); }
.footer-note { margin-top:16px; font-size:15px; max-width:48ch; }
.page-lede,.question-head,.occasion-head,.intro { padding-block:64px 48px; }
.page-lede h1,.question-head h1,.occasion-head h1,.intro h1 { font-size:clamp(3rem,5.6vw,5.6rem); letter-spacing:-.05em; max-width:14ch; line-height:1.1; }
.page-lede p,.question-head p,.occasion-head p,.intro p { font-size:20px; }
.page-lede,.question-head { gap:64px; }
.section-links { padding-bottom:24px; gap:12px; }
.section-links a { min-height:46px; padding:10px 22px; border-radius:999px; background:var(--color-paper-3); text-decoration:none; font-weight:600; }
.section-links a:hover { background:var(--color-accent); color:var(--color-accent-ink); }
.recipe { border:0; padding-block:40px 64px; gap:40px; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); }
.recipe-art { border-radius:var(--mixed-round); overflow:hidden; gap:0; grid-template-columns:minmax(0,5fr) minmax(0,1fr); }
.recipe-art > img { min-height:460px; max-height:620px; }
.recipe-notes { padding:36px; border-radius:var(--mixed-round); background:var(--color-paper-3); }
.recipe-notes h2 { font-size:clamp(2.5rem,4vw,3.8rem); line-height:1.1; }
.recipe-notes h3 { font-family:var(--font-body); font-size:20px; font-weight:600; }
.maker-notes { background:var(--color-paper-2); border-radius:18px; padding:6px 20px; margin-block:24px 12px; }
.maker-notes .flower-notes { margin-bottom:20px; }
.recipe .more-link { display:flex; margin:0; }
.occasion-head { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:48px; }
.occasion-plates { gap:12px; align-items:center; }
.occasion-plates img { border-radius:20px; height:320px; }
.occasion-plates img:nth-child(2) { height:270px; }
.occasion-register { padding-block:64px; }
.occasion-register article { padding:32px; border:0; background:var(--color-ink); border-radius:var(--mixed-round); margin-block:0 20px; grid-template-columns:minmax(0,.75fr) minmax(0,1fr) minmax(0,1fr); }
.occasion-register article:last-child { margin:0; }
.occasion-register h2 { font-size:clamp(2.2rem,3.5vw,3.5rem); }
.occasion-register .text-action { text-decoration-color:currentColor; }
.occasion-register details { background:var(--mixed-pale); border-radius:16px; padding:4px 16px; margin-bottom:10px; }
.question-sheet { gap:64px; padding-bottom:80px; }
.question-aside { padding:24px; border-radius:var(--mixed-round); background:var(--color-paper-3); }
.question-aside img { border-radius:16px; height:200px; }
.question-aside h2 { font-size:2rem; }
.question-register details { border:0; background:var(--color-paper-3); border-radius:18px; margin-bottom:12px; padding-inline:24px; }
.question-register summary { padding-block:22px; font:600 18px/1.5 var(--font-body); }
.question-register details p { padding:0 0 24px; }
.brief { gap:32px; padding-bottom:80px; }
.brief form { background:var(--color-paper-3); border-radius:var(--mixed-round); padding:32px; }
.fields label { font-size:16px; }
select,textarea,.fields input[type=date] { border-radius:12px; min-height:48px; background:var(--color-paper-2); }
.draft { border-radius:var(--mixed-round); position:sticky; top:24px; padding:32px; }
.draft h2 { font-size:clamp(2.25rem,3.5vw,3.5rem); }
.draft textarea { border-radius:12px; }
.draft .quiet { min-height:48px; }
.plain .rows { display:grid; gap:20px; }
.plain .row { border:0; background:var(--color-paper-3); padding:32px; border-radius:var(--mixed-round); }
.plain .row h2 { font-size:clamp(2rem,3.2vw,3.2rem); }
.missing { padding-bottom:100px; }
a,button,summary { touch-action:manipulation; }
@media(prefers-reduced-motion:no-preference) {
 .art img { animation:mixed-bloom 3.8s var(--ease-out) both; }
 .hero-type { animation:arrive .65s var(--ease-out) both; }
 .palette-ledger a { transition:transform .24s var(--ease-out); }
 .palette-ledger a:hover { transform:translateY(-5px); }
 @keyframes mixed-bloom { from { transform:scale(1.06); } to { transform:scale(1); } }
}
@media(max-width:1000px) {
 .hero-type { width:59%; padding:32px; margin:24px; }
 .hero h1 { font-size:clamp(3.4rem,6.5vw,5rem); }
 .palette-ledger { gap:16px; }
 .palette-ledger a > span { margin-inline:18px; }
 .palette-ledger a > .colour-key { width:calc(100% - 36px); }
 .recipe { gap:24px; }
 .recipe-notes { padding:24px; }
 .recipe-art { grid-template-columns:1fr; grid-template-rows:auto 70px; }
 .recipe-art > img { min-height:0; height:auto; }
 .paint-slice { flex-direction:row; }
 .paint-slice > img { height:70px; width:65%; }
 .paint-slice .colour-key { width:35%; height:70px; }
 .occasion-register article { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
 .occasion-register article > :last-child { grid-column:2; }
}
@media(max-width:768px) {
 .top { min-height:0; padding-block:20px; gap:12px; }
 .top nav { gap:12px; }
 .hero { display:flex; flex-direction:column; min-height:0; gap:28px; padding-block:16px 40px; }
 .hero-type { width:100%; padding:0; margin:0; gap:20px; }
 .hero h1 { max-width:12ch; font-size:clamp(3.25rem,11.5vw,5.2rem); }
 .hero p { font-size:18px; max-width:34ch; }
 .art { width:100%; height:370px; border-radius:22px; }
 .art img { object-position:50% 35%; }
 .band { padding-block:56px; gap:20px; grid-template-columns:1fr; }
 .palette-ledger { grid-template-columns:1fr; margin-top:8px; gap:16px; }
 .palette-ledger a { display:grid; grid-template-columns:110px minmax(0,1fr); grid-template-rows:1fr 30px; gap:0 20px; padding:0 20px 0 0; border-radius:20px; align-items:center; }
 .palette-ledger a img { grid-row:1 / 3; height:150px; }
 .palette-ledger a > span { margin:16px 0 0; font-size:1.7rem; }
 .palette-ledger a > .colour-key { display:flex; width:100%; height:12px; margin:0 0 18px; }
 .home-table { padding-block:56px; gap:28px; grid-template-columns:1fr; }
 .table-photo img { max-height:440px; aspect-ratio:1.12; }
 .home-table h2 { max-width:14ch; font-size:2.8rem; }
 .page-lede,.question-head,.occasion-head,.intro { padding-block:32px 36px; gap:24px; grid-template-columns:1fr; }
 .page-lede h1,.question-head h1,.occasion-head h1,.intro h1 { font-size:clamp(2.7rem,10vw,4.5rem); max-width:16ch; }
 .page-lede p,.question-head p,.occasion-head p,.intro p { font-size:18px; }
 .section-links { gap:8px; }
 .section-links a { padding:8px 16px; }
 .recipe { grid-template-columns:1fr; padding-block:16px 40px; gap:20px; }
 .recipe:nth-child(2) .recipe-art { order:0; }
 .recipe-art { grid-template-columns:minmax(0,4fr) minmax(0,1fr); grid-template-rows:auto; }
 .recipe-art > img { height:auto; aspect-ratio:1; }
 .paint-slice { flex-direction:column; }
 .paint-slice > img { width:100%; height:0; }
 .paint-slice .colour-key { width:100%; height:24px; }
 .recipe-notes h2 { font-size:2.5rem; }
 .occasion-plates img { height:210px; }
 .occasion-plates img:nth-child(2) { height:180px; }
 .occasion-register { padding-block:32px; }
 .occasion-register article { grid-template-columns:1fr; padding:24px; gap:24px; }
 .occasion-register article > :last-child { grid-column:auto; }
 .question-sheet { grid-template-columns:1fr; gap:32px; padding-bottom:48px; }
 .question-aside { order:2; max-width:none; }
 .question-register details { padding-inline:20px; }
 .brief { grid-template-columns:1fr; padding-bottom:48px; gap:24px; }
 .brief form,.draft { padding:24px; }
 .draft { position:static; }
 .plain .row { padding:24px; grid-template-columns:1fr; }
 .foot { padding-block:32px; flex-direction:column; align-items:start; gap:24px; }
 .foot .wordmark { font-size:2.5rem; }
}
