:root {
  --paper: #eee9df;
  --ink: #1b1b18;
  --forest: #23362e;
  --sage: #8b9b8f;
  --rust: #823c2d;
  --line: rgba(27, 27, 24, .22);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Arial, Helvetica, sans-serif; font-size: 17px; font-weight: 400; line-height: 1.65; -webkit-font-smoothing: antialiased; }
.editable-page-content { display: flow-root; width: 100%; min-height: 1px; font-size: 0; line-height: 0; }
.editable-page-content > * { font-size: 17px; line-height: 1.65; }
a { color: inherit; text-decoration: none; }
img { display: block; width: 100%; }
::selection { background: var(--rust); color: #fff; }

.site-header {
  height: 82px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
  padding: 0 4vw; border-bottom: 1px solid var(--line); position: absolute; z-index: 10;
  width: 100%; color: #f7f2e8;
}
.monogram { font-family: Georgia, serif; font-size: 30px; font-style: italic; letter-spacing: -3px; width: max-content; }
.site-header nav { display: flex; gap: 32px; font-size: 12px; text-transform: uppercase; letter-spacing: .13em; }
.site-header nav a, .header-cta { transition: opacity .25s ease; }
.site-header nav a:hover, .header-cta:hover { opacity: .6; }
.header-cta { justify-self: end; border-bottom: 1px solid currentColor; padding-bottom: 5px; font-size: 12px; text-transform: uppercase; letter-spacing: .13em; }
.header-cta span { margin-left: 18px; }

.hero { min-height: 100vh; background: var(--forest); color: #f6f1e7; display: grid; grid-template-columns: 48% 52%; position: relative; overflow: hidden; }
.hero-copy { position: relative; z-index: 3; grid-column: 2; padding: 160px 7vw 80px 3vw; display: flex; flex-direction: column; justify-content: center; }
.eyebrow { text-transform: uppercase; letter-spacing: .17em; font-size: 11px; line-height: 1.5; font-weight: 600; }
.hero h1 { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; font-size: clamp(55px, 5.7vw, 94px); line-height: .92; letter-spacing: -.055em; max-width: 780px; margin: 40px 0 64px; }
.hero-bottom { margin-left: 10%; max-width: 510px; }
.hero-bottom > p { font-family: Georgia, serif; font-size: 19px; line-height: 1.5; margin-bottom: 32px; }
.text-link { display: flex; justify-content: space-between; gap: 30px; align-items: center; padding: 14px 0; border-bottom: 1px solid currentColor; text-transform: uppercase; letter-spacing: .12em; font-size: 11px; width: 100%; max-width: 390px; }
.text-link span { font-size: 18px; transition: transform .25s; }
.text-link:hover span { transform: translateX(6px); }
.hero-portrait { position: relative; grid-column: 1; grid-row: 1; min-height: 100vh; background: transparent; overflow: visible; }
.hero-portrait img { position: absolute; z-index: 1; left: 2.5vw; bottom: -1px; width: min(43vw, 660px); height: auto; max-height: 94vh; object-fit: contain; object-position: bottom center; filter: drop-shadow(22px 28px 42px rgba(8,18,13,.42)); transform: none; transition: transform 1.2s ease; }
.hero-portrait:hover img { transform: translateY(-5px) scale(1.012); }
.hero-portrait::after { content: ""; position: absolute; z-index: 0; width: 40vw; height: 40vw; left: -5vw; top: 16%; border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,.075), rgba(255,255,255,0) 68%); }
.image-label { position: absolute; z-index: 2; text-transform: uppercase; font-size: 9px; letter-spacing: .2em; opacity: 0; transition: opacity .5s, transform .5s; transform: translateX(-10px); }
.hero-portrait:hover .image-label { opacity: .8; transform: translateX(0); }
.image-label::before { content: ""; width: 58px; height: 1px; display: inline-block; background: currentColor; vertical-align: middle; margin-right: 12px; }
.image-label.top { top: 28%; left: 8%; }.image-label.middle { top: 49%; right: 8%; }.image-label.bottom { top: 69%; left: 12%; }
.photo-note { position: absolute; z-index: 2; left: 8%; bottom: 4%; font-size: 9px; text-transform: uppercase; letter-spacing: .15em; line-height: 1.8; }
.hero-index { position: absolute; bottom: 34px; left: 4vw; font: 10px monospace; letter-spacing: .15em; }

