:root {
  --paper: #fbf8f2;
  --ink: #352e29;
  --rose: #8a5963;
  --wine: #663f50;
  --moss: #565943;
  --fine-rule: #d9cebc;
  --editorial-margin: clamp(24px, 7vw, 130px);
}
/* A quiet blush-and-champagne wash; remove this block to restore the plain paper. */
body {
  background-color: var(--paper);
  background-image:
    radial-gradient(ellipse 75% 34% at -5% 27%, rgb(183 113 134 / .14), rgb(183 113 134 / 0) 75%),
    radial-gradient(ellipse 70% 34% at 105% 72%, rgb(205 167 111 / .15), rgb(205 167 111 / 0) 75%);
  background-size: 100% 1800px;
  background-repeat: repeat-y;
}
@media (max-width:680px) {
  body { background-size: 100% 1400px; }
}
figure, blockquote { margin: 0; }
.top { height: 83px; background: #fcf9f4; padding-inline: clamp(22px, 4.5vw, 100px); }
.crest { width: 58px; }
.wordmark img { width: 158px; }
.contact-quick { border-color: #d8ccbb; color: #5e4e42; }
.edition-kicker {
  display: flex; align-items: center; gap: 12px;
  margin: 0 0 19px; font: 600 10px/1.4 Arial,sans-serif;
  text-transform: uppercase; letter-spacing: .19em; color: #6d6156;
}
.edition-kicker > span { width: 34px; height: 1px; background: currentColor; opacity: .77; }
.edition-cover {
  position: relative; isolation: isolate; display: grid; align-items: center;
  min-height: 505px; height: clamp(505px, 41vw, 730px);
  background: #e9e0d2; overflow: hidden;
}
.cover-art, .cover-art img { position: absolute; inset: 0; width: 100%; height: 100%; }
.cover-art { z-index: -2; }
.cover-art img { object-fit: cover; object-position: 73% 50%; }
.cover-copy { padding: 30px 0 35px var(--editorial-margin); width: 50%; }
.cover-copy h1, .occasion-copy h2, .notebook-head h2,
.studio-visit h2, .portrait-page h1, .portrait-page h2, .collection h2 {
  margin: 0; font-family: var(--display); font-weight: 400; line-height: .97; letter-spacing: -.058em;
}
.cover-copy h1 { font-size: clamp(80px,7.3vw,140px); line-height: .9; color: #363027; }
.cover-copy h1 em { font-weight: 400; color: #734b54; }
.cover-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:29px; }
.ink-button {
  display:inline-flex; justify-content:center; align-items:center; gap:25px; min-height:44px;
  padding: 13px 22px; border-radius: 2px; background: #564447; color:#fff;
  font-size:13px; letter-spacing:.015em; transition: background .2s;
}
.ink-button:hover { background: #3e3436; }
.fine-link {
  display:inline-flex; align-items:center; gap:12px; min-height:36px;
  width:fit-content; border-bottom:1px solid currentColor; font-size:13px; font-weight:500;
}
.fine-link:hover { color:var(--rose); }
.fine-link .icon, .ink-button .icon { width:16px; height:16px; }
.cover-credit {
  position: absolute; right: clamp(18px,3vw,58px); bottom: 17px;
  display:flex; flex-direction:column; align-items:flex-end; gap:2px;
  padding:7px 12px; border-right:1px solid #8a7764;
  color:#3d342c; background:rgba(249,245,235,.88);
}
.cover-credit span { font:italic 21px/1.1 var(--display); }
.cover-credit small, .concept-plate figcaption small, .concept-detail small {
  font-size:10px; line-height:1.3; font-weight:500; text-transform:uppercase; letter-spacing:.17em;
}
.chapter-nav {
  display:flex; justify-content:center; align-items:center; gap:clamp(13px,2.7vw,48px);
  padding:11px var(--gutter); border-block:1px solid var(--fine-rule); background:#f3eee5;
}
.chapter-nav a { display:inline-flex; align-items:center; justify-content:center; min-height:31px; font-size:12px; letter-spacing:.025em; }
.chapter-nav a:hover { text-decoration:underline; text-underline-offset:4px; }
.chapter-nav i { color:#a38468; font-size:13px; font-style:normal; }
.collection { padding:clamp(58px,6vw,104px) var(--editorial-margin) clamp(65px,7vw,120px); }
.collection-head { align-items:flex-end; justify-content:space-between; gap:20px; margin:0 0 29px; }
.collection .edition-kicker { margin-bottom:11px; }
.collection h2, .notebook-head h2, .occasion-copy h2, .studio-visit h2 { font-size:clamp(43px,4.5vw,80px); }
.collection h2 em, .notebook-head h2 em, .studio-visit h2 em, .occasion-copy h2 em { font-weight:400; color:var(--rose); }
.filter-row { gap:12px; margin:0; }
.pill { padding:8px 1px; border:0; border-bottom:1px solid transparent; border-radius:0; background:transparent; font-size:12px; }
.pill[aria-pressed=true] { border-color:var(--wine); color:var(--wine); background:transparent; }
.pill:not([aria-pressed=true]):hover { background:transparent; border-color:var(--fine-rule); }
.cards { gap:38px clamp(15px,2vw,35px); }
.card-photo { border-radius:1px; aspect-ratio:1.05; }
.card-copy h3 { font-size:clamp(22px,2.05vw,35px); }
.card-kind { font-size:12px; }
.more-wrap { margin-top:38px; }
.more-wrap .outline { border-radius:1px; }
.portrait-opening figcaption {margin-top:18px;font-size:11px;color:#565849;line-height:1.5}
.portrait-process h2 {font-size:clamp(50px,5.6vw,95px)}
.portrait-page h1 em,.portrait-process h2 em {font-weight:400;color:#666a53}
.section-intro,.portrait-text>p:last-child,.portrait-process div>p:not(.edition-kicker),.studio-visit div>p:not(.edition-kicker) {
  font-size:15px;line-height:1.7;color:var(--muted);max-width:43ch;
}
.occasion-spread {
  display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:center;
  gap:clamp(40px,6vw,96px);padding:clamp(50px,5.8vw,100px) var(--editorial-margin);
  background:#f3eee6;border-block:1px solid var(--fine-rule);
}
.occasion-copy {width:100%;max-width:730px;justify-self:end}
.occasion-copy .edition-kicker {margin-bottom:14px;font-size:13px;letter-spacing:.13em;color:#6a5148}
.occasion-copy h2 {font-size:clamp(54px,5.8vw,93px)}
.occasion-copy .section-intro {margin:18px 0 23px;color:#51483e;max-width:51ch;font-size:clamp(19px,1.42vw,24px);line-height:1.55}
.occasion-options {border-top:1px solid #cbbda9}
.occasion-entry {border-bottom:1px solid #cbbda9}
.occasion-entry>button {
  display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:53px;
  padding:10px 4px 10px 0;text-align:left;color:#51483e;font:400 clamp(25px,2.1vw,37px)/1.15 var(--display);
}
.occasion-entry>button[aria-expanded=true] {color:var(--wine);font-style:italic}
.occasion-mark {width:15px;height:15px;position:relative;flex:none}
.occasion-mark::before,.occasion-mark::after {content:"";position:absolute;inset:7px 0 auto;height:1px;background:currentColor}
.occasion-mark::after {transform:rotate(90deg)}
.occasion-entry>button[aria-expanded=true] .occasion-mark::after {display:none}
.occasion-entry p {margin:0 0 19px;color:#51453d;max-width:55ch;font-size:clamp(18px,1.25vw,21px);line-height:1.58}
.occasion-inquire.fine-link {margin-top:17px;font-size:16px;min-height:43px;color:#683d48}
.occasion-work {width:100%;max-width:530px;min-width:0;justify-self:start}
.occasion-image {display:block;width:100%;padding:clamp(6px,.7vw,11px);background:#fffbf4;border:1px solid #d3c5b3;box-shadow:0 6px 18px #59473016}
.occasion-image img {display:block;width:100%;aspect-ratio:4/5;object-fit:contain;background:#efe5da}
.occasion-link {display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;font:italic clamp(23px,2vw,32px)/1.15 var(--display);padding:12px 1px 3px}
.occasion-link:hover,.occasion-entry>button:hover {color:var(--wine)}
.concept-notebook { background:#efe4df; padding:clamp(55px,6.5vw,120px) var(--editorial-margin) clamp(65px,7vw,125px); }
.notebook-head { display:flex; align-items:flex-end; justify-content:space-between; gap:35px; margin-bottom:clamp(27px,3.2vw,52px); }
.notebook-head .section-intro { max-width:34ch; }
.concept-grid { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items:start; gap:clamp(14px,2.5vw,46px); }
.concept-plate:nth-child(2) { padding-top:clamp(27px,3.3vw,65px); }
.plate-image { display:block; width:100%; position:relative; overflow:hidden; }
.plate-image img {width:100%; height:auto; aspect-ratio:1; object-fit:cover; transition: transform .5s; }
.plate-image:hover img {transform:scale(1.035);}
.magnify { position:absolute;bottom:10px;right:10px;background:#f6f1e5e8;color:#4c3e38;width:30px;height:30px;border-radius:50%;display:grid;place-items:center; }
.concept-plate figcaption { padding-top:14px; }
.concept-plate figcaption small, .concept-detail small { color:#6c4b52; }
.concept-plate h3 { font:400 clamp(26px,2.65vw,45px)/1.05 var(--display); letter-spacing:-.04em; margin:7px 0 6px; }
.concept-plate figcaption p { font-size:13px; line-height:1.5; color:#685953; }
.concept-detail img { width:100%; max-height:54dvh; object-fit:contain; background:#f1e9e3; margin-bottom:13px; }
.concept-detail p { margin-top:15px; }
.studio-visit { display:grid; grid-template-columns:1fr .75fr; gap:6vw; align-items:center; margin:0 auto; max-width:1750px; padding:clamp(58px,7vw,125px) var(--editorial-margin); }
.studio-visit>img { width:100%; height:clamp(210px,22vw,380px); object-fit:cover; object-position:62% 57%; }
.studio-visit div>p:not(.edition-kicker) { margin:18px 0 20px; }
.colophon { display:block; padding:clamp(38px,4.2vw,78px) var(--editorial-margin); background:#e7dfd1; border-color:#d6cbbd; }
.foot-inner { display:grid; grid-template-columns:1.2fr 1.2fr 1fr 1fr; gap:25px; align-items:start; }
.foot-identity { display:flex; gap:9px; align-items:center; }
.foot-identity img { width:53px; height:auto; }
.foot-identity>span { font:29px/1.1 var(--display); white-space:nowrap; }
.foot-identity small { display:block; margin-top:4px; font:8px Arial,sans-serif; letter-spacing:.24em; }
.foot-place h2 { font:600 12px/1.5 Arial,sans-serif; margin-bottom:5px; }
.foot-place p { font-size:12px; line-height:1.65; }
.colophon nav { display:flex; flex-direction:column; align-items:start; gap:0; }
.colophon nav a,.colophon nav button { display:inline-flex; align-items:center; min-height:29px; font-size:12px; }
.colophon nav a:hover {text-decoration:underline;}
.portrait-opening {display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;padding:65px var(--editorial-margin);background:#e8e5dc;}
.portrait-opening figure {width:min(100%,500px);}
.portrait-opening img {width:100%; height:auto; max-height:620px; object-fit:cover;}
.back-home {display:inline-block;font-size:12px;margin-bottom:47px;text-decoration:underline;text-underline-offset:4px;}
.portrait-page h1 {font-size:clamp(72px,7.5vw,130px);}
.portrait-text>p:last-child {margin:23px 0 0;}
.portrait-letter {padding:clamp(66px,7vw,125px) 22px;text-align:center;}
.portrait-letter>.edition-kicker {justify-content:center;}
.portrait-letter h2 {font-size:clamp(34px,3.6vw,64px);max-width:32ch;margin:0 auto 24px;line-height:1.05;letter-spacing:-.043em;}
.portrait-letter h2 em {color:var(--rose);}
.portrait-process {display:grid;grid-template-columns: 1fr 1fr;gap:7vw;align-items:center;padding:35px var(--editorial-margin) 60px;}
.portrait-process.reversed {background:#eee5dc;padding-top:55px;}
.portrait-process.reversed figure {order:1;}
.portrait-process img {width:100%;height:clamp(280px,31vw,500px);object-fit:cover;}
.portrait-process.reversed img {object-position:50% 53%;}
.portrait-process div>p:not(.edition-kicker) {margin:18px 0;}
.portrait-end {text-align:center;padding:45px 22px;}
@media(max-width:1150px) {
  .collection-head {flex-direction:column;align-items:start;}
  .foot-inner {grid-template-columns:1fr 1fr;}
}
@media(max-width:760px) {
  .top {height:69px;}
  .edition-kicker {font-size:9px;}
  .cards {gap:27px 12px;}
  .card-copy h3 {font-size:23px;}
  .filter-row {gap:7px 12px;}
  .notebook-head {display:block;}
  .notebook-head .section-intro {margin-top:15px;}
  .studio-visit {gap:4vw;}
}
@media(max-width:700px) {
  .edition-cover {display:flex;flex-direction:column;align-items:stretch;height:auto;min-height:0;background:#e9dfd0;}
  .cover-copy {width:100%;padding:30px 24px 23px;order:-1;position:relative;}
  .cover-copy h1 {font-size:clamp(52px,10.45vw,72px);line-height:.94;}
  .cover-copy h1 br:first-of-type {display:none;}
  .cover-copy h1 em::before {content:" ";}
  .cover-actions {gap:16px;margin-top:19px;}
  .cover-copy .edition-kicker {margin-bottom:15px;}
  .cover-art,.cover-art img {position:static;z-index:auto;}
  .cover-art {display:block;width:100%;height:clamp(254px,64vw,348px);}
  .cover-art img {width:100%;height:100%;object-fit:cover;object-position:50% 54%;}
  .cover-credit {right:14px;bottom:12px;}
  .cover-credit span {font-size:18px;}
  .chapter-nav {gap:5px 12px;justify-content:center;flex-wrap:wrap;padding:8px 14px;}
  .chapter-nav i {display:none;}
  .chapter-nav a {font-size:11px;min-height:28px;}
  .collection {padding:47px var(--gutter) 52px;}
  .collection-head {margin-bottom:17px;gap:10px;}
  .card-kind {font-size:11px;}
  .portrait-process h2 {font-size:51px}
  .occasion-spread {grid-template-columns:minmax(0,1fr);gap:24px;padding:45px var(--gutter)}
  .occasion-copy,.occasion-work {max-width:560px;justify-self:center}
  .occasion-copy .section-intro {margin:15px 0 20px;font-size:19px}
  .occasion-entry>button {font-size:26px;min-height:52px}
  .occasion-entry p {font-size:18px}
  .occasion-image {padding:6px}
  .occasion-link {font-size:24px}
  .concept-notebook {padding:50px var(--gutter);}
  .concept-grid {grid-template-columns:1fr;gap:32px;max-width:490px;margin:auto;}
  .concept-plate:nth-child(2) {padding-top:0;}
  .concept-plate figcaption {padding-top:10px;}
  .studio-visit {grid-template-columns:1fr;gap:24px;padding:50px var(--gutter);}
  .foot-inner {gap:26px 15px;}
  .foot-identity>span {font-size:23px;}.foot-identity img {width:35px;}
  .colophon {padding-inline:var(--gutter);}
  .portrait-opening {grid-template-columns:1fr;gap:24px;padding:30px var(--gutter);}
  .portrait-opening figure {max-width:430px;margin:auto;}
  .back-home {margin-bottom:27px;}
  .portrait-process {grid-template-columns:1fr;gap:25px;padding:35px var(--gutter) 45px;}
  .portrait-process.reversed figure {order:0;}
  .portrait-letter {padding-block:48px;}
  .section-intro,.portrait-text>p:last-child,.portrait-process div>p:not(.edition-kicker),.studio-visit div>p:not(.edition-kicker) {font-size:14px;}
}
@media(max-width:390px) {
  .cover-copy h1 {font-size:13vw;}
  .chapter-nav {gap:3px 9px;}
  .foot-inner {grid-template-columns:1fr;}
  .foot-identity>span {font-size:28px;}
}
@media(prefers-reduced-motion:reduce) { .plate-image img {transition:none;} }
