:root { --ink:#11100e; --paper:#f2efe8; --paper-deep:#e5e0d6; --line:#c8c1b6; --wine:#8c1f37; --gold:#b59a67; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
img { display:block; width:100%; }
a { color:inherit; text-decoration:none; }
.article-header { position:relative; z-index:5; height:84px; padding:0 5vw; display:flex; align-items:center; gap:2.2rem; border-bottom:1px solid var(--line); background:rgba(242,239,232,.94); }
.article-header > a:not(.article-brand) { margin-left:auto; font-size:.62rem; letter-spacing:.13em; text-transform:uppercase; }
.article-header > a:not(.article-brand) + a { margin-left:0; }
.article-brand { display:flex; align-items:center; gap:.6rem; font-size:.68rem; letter-spacing:.16em; }
.article-brand b { font-size:1.25rem; letter-spacing:-.04em; }
.article-brand i { width:1px; height:22px; background:var(--ink); opacity:.4; }
.breadcrumbs { padding:1.2rem 5vw; display:flex; gap:.65rem; border-bottom:1px solid var(--line); font-size:.58rem; letter-spacing:.12em; text-transform:uppercase; color:#777168; }
.breadcrumbs a:hover { color:var(--wine); }
.article-hero { position:relative; margin:0; height:min(58vw,720px); overflow:hidden; background:var(--ink); }
.article-hero img { height:100%; object-fit:cover; }
.article-hero figcaption { position:absolute; left:5vw; bottom:2rem; padding:.65rem .85rem; background:rgba(17,16,14,.72); color:white; font-size:.58rem; letter-spacing:.13em; text-transform:uppercase; }
.article-hero-type { display:grid; place-items:center; min-height:500px; color:white; background:radial-gradient(circle at 72% 28%,#8f6f48 0,#4b3324 20%,#181513 63%); }
.article-hero-type span { font:400 clamp(5rem,16vw,13rem)/1 Georgia,serif; letter-spacing:-.07em; }
.article-hero-type p { position:absolute; bottom:2rem; left:5vw; font-size:.6rem; letter-spacing:.13em; text-transform:uppercase; }
.article-title { padding:6rem 8vw 4rem; }
.article-title > p,.index-intro > p,.journal-index-head > p { margin:0 0 1.7rem; font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; color:#6f6960; }
.article-title h1,.index-intro h1,.journal-index-head h1 { max-width:1100px; margin:0; font:400 clamp(3.4rem,7vw,8rem)/.91 Georgia,serif; letter-spacing:-.055em; }
.article-title > div,.index-intro > div,.journal-index-head > div { max-width:760px; margin:2.5rem 0 0 auto; font:400 clamp(1.2rem,2vw,1.7rem)/1.5 Georgia,serif; color:#5e5850; }
.article-body { max-width:820px; margin:0 auto; padding:0 2rem 4rem; }
.article-body section { margin-top:4rem; }
.article-body h2,.article-sources h2,.article-next h2 { margin:0 0 1.3rem; font:400 clamp(2rem,3.5vw,3.2rem)/1 Georgia,serif; letter-spacing:-.035em; }
.article-body p { font:400 1.08rem/1.78 Georgia,serif; color:#504b44; }
.article-note { margin-top:3rem; padding:1.5rem; border-left:3px solid var(--wine); background:var(--paper-deep); color:var(--ink)!important; }
.article-facts,.article-sources,.article-next { margin:3rem 8vw 0; }
.article-facts { padding:2.5rem; background:var(--ink); color:white; }
.article-facts > p,.article-next > p { font-size:.6rem; letter-spacing:.14em; text-transform:uppercase; opacity:.65; }
.article-facts dl { margin:2rem 0 0; display:grid; grid-template-columns:repeat(2,1fr); }
.article-facts dl > div { padding:1.2rem 0; border-top:1px solid #3e3a35; }
.article-facts dt { font-size:.58rem; letter-spacing:.12em; text-transform:uppercase; color:#999187; }
.article-facts dd { margin:.55rem 0 0; font:400 1.1rem/1.4 Georgia,serif; }
.article-sources { padding:3rem 0 5rem; border-top:1px solid var(--line); }
.article-sources ul { margin:2rem 0 0; padding:0; list-style:none; }
.article-sources li { border-top:1px solid var(--line); }
.article-sources li:last-child { border-bottom:1px solid var(--line); }
.article-sources li a { padding:1.1rem 0; display:flex; justify-content:space-between; font-size:.78rem; }
.source-note { max-width:760px; color:#777168; font-size:.72rem; line-height:1.6; }
.article-next { margin-bottom:6rem; padding:4rem; background:var(--wine); color:white; }
.article-next a { display:flex; justify-content:space-between; max-width:420px; margin-top:2.5rem; padding:1rem 0; border-bottom:1px solid currentColor; font-size:.65rem; letter-spacing:.12em; text-transform:uppercase; }
footer { padding:3.5rem 5vw; display:grid; grid-template-columns:1fr 1fr 1fr; gap:2rem; background:var(--ink); color:#fff; font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; }
footer span { text-align:center; color:#777168; }
footer a:last-child { text-align:right; }
.index-intro,.journal-index-head { padding:7rem 5vw 5rem; border-bottom:1px solid var(--line); }
.journal-index-grid,.model-index-grid { padding:0 5vw 8rem; display:grid; grid-template-columns:repeat(2,1fr); }
.journal-index-card,.model-index-card { min-width:0; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.journal-index-card:nth-child(even),.model-index-card:nth-child(even) { border-right:0; }
.journal-index-card a,.model-index-card a { height:100%; display:flex; flex-direction:column; }
.journal-index-visual,.model-index-card img { aspect-ratio:16/10; overflow:hidden; background:var(--ink); object-fit:cover; }
.journal-index-visual img { height:100%; object-fit:cover; transition:transform .7s ease; }
.journal-index-card a:hover img,.model-index-card a:hover img { transform:scale(1.025); }
.journal-index-card p,.journal-index-card h2,.journal-index-card > a > div:not(.journal-index-visual),.journal-index-card > a > span { margin-right:2rem; margin-left:2rem; }
.journal-index-card p { margin-top:2rem; font-size:.58rem; letter-spacing:.13em; text-transform:uppercase; color:#777168; }
.journal-index-card h2 { margin-top:1rem; margin-bottom:1.2rem; font:400 clamp(2rem,3.4vw,3.8rem)/.98 Georgia,serif; letter-spacing:-.04em; }
.journal-index-card > a > div:not(.journal-index-visual) { font:400 1rem/1.6 Georgia,serif; color:#666057; }
.journal-index-card > a > span { margin-top:auto; padding:2rem 0; font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; }
.journal-index-card.is-featured { grid-column:span 2; }
.journal-index-card.is-featured .journal-index-visual { aspect-ratio:2/1; }
.journal-mark { height:100%; display:grid; place-items:center; color:white; font:400 clamp(5rem,15vw,12rem)/1 Georgia,serif; }

.model-hero { position:relative; min-height:min(76vw,850px); overflow:hidden; background:var(--ink); color:white; }
.model-hero > img { position:absolute; inset:0; height:100%; object-fit:cover; }
.model-hero-shade { position:absolute; inset:0; background:linear-gradient(0deg,rgba(12,11,10,.94),rgba(12,11,10,.04) 70%); }
.model-hero-copy { position:absolute; z-index:1; right:5vw; bottom:5rem; left:5vw; }
.model-hero-copy > p { font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; }
.model-hero-copy h1 { margin:.8rem 0 1.5rem; font:400 clamp(4rem,10vw,10rem)/.82 Georgia,serif; letter-spacing:-.07em; }
.model-hero-copy > div { max-width:720px; margin-left:auto; font:400 clamp(1.2rem,2vw,1.7rem)/1.5 Georgia,serif; color:#ddd6cc; }
.model-stats { display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid var(--line); }
.model-stats > div { min-height:170px; padding:2.5rem 2rem; display:flex; flex-direction:column; justify-content:flex-end; border-right:1px solid var(--line); }
.model-stats > div:last-child { border-right:0; }
.model-stats strong { font:400 clamp(2rem,3.5vw,3.6rem)/1 Georgia,serif; }
.model-stats span { margin-top:.8rem; font-size:.58rem; letter-spacing:.11em; text-transform:uppercase; color:#736d64; }
.model-copy { padding:5rem 8vw; }
.model-copy-section { display:grid; grid-template-columns:1fr 4fr; gap:3rem; padding:4.5rem 0; border-top:1px solid var(--line); }
.model-copy-section > p { font-size:.62rem; color:#7c756c; }
.model-copy-section h2 { max-width:850px; margin:0 0 2rem; font:400 clamp(2.6rem,5vw,5.5rem)/.92 Georgia,serif; letter-spacing:-.05em; }
.model-copy-section div > p { max-width:800px; font:400 1.08rem/1.78 Georgia,serif; color:#514c45; }
.model-gallery { padding:0 5vw 8rem; display:grid; grid-template-columns:repeat(12,1fr); gap:1.2rem; }
.model-gallery-item { margin:0; min-width:0; }
.model-gallery-item img { height:100%; min-height:420px; object-fit:cover; }
.model-gallery-item figcaption { padding:.8rem 0; font-size:.6rem; letter-spacing:.08em; text-transform:uppercase; color:#777168; }
.model-gallery-item.item-1 { grid-column:span 7; }
.model-gallery-item.item-2 { grid-column:span 5; padding-top:10vw; }
.model-gallery-item.item-3 { grid-column:span 4; }
.model-gallery-item.item-4 { grid-column:span 4; }
.model-gallery-item.item-5 { grid-column:span 4; }
.model-gallery-item.item-3 img,.model-gallery-item.item-4 img,.model-gallery-item.item-5 img { min-height:360px; }
.model-fit { padding:7rem 8vw; display:grid; grid-template-columns:1fr 4fr; gap:3rem; background:var(--ink); color:white; }
.model-fit > p,.model-faq > p { font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:#8e887f; }
.model-fit h2,.model-faq h2 { max-width:850px; margin:0 0 2rem; font:400 clamp(3rem,6vw,6.5rem)/.9 Georgia,serif; letter-spacing:-.055em; }
.model-fit div > p { max-width:760px; font:400 1.2rem/1.65 Georgia,serif; color:#bdb6ac; }
.model-fit a { max-width:440px; margin-top:3rem; padding:1.1rem 0; display:flex; justify-content:space-between; border-bottom:1px solid #777168; font-size:.64rem; letter-spacing:.12em; text-transform:uppercase; }
.model-faq { padding:7rem 8vw; display:grid; grid-template-columns:1fr 4fr; gap:3rem; }
.model-faq details { border-top:1px solid var(--line); }
.model-faq details:last-child { border-bottom:1px solid var(--line); }
.model-faq summary { padding:1.5rem 0; display:flex; justify-content:space-between; gap:2rem; cursor:pointer; list-style:none; font:400 1.35rem/1.35 Georgia,serif; }
.model-faq summary::-webkit-details-marker { display:none; }
.model-faq details[open] summary span { transform:rotate(45deg); }
.model-faq summary span { transition:transform .2s; }
.model-faq details p { max-width:720px; margin:0 0 1.8rem; font:400 1rem/1.7 Georgia,serif; color:#5f5951; }
.model-neighbours { display:grid; grid-template-columns:1fr 1fr; margin:0 8vw 7rem; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.model-neighbours a { padding:1.6rem 0; display:flex; justify-content:space-between; font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; }
.model-neighbours a:first-child { padding-right:2rem; border-right:1px solid var(--line); }
.model-neighbours a:last-child { padding-left:2rem; }
.model-index-card a { overflow:hidden; background:var(--ink); color:white; }
.model-index-card img { transition:transform .8s ease; }
.model-index-card > a > span { min-height:310px; padding:2rem; display:flex; flex-direction:column; background:var(--paper); color:var(--ink); }
.model-index-card small { font-size:.58rem; letter-spacing:.13em; text-transform:uppercase; color:#777168; }
.model-index-card strong { margin:1rem 0; font:400 clamp(2.8rem,5vw,5.5rem)/.9 Georgia,serif; letter-spacing:-.055em; }
.model-index-card em { max-width:650px; font:400 1rem/1.55 Georgia,serif; color:#625c54; }
.model-index-card b { margin-top:auto; padding-top:2rem; font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; }
.model-index-card.is-featured { grid-column:span 2; }
.model-index-card.is-featured > a { display:grid; grid-template-columns:1.35fr 1fr; }
.model-index-card.is-featured img { height:100%; aspect-ratio:auto; }

@media (max-width:800px) {
  .article-header { height:70px; gap:1rem; }
  .article-header > a:not(.article-brand) { display:none; }
  .breadcrumbs { overflow:hidden; white-space:nowrap; }
  .article-title,.index-intro,.journal-index-head { padding:4rem 6vw 3rem; }
  .article-title > div,.index-intro > div,.journal-index-head > div { margin-left:0; }
  .article-hero { height:68vw; min-height:330px; }
  .article-facts,.article-sources,.article-next { margin-right:6vw; margin-left:6vw; }
  .article-facts dl { grid-template-columns:1fr; }
  .journal-index-grid,.model-index-grid { padding:0 0 5rem; grid-template-columns:1fr; }
  .journal-index-card,.model-index-card,.journal-index-card.is-featured,.model-index-card.is-featured { grid-column:auto; border-right:0; }
  .model-index-card.is-featured > a { display:flex; }
  .model-index-card.is-featured img { aspect-ratio:16/10; }
  .model-hero { min-height:680px; }
  .model-hero-copy { bottom:2rem; }
  .model-hero-copy h1 { font-size:clamp(4rem,19vw,7rem); }
  .model-hero-copy > div { margin-left:0; }
  .model-stats { grid-template-columns:1fr 1fr; }
  .model-stats > div:nth-child(2) { border-right:0; }
  .model-stats > div { min-height:140px; border-bottom:1px solid var(--line); }
  .model-copy { padding:3rem 6vw; }
  .model-copy-section,.model-fit,.model-faq { grid-template-columns:1fr; gap:1.5rem; padding:3.5rem 0; }
  .model-fit,.model-faq { padding-right:6vw; padding-left:6vw; }
  .model-gallery { padding-right:0; padding-left:0; grid-template-columns:1fr; gap:0; }
  .model-gallery-item.item-1,.model-gallery-item.item-2,.model-gallery-item.item-3,.model-gallery-item.item-4,.model-gallery-item.item-5 { grid-column:auto; padding-top:0; }
  .model-gallery-item img,.model-gallery-item.item-3 img,.model-gallery-item.item-4 img,.model-gallery-item.item-5 img { min-height:0; height:auto; aspect-ratio:4/3; object-fit:cover; }
  .model-gallery-item figcaption { padding:1rem 6vw 2rem; }
  .model-neighbours { margin-right:6vw; margin-left:6vw; grid-template-columns:1fr; }
  .model-neighbours a:first-child { padding-right:0; border-right:0; border-bottom:1px solid var(--line); }
  .model-neighbours a:last-child { padding-left:0; }
  footer { grid-template-columns:1fr; }
  footer span,footer a:last-child { text-align:left; }
}