.section-pad { padding: 120px 7vw; }
.section-label { text-transform: uppercase; font: 10px monospace; letter-spacing: .15em; display: flex; gap: 20px; align-items: center; }
.section-label span { color: var(--rust); }
.section-label.light { color: #e5e1d7; }.section-label.light span { color: #c98471; }
.manifesto { min-height: 88vh; }
.manifesto-content { display: grid; grid-template-columns: 1.25fr 1fr; gap: 10vw; margin-top: 100px; align-items: end; }
.manifesto h2, .section-heading h2, .writing h2, .about h2, .contact h2 { font-family: Georgia, serif; font-weight: 400; letter-spacing: -.045em; }
.manifesto h2 { font-size: clamp(64px, 8vw, 132px); line-height: .84; margin: 0; }
.manifesto-text { max-width: 520px; font-size: 15px; line-height: 1.75; border-left: 1px solid var(--line); padding-left: 4vw; }
.manifesto-text .lead { font-family: Georgia, serif; font-size: 27px; line-height: 1.25; }

.services { background: var(--ink); color: #eee9df; }
.section-heading { display: grid; grid-template-columns: 1fr 2fr; align-items: start; margin-bottom: 90px; }
.section-heading h2 { font-size: clamp(45px, 5.5vw, 84px); line-height: 1; margin: 0; }
.service-list { border-top: 1px solid rgba(255,255,255,.22); }
.service-row { display: grid; grid-template-columns: 70px 1.2fr 1fr 40px; gap: 25px; align-items: center; min-height: 145px; border-bottom: 1px solid rgba(255,255,255,.22); transition: padding .3s, background .3s; }
.service-row:hover { padding: 0 20px; background: rgba(255,255,255,.035); }
.service-number { font: 10px monospace; color: #c98471; }
.service-row h3 { font-family: Georgia, serif; font-size: 28px; font-weight: 400; margin: 0; }
.service-row p { font-size: 13px; line-height: 1.6; opacity: .7; max-width: 430px; }
.service-mark { font-size: 24px; color: #c98471; }

.marta { background: #d8d4c9; }
.marta-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9vw; margin-top: 80px; align-items: center; }
.marta-visual { aspect-ratio: 1 / .88; background: var(--forest); position: relative; display: grid; place-items: center; overflow: hidden; }
.archive-card { width: 50%; aspect-ratio: .72; background: #e9e3d7; padding: 28px; position: relative; z-index: 2; box-shadow: 20px 25px 70px rgba(0,0,0,.3); transform: rotate(-4deg); transition: transform .55s ease; }
.marta-visual:hover .archive-card { transform: rotate(0) scale(1.03); }
.archive-card > span { font: 9px monospace; letter-spacing: .13em; }
.archive-card > p { font-family: Georgia, serif; font-size: clamp(30px, 3.5vw, 54px); line-height: .9; margin-top: 48%; }
.archive-card small { position: absolute; bottom: 25px; left: 28px; text-transform: uppercase; letter-spacing: .1em; font-size: 7px; }
.material-orbit { position: absolute; inset: 10%; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; animation: orbit 18s linear infinite; }
.material-orbit span { position: absolute; color: #fff; font: 8px monospace; letter-spacing: .15em; text-transform: uppercase; }.material-orbit span:nth-child(1){top:-5px;left:45%}.material-orbit span:nth-child(2){bottom:7%;right:-20px}.material-orbit span:nth-child(3){top:45%;left:-15px}
@keyframes orbit { to { transform: rotate(360deg); } }
.marta-copy h2 { font-family: Georgia, serif; font-size: clamp(80px, 10vw, 150px); line-height: .72; letter-spacing: -.07em; font-weight: 400; margin: 60px 0; }
.marta-copy > p:not(.eyebrow) { line-height: 1.8; max-width: 500px; }
.dark-link { margin-top: 40px; }

.projects { padding-bottom: 0; }
.section-heading.compact { margin-bottom: 60px; }
.project-image { height: 60vh; min-height: 500px; position: relative; overflow: hidden; }
.project-image img { height: 100%; object-fit: cover; filter: saturate(.65); transition: transform 1s; }.project-image:hover img{transform:scale(1.025)}
.project-image p { position: absolute; bottom: 0; left: 0; background: var(--paper); margin: 0; padding: 12px 20px; font: 9px monospace; text-transform: uppercase; }
.project-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.project-card { min-height: 370px; padding: 35px 28px; border-left: 1px solid var(--line); position: relative; display: flex; flex-direction: column; transition: color .35s, background .35s; }
.project-card:last-child { border-right: 1px solid var(--line); }
.project-card:hover { background: var(--rust); color: #fff; }
.project-index { font: 10px monospace; margin-bottom: 70px; opacity: .7; }
.project-card h3 { font-family: Georgia, serif; font-size: 30px; font-weight: 400; margin: 15px 0; }
.project-card > p:last-of-type { font-size: 13px; line-height: 1.6; opacity: .75; max-width: 340px; }
.project-card > span:last-child { position: absolute; right: 28px; bottom: 28px; font-size: 20px; }

.writing { background: #c7c9bc; }
.writing-intro { display: grid; grid-template-columns: 1fr 2fr; gap: 4vw; }
.writing-intro h2 { font-size: clamp(50px, 7vw, 105px); line-height: .93; margin: 0 0 80px; }
.writing blockquote { grid-column: 2; border-left: 1px solid var(--rust); margin: 0 0 80px; padding-left: 30px; font-family: Georgia, serif; font-size: 24px; max-width: 690px; }
.articles-list { border-top: 1px solid var(--line); }
.article-row { display: grid; grid-template-columns: 80px 1fr 220px 30px; gap: 20px; align-items: center; padding: 26px 0; border-bottom: 1px solid var(--line); }
.article-row > span:first-child { font: 10px monospace; color: var(--rust); }
.article-row h3 { font-family: Georgia, serif; font-size: 23px; font-weight: 400; margin: 0; }
.article-row p { font-size: 11px; text-transform: uppercase; letter-spacing: .11em; }
.article-row > span:last-child { font-size: 18px; transition: transform .25s; }.article-row:hover > span:last-child{transform:translate(5px,-5px)}
.full-archive { margin-top: 80px; background: var(--paper); padding: 50px; display: grid; grid-template-columns: 1.2fr 1fr auto; gap: 50px; align-items: end; }
.full-archive h3 { font-family: Georgia, serif; font-size: 34px; font-weight: 400; margin: 16px 0 0; max-width: 500px; }
.full-archive > p { font-size: 13px; line-height: 1.7; opacity: .75; }
.full-archive > a { white-space: nowrap; border-bottom: 1px solid; padding-bottom: 10px; text-transform: uppercase; letter-spacing: .12em; font-size: 10px; }

.about { background: var(--forest); color: #eee9df; display: grid; grid-template-columns: .9fr 1.1fr; gap: 8vw; }
.about-photo { position: relative; align-self: stretch; min-height: 730px; }.about-photo img{height:100%;object-fit:cover;filter:saturate(.5) brightness(.8)}
.about-photo span { position: absolute; bottom: 0; left: 0; background: var(--forest); padding: 14px 18px; text-transform: uppercase; letter-spacing: .14em; font-size: 8px; }
.about-copy h2 { font-size: clamp(50px, 6vw, 88px); line-height: .95; margin: 80px 0 50px; }
.about-copy > p { max-width: 600px; line-height: 1.8; opacity: .8; }
.timeline { margin-top: 70px; border-top: 1px solid rgba(255,255,255,.25); }
.timeline div { display: grid; grid-template-columns: 70px 1fr; padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.25); }
.timeline span { font: 9px monospace; color: #c98471; }.timeline p{margin:0;font-size:12px;line-height:1.5}

.contact { background: var(--ink); color: #eee9df; padding-bottom: 50px; }
.contact-main { margin: 90px 0 150px; display: grid; grid-template-columns: 1.4fr .6fr; gap: 5vw; }
.contact h2 { font-size: clamp(60px, 8.5vw, 130px); line-height: .86; margin: 0; }
.contact-main > p { font-family: Georgia, serif; font-size: 20px; line-height: 1.5; align-self: center; }
.contact-button { grid-column: 2; margin-top: 20px; display: flex; justify-content: space-between; align-items: center; background: var(--rust); padding: 22px 25px; text-transform: uppercase; letter-spacing: .13em; font-size: 10px; transition: background .3s; }.contact-button:hover{background:#a5523e}.contact-button span{font-size:20px}
footer { border-top: 1px solid rgba(255,255,255,.22); padding-top: 35px; display: grid; grid-template-columns: 100px 1fr 1fr auto; align-items: end; gap: 30px; }
.footer-mark { color: #c98471; }.contact footer p{font-size:10px;text-transform:uppercase;line-height:1.7;letter-spacing:.1em;margin:0;opacity:.7}
.footer-links { display:flex;gap:30px;justify-content:center;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.copyright{text-align:right}

@media (max-width: 900px) {
  .site-header { grid-template-columns: 1fr 1fr; }.site-header nav{display:none}
  .hero { grid-template-columns: 1fr; }.hero-copy{grid-column:1;min-height:82vh;padding-top:140px}.hero-portrait{grid-column:1;grid-row:auto;min-height:70vh;overflow:hidden}.hero-portrait img{right:auto;left:50%;width:auto;max-width:94vw;max-height:72vh;transform:translateX(-50%)}.hero-portrait:hover img{transform:translateX(-50%)}.hero-index{display:none}
  .manifesto-content,.marta-grid,.about { grid-template-columns:1fr }.manifesto-content{gap:60px}.manifesto-text{margin-left:10vw}
  .section-heading,.writing-intro { grid-template-columns:1fr;gap:45px}.section-heading h2{margin-top:30px}
  .service-row { grid-template-columns:45px 1fr 25px;padding:25px 0}.service-row p{grid-column:2}.service-mark{grid-column:3;grid-row:1}
  .project-grid{grid-template-columns:1fr}.project-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:300px}
  .writing blockquote{grid-column:1}.article-row{grid-template-columns:60px 1fr 25px}.article-row p{grid-column:2}.article-row>span:last-child{grid-column:3;grid-row:1}
  .full-archive{grid-template-columns:1fr;gap:25px}.full-archive>a{width:max-content}
  .about-photo{min-height:520px}.contact-main{grid-template-columns:1fr}.contact-button{grid-column:1;width:100%;max-width:420px}
  footer{grid-template-columns:1fr 1fr}.footer-links{justify-content:flex-start}.copyright{text-align:left}
}

@media (max-width: 560px) {
  .section-pad{padding:85px 24px}.site-header{padding:0 24px}.hero-copy{padding:130px 24px 70px}.hero h1{font-size:53px}.hero-bottom{margin-left:0}
  .manifesto h2{font-size:60px}.manifesto-content{margin-top:60px}.manifesto-text{margin-left:0;padding-left:24px}
  .marta-visual{aspect-ratio:1}.archive-card{width:62%}.marta-copy h2{font-size:84px}
  .project-image{height:45vh;min-height:360px}.writing-intro h2{font-size:50px}.full-archive{padding:30px}.full-archive h3{font-size:28px}
  .article-row h3{font-size:19px}.about-copy h2{font-size:50px}.contact h2{font-size:58px}
  footer{grid-template-columns:1fr}.footer-links{flex-direction:column;gap:12px}
}

@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }

/* Internal archive pages */
.inner-page { background: var(--paper); min-height: 100vh; }
.inner-header { height: 82px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 4vw; border-bottom: 1px solid rgba(255,255,255,.22); position: absolute; z-index: 10; width: 100%; color: #f7f2e8; }
.inner-header nav { display: flex; gap: 30px; text-transform: uppercase; letter-spacing: .13em; font-size: 10px; }
.inner-header nav a { transition: opacity .25s; }.inner-header nav a:hover { opacity: .55; }
.inner-hero { min-height: 72vh; padding: 160px 7vw 80px; background: var(--forest); color: #f4efe5; position: relative; display: flex; flex-direction: column; justify-content: center; }
.inner-hero::after { content: ""; width: 34vw; height: 34vw; max-width: 540px; max-height: 540px; position: absolute; right: 7vw; top: 50%; transform: translateY(-45%); border: 1px solid rgba(255,255,255,.13); border-radius: 50%; box-shadow: 0 0 0 5vw rgba(255,255,255,.018), 0 0 0 10vw rgba(255,255,255,.012); }
.inner-hero h1 { position: relative; z-index: 2; font-family: Georgia, serif; font-size: clamp(66px, 9vw, 146px); font-weight: 400; letter-spacing: -.06em; line-height: .82; max-width: 1050px; margin: 70px 0 25px; }
.inner-intro { position: relative; z-index: 2; font-family: Georgia, serif; font-size: 20px; line-height: 1.5; max-width: 620px; margin-top: 35px; }
.inner-scroll { position: absolute; bottom: 35px; right: 7vw; z-index: 2; font: 9px monospace; text-transform: uppercase; letter-spacing: .15em; }
.legacy-section { display: grid; grid-template-columns: 260px minmax(0, 900px); gap: 8vw; padding: 110px 7vw 150px; align-items: start; }
.legacy-section aside { position: sticky; top: 40px; border-top: 1px solid var(--line); padding-top: 22px; }
.legacy-section aside > p:nth-child(2) { font-family: Georgia, serif; font-size: 23px; line-height: 1.35; margin: 35px 0 60px; }
.legacy-section aside > a { text-transform: uppercase; letter-spacing: .13em; font-size: 9px; border-bottom: 1px solid; padding-bottom: 7px; }
.legacy-content { font-family: Arial, Helvetica, sans-serif; font-size: 17px; font-weight: 400; line-height: 1.75; min-width: 0; }
.legacy-content h6 { font: inherit; font-size: 16px; font-weight: 400; line-height: 1.75; margin: 0 0 24px; }
.legacy-content strong { font-weight: 600; }
.legacy-content > p:first-child, .legacy-content > div:first-child { margin-top: 0; }
.legacy-content p { margin: 0 0 26px; }
.legacy-content h2, .legacy-content h3 { font-family: Georgia, serif; font-weight: 400; letter-spacing: -.025em; line-height: 1.1; margin: 70px 0 25px; }
.legacy-content h2 { font-size: 48px; }.legacy-content h3 { font-size: 32px; }
.legacy-content a { border-bottom: 1px solid var(--rust); color: #532a21; transition: color .2s, background .2s; overflow-wrap: anywhere; }
.legacy-content a:hover { color: #fff; background: var(--rust); }
.legacy-content img { max-width: 100%; height: auto; margin: 35px 0; filter: saturate(.72); }
.legacy-content figure { margin: 50px 0; }.legacy-content figcaption { font: 9px monospace; text-transform: uppercase; letter-spacing: .1em; margin-top: 10px; }
.legacy-content ul, .legacy-content ol { padding-left: 20px; margin-bottom: 35px; }
.legacy-content blockquote { font-family: Georgia, serif; font-size: 25px; line-height: 1.45; border-left: 2px solid var(--rust); padding-left: 30px; margin: 60px 0; }
.legacy-content iframe { max-width: 100%; }
.inner-footer { background: var(--ink); color: #eee9df; display: grid; grid-template-columns: 90px 1fr auto; align-items: end; gap: 40px; padding: 55px 7vw; border-top: 1px solid rgba(255,255,255,.2); }
.inner-footer p { margin: 0; font-size: 9px; text-transform: uppercase; letter-spacing: .12em; line-height: 1.7; opacity: .7; }
.inner-footer > a { text-transform: uppercase; letter-spacing: .12em; font-size: 10px; border-bottom: 1px solid; padding-bottom: 8px; }

.articles-page .legacy-section { grid-template-columns: 220px minmax(0, 1fr); }
.articles-page .legacy-content { columns: 2; column-gap: 70px; }
.articles-page .legacy-content p { break-inside: avoid; margin: 0 0 16px; padding: 0 0 16px; border-bottom: 1px solid var(--line); font-size: 12px; line-height: 1.5; }
.articles-page .legacy-content a { border-bottom: 0; }
.articles-page .legacy-content br { display: none; }
.articles-page .legacy-content ul { list-style: none; padding: 0; margin: 0; }
.articles-page .legacy-content li { break-inside: avoid; margin: 0; padding: 0; }
.articles-page .legacy-content h6,
.articles-page .legacy-content h6 * { font-family: Arial, Helvetica, sans-serif !important; font-size: 16px !important; font-weight: 400 !important; font-style: normal !important; line-height: 1.65 !important; letter-spacing: 0 !important; text-transform: none !important; }
.articles-page .legacy-content h6 { margin: 0; padding: 18px 0; border-bottom: 1px solid var(--line); }
.articles-page .legacy-content h6 a { color: var(--ink); background: transparent; }
.articles-page .legacy-content h6 a:hover { color: var(--rust); background: transparent; }

@media (max-width: 900px) {
  .inner-header { grid-template-columns: 1fr 1fr; }.inner-header nav { display: none; }
  .legacy-section, .articles-page .legacy-section { grid-template-columns: 1fr; gap: 70px; }
  .legacy-section aside { position: static; display: grid; grid-template-columns: 1fr 1fr; }
  .legacy-section aside > p:nth-child(2) { margin: 25px 0; }.legacy-section aside > a { align-self: end; justify-self: end; width: max-content; }
  .articles-page .legacy-content { columns: 1; }
}

@media (max-width: 560px) {
  .inner-header { padding: 0 24px; }.inner-hero { min-height: 65vh; padding: 140px 24px 70px; }
  .inner-hero h1 { font-size: 58px; }.inner-hero::after { width: 70vw; height: 70vw; right: -20vw; }
  .inner-scroll { right: 24px; }.legacy-section { padding: 75px 24px 100px; }
  .legacy-content h2 { font-size: 38px; }.legacy-content h3 { font-size: 28px; }
  .legacy-section aside { grid-template-columns: 1fr; }.legacy-section aside > a { justify-self: start; }
  .inner-footer { grid-template-columns: 1fr; padding: 50px 24px; }.inner-footer > a { width: max-content; }
}

/* Selected projects */
.portfolio-page { background: #eee9df; }
.portfolio-hero { min-height: 92vh; padding: 165px 7vw 80px; background: #23362e; color: #f3eee4; display: flex; flex-direction: column; justify-content: space-between; }
.portfolio-kicker { display: flex; gap: 20px; align-items: center; font: 600 11px/1.4 Arial,sans-serif; text-transform: uppercase; letter-spacing: .17em; }
.portfolio-kicker span { color: #cf8a77; }
.portfolio-hero h1 { margin: 70px 0; font: 400 clamp(76px,10vw,158px)/.78 Georgia,serif; letter-spacing: -.07em; }
.portfolio-hero h1 em { color: #cf8a77; font-weight: 400; }
.portfolio-hero-bottom { display: grid; grid-template-columns: minmax(0,680px) auto; justify-content: space-between; align-items: end; gap: 50px; border-top: 1px solid rgba(255,255,255,.24); padding-top: 28px; }
.portfolio-hero-bottom p { margin: 0; font: 400 22px/1.5 Georgia,serif; }
.portfolio-count { font: 600 10px/1.7 Arial,sans-serif; text-transform: uppercase; letter-spacing: .15em; opacity: .75; text-align: right; }
.portfolio-featured { display: grid; grid-template-columns: 1.08fr .92fr; min-height: 82vh; background: #d9d4c9; }
.portfolio-featured figure { margin: 0; min-height: 650px; overflow: hidden; }
.portfolio-featured figure img { height: 100%; object-fit: cover; filter: saturate(.65) contrast(.95); transition: transform .8s ease; }
.portfolio-featured:hover figure img { transform: scale(1.025); }
.portfolio-featured-copy { padding: 90px 7vw 80px 6vw; display: flex; flex-direction: column; justify-content: center; }
.portfolio-meta { display: flex; justify-content: space-between; gap: 25px; padding-bottom: 18px; border-bottom: 1px solid rgba(27,27,24,.24); font: 600 10px/1.4 Arial,sans-serif; text-transform: uppercase; letter-spacing: .12em; }
.portfolio-featured h2 { margin: 70px 0 40px; font: 400 clamp(55px,6vw,96px)/.83 Georgia,serif; letter-spacing: -.055em; }
.portfolio-featured-copy > p { max-width: 580px; font-size: 17px; line-height: 1.75; }
.portfolio-featured-copy > a { display: flex; justify-content: space-between; margin-top: 40px; padding: 16px 0; border-bottom: 1px solid; font: 600 11px/1.4 Arial,sans-serif; text-transform: uppercase; letter-spacing: .14em; }
.portfolio-index { padding: 120px 7vw 150px; }
.portfolio-index-heading { display: grid; grid-template-columns: 1fr 2fr; gap: 7vw; margin-bottom: 90px; }
.portfolio-index-heading h2 { margin: 0; max-width: 850px; font: 400 clamp(48px,6vw,86px)/.98 Georgia,serif; letter-spacing: -.045em; }
.portfolio-row { display: grid; grid-template-columns: 60px minmax(260px,1.1fr) 1fr 55px; gap: 3vw; align-items: center; min-height: 205px; border-top: 1px solid rgba(27,27,24,.28); transition: padding .3s,background .3s; }
.portfolio-row:last-of-type { border-bottom: 1px solid rgba(27,27,24,.28); }
.portfolio-row:hover { padding: 0 18px; background: rgba(255,255,255,.25); }
.portfolio-number,.portfolio-year { font: 600 10px/1.4 Arial,sans-serif; letter-spacing: .13em; color: #823c2d; }
.portfolio-tag { margin: 0 0 14px; font: 600 10px/1.4 Arial,sans-serif; text-transform: uppercase; letter-spacing: .13em; color: #823c2d; }
.portfolio-row h3 { margin: 0; font: 400 clamp(30px,3.1vw,49px)/.95 Georgia,serif; letter-spacing: -.035em; }
.portfolio-row > p { max-width: 520px; font-size: 15px; font-weight: 400; line-height: 1.7; }
.portfolio-row > a { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid rgba(27,27,24,.35); border-radius: 50%; font-size: 19px; transition: background .25s,color .25s; }
.portfolio-row > a:hover { background: #823c2d; color: white; }
.portfolio-cta { padding: 130px 7vw; background: #1b1b18; color: #eee9df; }
.portfolio-cta > p { font: 600 11px/1.4 Arial,sans-serif; text-transform: uppercase; letter-spacing: .17em; color: #cf8a77; }
.portfolio-cta h2 { max-width: 1100px; margin: 55px 0 75px; font: 400 clamp(55px,7vw,108px)/.92 Georgia,serif; letter-spacing: -.05em; }
.portfolio-cta a { display: flex; justify-content: space-between; max-width: 470px; padding: 17px 0; border-bottom: 1px solid; font: 600 11px/1.4 Arial,sans-serif; text-transform: uppercase; letter-spacing: .14em; }
@media(max-width:900px){.portfolio-featured{grid-template-columns:1fr}.portfolio-featured figure{min-height:60vh}.portfolio-index-heading{grid-template-columns:1fr}.portfolio-row{grid-template-columns:45px 1fr 45px;padding:35px 0}.portfolio-row>p{grid-column:2}.portfolio-row>a,.portfolio-year{grid-column:3;grid-row:1}.portfolio-hero-bottom{grid-template-columns:1fr}.portfolio-count{text-align:left}}
@media(max-width:560px){body{font-size:16px}.portfolio-hero{min-height:82vh;padding:140px 24px 60px}.portfolio-hero h1{font-size:66px}.portfolio-hero-bottom p{font-size:19px}.portfolio-featured-copy{padding:75px 24px}.portfolio-featured h2{font-size:54px}.portfolio-index{padding:85px 24px 100px}.portfolio-row{grid-template-columns:35px 1fr}.portfolio-row>p{grid-column:2}.portfolio-row>a,.portfolio-year{display:none}.portfolio-cta{padding:90px 24px}.portfolio-cta h2{font-size:52px}}

/* Homepage grid correction: prevent copy from collapsing into narrow right columns */
.services .section-heading,
.projects .section-heading,
.writing-intro { grid-template-columns: minmax(0, 1fr) !important; gap: 42px; }
.writing-intro .section-label { margin-bottom: 42px; }
.writing-intro h2 { max-width: 920px; margin-bottom: 58px; }
.writing blockquote { grid-column: 1; width: min(690px, 82%); margin: 0 0 80px 18%; }
.full-archive { grid-template-columns: minmax(0, 1fr); align-items: start; gap: 28px; }
.full-archive > p { max-width: 680px; }
.full-archive > a { width: max-content; max-width: 100%; }
.services .section-heading h2,
.projects .section-heading h2,
.writing-intro h2 { max-width: 940px; }
.projects.section-pad { padding-top: 78px; }
.projects .section-heading.compact { display: block; margin-bottom: 54px; padding-top: 20px; border-top: 1px solid var(--line); }
.projects .section-heading.compact .section-label { width: auto; margin-bottom: 30px; }
.projects .section-heading.compact h2 { width: 100%; max-width: 760px; margin: 0; font-size: clamp(44px, 5vw, 72px); line-height: .96; }
.service-row { grid-template-columns: 70px minmax(0, 1fr) 40px; grid-template-areas: "number title mark" ". description ."; column-gap: 28px; row-gap: 16px; padding: 34px 0; min-height: 0; align-items: start; }
.service-number { grid-area: number; padding-top: 9px; }
.service-row h3 { grid-area: title; font-size: clamp(28px,3vw,43px); line-height: 1.05; max-width: 760px; }
.service-row p { grid-area: description; max-width: 720px; margin: 0; font-size: 16px; line-height: 1.7; opacity: .78; }
.service-mark { grid-area: mark; justify-self: end; }
.service-row:hover { padding: 34px 20px; }
.project-card > p:last-of-type { font-size: 15px; line-height: 1.7; }
.contact-main { grid-template-columns: minmax(0, 1fr); gap: 45px; max-width: 1050px; }
.contact-main > p { max-width: 680px; font-size: 22px; }
.contact-button { grid-column: 1; }
@media(max-width:700px){.service-row{grid-template-columns:36px minmax(0,1fr);grid-template-areas:"number title" ". description";padding:30px 0}.service-mark{display:none}.service-row:hover{padding:30px 0}.service-row p{font-size:15px}}
@media(max-width:700px){.projects.section-pad{padding-top:60px}.projects .section-heading.compact{margin-bottom:42px;padding-top:18px}.projects .section-heading.compact .section-label{margin-bottom:24px}.projects .section-heading.compact h2{font-size:46px}}
@media(max-width:700px){.writing blockquote{width:100%;margin-left:0}.article-row{grid-template-columns:55px minmax(0,1fr) 24px}.article-row p{grid-column:2}.article-row>span:last-child{grid-column:3;grid-row:1}.full-archive{padding:30px}}

/* Archivio Samartino — homepage feature */
.samartino-feature { background: #8d4b38; color: #f3ede3; overflow: hidden; }
.samartino-feature-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 7vw; margin-top: 75px; align-items: center; }
.samartino-feature-copy h2 { font-family: Georgia, serif; font-size: clamp(76px, 9vw, 138px); font-weight: 400; line-height: .72; letter-spacing: -.065em; margin: 55px 0; }
.samartino-feature-copy > p:not(.eyebrow) { max-width: 520px; line-height: 1.75; opacity: .88; }
.samartino-feature-copy .samartino-lead { font-family: Georgia, serif; font-size: 23px; line-height: 1.35; opacity: 1; }
.samartino-link { margin-top: 42px; }
.samartino-feature-images { min-height: 720px; position: relative; }
.samartino-feature-images figure { margin: 0; position: absolute; background: #dfd5c5; padding: 10px 10px 28px; box-shadow: 0 25px 65px rgba(53,22,14,.32); transition: transform .5s ease; }
.samartino-feature-images img { height: 100%; object-fit: cover; filter: saturate(.76); }
.samartino-feature-images figcaption { color: var(--ink); font: 8px monospace; text-transform: uppercase; letter-spacing: .1em; padding-top: 10px; }
.samartino-work-one { width: 48%; height: 78%; left: 7%; top: 6%; transform: rotate(-3deg); z-index: 2; }
.samartino-work-two { width: 47%; height: 63%; right: 3%; bottom: 3%; transform: rotate(4deg); }
.samartino-feature-images:hover .samartino-work-one { transform: rotate(-1deg) translateY(-8px); }
.samartino-feature-images:hover .samartino-work-two { transform: rotate(1deg) translateY(5px); }
.samartino-years { position: absolute; right: -15px; top: 9%; writing-mode: vertical-rl; font-family: Georgia, serif; font-size: 18px; letter-spacing: .15em; }

/* Archivio Samartino — project page */
.samartino-page { background: #ece5d8; color: var(--ink); }
.samartino-hero { min-height: 100vh; display: grid; grid-template-columns: 58% 42%; background: #2c2823; color: #f2eadf; }
.samartino-hero-copy { padding: 170px 4vw 80px 7vw; display: flex; flex-direction: column; justify-content: center; }
.samartino-hero-copy h1 { font-family: Georgia, serif; font-size: clamp(88px, 11vw, 176px); line-height: .72; letter-spacing: -.075em; font-weight: 400; margin: 80px 0 60px; }
.samartino-hero-copy > p:last-child { font-family: Georgia, serif; font-size: 23px; max-width: 430px; line-height: 1.4; }
.samartino-hero-image { position: relative; overflow: hidden; }
.samartino-hero-image img { height: 100%; object-fit: cover; object-position: 82% center; filter: grayscale(.9) sepia(.18) contrast(1.05); }
.samartino-hero-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(44,40,35,.3), transparent 35%), linear-gradient(0deg, rgba(44,40,35,.55), transparent 30%); }
.samartino-hero-image span { position: absolute; z-index: 2; left: 8%; bottom: 5%; font: 9px monospace; text-transform: uppercase; letter-spacing: .14em; line-height: 1.8; }
.samartino-statement { display: grid; grid-template-columns: .7fr 1.3fr; gap: 8vw; }
.samartino-statement h2, .samartino-gallery h2, .samartino-timeline h2, .samartino-exhibitions h2, .samartino-contact h2 { font-family: Georgia, serif; font-weight: 400; letter-spacing: -.045em; }
.samartino-statement h2 { font-size: clamp(56px, 7vw, 105px); line-height: .9; margin: 0 0 65px; }
.samartino-statement p { max-width: 720px; line-height: 1.8; }
.samartino-statement .samartino-statement-lead { font-family: Georgia, serif; font-size: 25px; line-height: 1.45; }
.samartino-practices { background: #2c2823; color: #f1e9dd; }
.samartino-practice-grid { display: grid; grid-template-columns: 1fr 1fr; margin-top: 80px; border-top: 1px solid rgba(255,255,255,.2); }
.samartino-practice-grid article { min-height: 330px; padding: 35px; border-right: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); }
.samartino-practice-grid article:nth-child(even) { border-right: 0; }
.samartino-practice-grid article > span { font: 9px monospace; color: #d68a70; }
.samartino-practice-grid h2 { font-family: Georgia, serif; font-size: 36px; font-weight: 400; margin: 65px 0 25px; }
.samartino-practice-grid p { max-width: 470px; line-height: 1.7; opacity: .7; }
.samartino-gallery { background: #d9d0c1; }
.samartino-gallery-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 6vw; margin-top: 70px; align-items: center; }
.samartino-gallery figure { margin: 0; }.samartino-gallery figure img { filter: saturate(.74); }
.samartino-gallery figcaption { font: 8px monospace; text-transform: uppercase; letter-spacing: .13em; margin-top: 12px; }
.samartino-gallery-main { grid-row: span 2; }.samartino-gallery-main img { height: 880px; object-fit: cover; }
.samartino-gallery-copy h2 { font-size: clamp(48px, 5.5vw, 80px); line-height: .95; margin: 0 0 35px; }
.samartino-gallery-copy p { line-height: 1.8; }
.samartino-gallery-second { width: 78%; justify-self: end; }.samartino-gallery-second img { aspect-ratio: 1.2; object-fit: cover; }
.samartino-timeline { background: #735447; color: #f2e9dc; }
.samartino-timeline > h2 { font-size: clamp(64px, 8vw, 120px); line-height: .85; max-width: 1050px; margin: 90px 0; }
.samartino-timeline-list { border-top: 1px solid rgba(255,255,255,.26); }
.samartino-timeline-list div { display: grid; grid-template-columns: 160px 1fr; padding: 25px 0; border-bottom: 1px solid rgba(255,255,255,.26); align-items: center; }
.samartino-timeline-list span { font-family: Georgia, serif; font-size: 21px; }.samartino-timeline-list p { margin: 0; font-size: 13px; opacity: .8; }
.samartino-exhibitions { display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; align-items: center; }
.samartino-exhibition-image img { aspect-ratio: .84; object-fit: cover; filter: saturate(.7); }
.samartino-exhibition-copy h2 { font-size: clamp(54px, 6vw, 90px); line-height: .9; margin: 65px 0 40px; }
.samartino-exhibition-copy > p { line-height: 1.8; }.samartino-exhibition-copy .text-link { margin-top: 40px; }
.samartino-contact { background: var(--rust); color: #f4ede2; text-align: center; padding-top: 150px; padding-bottom: 150px; }
.samartino-contact h2 { font-size: clamp(64px, 9vw, 135px); line-height: .85; max-width: 1200px; margin: 70px auto; }
.samartino-contact > a { display: flex; justify-content: space-between; align-items: center; max-width: 470px; margin: auto; padding: 20px 0; border-bottom: 1px solid; text-transform: uppercase; letter-spacing: .13em; font-size: 10px; }
.samartino-contact > a span { font-size: 20px; }

@media (max-width: 900px) {
  .samartino-feature-grid { grid-template-columns: 1fr; }.samartino-feature-images { min-height: 650px; margin-top: 30px; }
  .samartino-hero { grid-template-columns: 1fr; }.samartino-hero-copy { min-height: 74vh; }.samartino-hero-image { min-height: 70vh; }
  .samartino-statement, .samartino-exhibitions { grid-template-columns: 1fr; }.samartino-statement { gap: 70px; }
  .samartino-gallery-grid { grid-template-columns: 1fr; }.samartino-gallery-main { grid-row: auto; }.samartino-gallery-main img { height: 720px; }.samartino-gallery-second { width: 65%; }
}

@media (max-width: 560px) {
  .samartino-feature-copy h2 { font-size: 68px; }.samartino-feature-images { min-height: 490px; }.samartino-work-one { width: 56%; }.samartino-work-two { width: 52%; }
  .samartino-hero-copy { padding: 140px 24px 70px; }.samartino-hero-copy h1 { font-size: 72px; }
  .samartino-practice-grid { grid-template-columns: 1fr; }.samartino-practice-grid article, .samartino-practice-grid article:nth-child(even) { border-right: 0; min-height: 280px; padding: 28px 0; }
  .samartino-gallery-main img { height: 590px; }.samartino-gallery-second { width: 82%; }
  .samartino-timeline-list div { grid-template-columns: 90px 1fr; gap: 15px; }.samartino-timeline > h2 { font-size: 60px; }
}
/*
Theme Name: Benedetta Bodo di Albaretto
Theme URI: https://benedettabodo.it/
Author: Custom editorial theme
Description: Tema portfolio per Benedetta Bodo di Albaretto, conservazione, archivi e cultura dell’arte.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: benedetta-bodo
*/

.site-legal-footer{display:flex;justify-content:space-between;gap:1rem;padding:1rem 4vw;background:#111;color:#f2eee7;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:640px){.site-legal-footer{flex-direction:column}}
