:root{--paper:#fcf7f3;--ink:#483c39;--muted:#806561;--accent:#986d60;--line:#dfd1c9;--tint:#f1e7df;--header-height:96px;--anchor-offset:176px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--anchor-offset)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Public Sans",sans-serif;-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}
::selection{background:#dfc9bd;color:#382c28}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px;transition:color .18s,background-color .18s,border-color .18s}
a:hover{color:var(--accent)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
img{display:block;max-width:100%;height:auto}
button{font:inherit}
.site-header{position:sticky;top:0;z-index:20;background:rgba(252,247,243,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}
.page-index .site-header{border-bottom:0}
.header-inner{max-width:1248px;min-height:var(--header-height);padding:0 48px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:40px}
.brand{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;flex:none;color:var(--ink);text-decoration:none;white-space:nowrap}
.brand-initials{font-family:"Recife Text",Georgia,serif;font-size:13.5px;font-weight:600;line-height:1.1;letter-spacing:.28em;margin-left:2px}
.brand-name{font-family:"Recife Text",Georgia,serif;font-size:26px;font-weight:600;line-height:1;letter-spacing:-.025em}
.primary-nav{display:flex;align-self:stretch;align-items:stretch;gap:48px}
.primary-link{display:flex;align-items:center;position:relative;font-family:"Recife Text",serif;font-size:14px;letter-spacing:.035em;text-decoration:none}
.primary-link::after{content:"";position:absolute;bottom:25px;left:0;right:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.primary-link:hover::after,.primary-link[aria-current=page]::after{transform:scaleX(1)}
.primary-link[aria-current=page]{color:var(--accent)}
.menu-toggle{display:none}
.reading-layout{position:relative}
.article-contents{position:sticky;top:calc(var(--header-height) + 12px);z-index:19;width:min(1120px,calc(100% - 96px));margin:24px auto 0;pointer-events:none}
.article-contents::before{content:"";position:absolute;z-index:-1;inset:-12px 0;background:var(--paper)}
.contents-panel{position:relative;width:fit-content;max-width:100%;pointer-events:auto}
.contents-label{font-family:"Recife Text",Georgia,serif;font-size:15px;font-weight:600;line-height:1.4;margin-bottom:20px;color:var(--ink)}
.contents-toggle{display:none;align-items:center;justify-content:space-between;gap:32px;min-height:44px;padding:10px 0;border:0;border-bottom:1px solid var(--line);background:var(--paper);color:var(--ink);font-family:"Recife Text",Georgia,serif;font-size:15px;font-weight:600;line-height:1.4;cursor:pointer}
.contents-chevron{width:6px;height:6px;margin:0 3px 3px 0;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);transition:transform .2s}
.contents-toggle[aria-expanded=true] .contents-chevron{transform:translateY(3px) rotate(225deg)}
.section-nav{margin:0;padding:0;max-height:calc(100dvh - var(--header-height) - 144px);overflow-y:auto;overscroll-behavior:contain}
.section-nav a{position:relative;display:block;border-left:1px solid var(--line);padding:10px 0 10px 18px;font-family:"Recife Display",Georgia,serif;font-size:18px;line-height:1.35;letter-spacing:0;text-decoration:none;color:var(--muted)}
.section-nav a::before{content:"";position:absolute;left:-1px;top:12px;bottom:12px;width:2px;background:var(--accent);opacity:0;transform:scaleY(.5);transition:opacity .2s,transform .2s}
.section-nav a:hover,.section-nav a[aria-current=location]{color:var(--ink)}
.section-nav a[aria-current=location]::before{opacity:1;transform:scaleY(1)}
.section-nav a:focus-visible{outline-offset:-2px}
.js .contents-label{display:none}
.js .contents-toggle{display:flex}
.js .section-nav{display:none;position:absolute;top:calc(100% + 10px);left:0;width:min(320px,calc(100vw - 48px));padding:20px 24px;background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 32px #483c3910}
.js .contents-panel.is-open .section-nav{display:block}
.has-sections .reading-main{padding-top:48px}
.reading-main,.home-intro{width:min(1120px,calc(100% - 96px));margin:0 auto}
.reading-main{padding-top:72px;padding-bottom:32px}
.content{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(0,1fr);column-gap:88px;row-gap:26px;margin:0 0 68px;min-width:0}
.content .heading,.content .subheading{grid-column:1;grid-row:1;min-width:0}
.content .bodytext{grid-column:1;min-width:0}
.content .floatingsection{grid-column:2;grid-row:2;min-width:0}
.heading1{font-family:"Recife Display",Georgia,serif;font-weight:400;font-size:clamp(46px,5.3vw,68px);line-height:1.04;letter-spacing:-.035em;margin:0;text-wrap:balance}
.content.top .heading1{font-size:clamp(52px,6.4vw,82px)}
.content:not(.sub):not(.top){padding-top:48px;border-top:1px solid var(--line)}
.content.heading-only{grid-template-columns:1fr;margin-top:100px;margin-bottom:44px;padding-top:36px}
.content.top.heading-only{margin-top:0;padding-top:0}
.heading-only .heading{grid-column:1/-1}
.heading-only .heading1{max-width:900px;font-size:clamp(48px,5.7vw,72px)}
.content.sub{margin-bottom:44px;row-gap:20px}
.s1-normal{font-family:"Recife Display",Georgia,serif;font-size:34px;font-weight:400;line-height:1.15;letter-spacing:-.015em;margin:0;text-wrap:balance}
.bt1-normal{font-size:18px;line-height:1.78;margin:0 0 24px;overflow-wrap:anywhere}
.bt1-normal:last-child{margin-bottom:0}
.bt1-normal.lowmargin{margin-bottom:14px}
.bt1-normal.nomargin{margin-bottom:0}
.bt1-normal.semibold{font-weight:600;line-height:1.7}
.bt1-normal.spacingabove{padding-top:24px}
.floating{padding:22px 0 0;border-top:1px solid var(--line);margin-bottom:36px}
.floating:empty{display:none}
.title-floating{color:var(--muted);font-family:"Recife Text",Georgia,serif;font-size:15px;font-weight:600;letter-spacing:0;line-height:1.4;text-transform:uppercase;margin-bottom:12px}
.bt3-normal{font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.bt3-normal.proofread{padding-top:24px;color:var(--muted)}
.reference,.referenceaccordion{color:var(--muted)}
.s2-bold{display:block;font-family:"Recife Display",Georgia,serif;font-size:28px;font-weight:400;line-height:1.2;color:var(--muted);padding-bottom:12px}
.s3-bold{font-size:19px;font-weight:600;color:var(--muted)}
.quote{display:block;border-left:2px solid #b48b79;margin:24px 0;padding:4px 0 4px 24px;font-family:"Recife Display",Georgia,serif;font-size:25px;line-height:1.4}
.quoteauthor{display:block;font-size:13px;color:var(--muted);padding:0 0 16px 26px}
.accordion{margin:28px 0 16px;padding:0}
.accordion__item{border:1px solid var(--line);background:#f7eee7}
.accordion-header{list-style:none;cursor:pointer;display:flex;align-items:center;gap:20px;padding:21px 24px;min-height:64px}
.accordion-header::-webkit-details-marker{display:none}
.accordion-header::after{content:"+";font-size:25px;font-weight:300;margin-left:auto;line-height:1}
details[open]>.accordion-header::after{content:"−"}
.accordion-header:hover{background:var(--tint)}
.headingaccordion{font-size:14px;font-weight:600;line-height:1.5}
.accordion-header i{display:none}
.accordion-body{padding:0 24px 24px}
.accordion-body__contents{border-top:1px solid var(--line);padding-top:24px;font-size:15px;line-height:1.85;overflow-wrap:anywhere}
.buttonv3{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:52px;padding:14px 20px;border:1px solid #ad8a7b;margin-top:18px;text-decoration:none;font-size:14px;font-weight:500;min-width:180px;max-width:100%;line-height:1.5}
.buttonv3::after{content:"↗";font-size:19px}
.buttonv3:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.home-hero{position:relative;min-height:610px;width:min(1440px,100%);margin:auto;isolation:isolate;display:flex;align-items:flex-end;padding:92px max(48px,calc((100% - 1120px)/2)) 60px;overflow:hidden}
.hero-photo{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 46%}
.page-index .hero-photo{-webkit-mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 76%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 76%,transparent)}
.home-hero.image-loading .hero-photo{opacity:0}
.home-hero.image-revealing .hero-photo{animation:hero-reveal 2.2s cubic-bezier(.22,.7,.24,1) both}
@keyframes hero-reveal{from{opacity:0;filter:blur(12px)}to{opacity:1;filter:blur(0)}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .hero-photo{transform:translate3d(0,0,0) scale(1);transition:transform 1.5s cubic-bezier(.22,.7,.24,1)}
 .home-hero:hover .hero-photo{transform:translate3d(var(--hero-x,0px),var(--hero-y,0px),0) scale(1.025)}
}
.home-hero::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(252,247,243,.94) 0%,rgba(252,247,243,.6) 28%,transparent 70%)}
.home-hero .heading{width:600px;max-width:64%}
.home-hero .heading1{font-size:clamp(62px,6.4vw,86px);line-height:.99;letter-spacing:-.035em;text-wrap:initial}
.home-intro{padding-top:72px;padding-bottom:72px;margin:0 auto;border:0!important}
.home-intro .bodytext,.home-intro .floatingsection{grid-row:1}
.home-intro .bt1-normal{font-size:19px;line-height:1.8}
.home-intro .floating:first-child{margin-top:5px}
.site-footer{border-top:1px solid var(--line);background:#f4ece5;padding:44px 48px 48px}
.footercontent{max-width:1120px;margin:auto;display:flex;justify-content:space-between;gap:48px;align-items:flex-start}
.footercontent .bt1-normal{font-size:12px;line-height:1.9;margin:0;color:var(--muted)}
.footerlinks{display:flex;flex-wrap:wrap;gap:28px;padding-top:4px}
.footerlinks a{font-size:13px;text-decoration:none}
.footerlinks a:hover{text-decoration:underline}
.page-further-reading .content.sub{padding-top:30px;border-top:1px solid var(--line)}
.page-further-reading .floating{border-top:0;padding:0}
.page-references .bodytext{font-size:16px;line-height:1.8;overflow-wrap:anywhere}
.page-references .bt3-normal{font-size:16px;line-height:1.9}
@media(min-width:1440px){.home-hero{padding-left:160px;padding-right:160px}}
@media(min-width:1680px){
 :root{--anchor-offset:128px}
 .reading-layout{display:grid;grid-template-columns:minmax(0,1fr) 1120px minmax(0,1fr);align-items:start}
 .has-sections .reading-main{grid-column:2;grid-row:1;width:100%;padding-top:72px}
 .article-contents{grid-column:1;grid-row:1;align-self:start;justify-self:end;top:calc(var(--header-height) + 72px);width:184px;margin:72px 48px 0 0}
 .article-contents::before{display:none}
 .contents-panel{width:100%}
 .js .contents-label{display:block}
 .js .contents-toggle{display:none}
 .section-nav,.js .section-nav{display:block;position:static;width:auto;max-height:calc(100dvh - var(--header-height) - 148px);padding:0;border:0;background:transparent;box-shadow:none}
}
@media(max-width:1248px){.content{column-gap:56px}}
@media(max-width:900px){.content{column-gap:36px;grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.primary-nav{gap:30px}.header-inner{padding:0 32px}.reading-main,.home-intro,.article-contents{width:calc(100% - 64px)}.home-hero{min-height:560px;padding-left:32px;padding-right:32px}.home-hero .heading{max-width:70%}.home-hero .heading1{font-size:66px}.bt1-normal{font-size:17px}.floating{margin-bottom:26px}.bt3-normal{font-size:13px}.site-footer{padding-left:32px;padding-right:32px}}
@media(max-width:680px){
 :root{--header-height:76px;--anchor-offset:148px}
 .header-inner{padding:0 24px;gap:24px;flex-wrap:wrap;min-height:76px}
 .brand-initials{font-size:12.5px;margin-left:1.75px}.brand-name{font-size:23px}.primary-nav{gap:20px}.primary-link{font-size:11px;letter-spacing:0;min-height:76px}.primary-link::after{bottom:18px}
 .article-contents{width:calc(100% - 48px);margin-top:20px}.has-sections .reading-main{padding-top:36px}
 .reading-main,.home-intro{width:calc(100% - 48px)}.reading-main{padding-top:44px}
 .content{display:block;margin-bottom:48px}.content .heading,.content .subheading{margin-bottom:26px}.content:not(.sub):not(.top){padding-top:34px}
 .heading1,.content.top .heading1{font-size:48px;line-height:1.08;letter-spacing:-.025em}.content.heading-only{margin-top:64px;margin-bottom:32px}.heading-only .heading1{font-size:46px}.s1-normal{font-size:30px}
 .bt1-normal,.home-intro .bt1-normal{font-size:17px;line-height:1.78}.content.sub{margin-bottom:38px}.floatingsection{margin:32px 0 0;padding:24px;background:var(--tint)}.floating{margin:0 0 24px;padding:0;border:0}.floating:last-child{margin-bottom:0}.bt3-normal{font-size:14px}.title-floating{font-size:14px}
 .home-hero{min-height:590px;align-items:flex-end;padding:0 24px 38px}.home-hero .heading{max-width:100%;width:100%;margin:0}.home-hero .heading1{max-width:400px;font-size:56px;line-height:1.03}.hero-photo{height:390px;object-fit:cover;object-position:64% center}.home-hero::before{background:linear-gradient(0deg,var(--paper) 0%,var(--paper) 23%,rgba(252,247,243,.1) 70%,transparent 100%)}
 .home-intro{padding-top:38px;padding-bottom:48px}.home-intro .floatingsection{margin-top:36px}.home-intro .floating:first-child{margin-top:0}
 .accordion-header{padding:18px}.accordion-body{padding:0 18px 20px}.accordion-body__contents{font-size:14px}.quote{font-size:24px;padding-left:18px}
 .site-footer{padding:32px 24px}.footercontent{display:flex;flex-direction:column;gap:28px}.footerlinks{gap:24px}.page-further-reading .floatingsection{background:none;padding:0;margin-top:18px}.buttonv3{margin-top:0}
}
@media(max-width:430px){
 .brand{height:76px}
 .js .menu-toggle{margin-left:auto;width:42px;height:42px;border:1px solid var(--line);background:transparent;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:10px;cursor:pointer}
 .menu-toggle span{display:block;width:18px;height:1px;background:var(--ink);transition:transform .18s}
 .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}
 .js .primary-nav{display:none;width:100%;flex-direction:column;gap:0;padding-bottom:20px}.js .primary-nav.is-open{display:flex}.primary-link{min-height:48px;font-size:13px}.primary-link::after{bottom:6px;width:32px}
 .header-inner{column-gap:12px;row-gap:0}.primary-nav{gap:12px;flex-wrap:wrap}.primary-link{font-size:11px}.home-hero .heading1{font-size:52px}.home-hero{min-height:575px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}.home-hero .hero-photo{animation:none!important;opacity:1!important;filter:none!important;transform:none!important}}
/* Full-screen mobile main navigation; the article contents remain a dropdown. */
body.navigation-modal-open{position:fixed;top:var(--navigation-scroll);left:0;right:0;overflow:hidden}
.navigation-dialog{position:fixed;inset:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:var(--paper);color:var(--ink);opacity:0;transform:translateY(18px);transition:opacity .28s ease,transform .42s cubic-bezier(.22,.7,.24,1);overflow:hidden}
.navigation-dialog[open]{display:flex;flex-direction:column}
.navigation-dialog::backdrop{background:var(--paper)}
.navigation-dialog.is-visible{opacity:1;transform:translateY(0)}
.navigation-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:24px;flex:none;min-height:76px;padding:env(safe-area-inset-top) 24px 0}
.navigation-close{position:relative;width:44px;height:44px;flex:none;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);cursor:pointer}
.navigation-close span::before,.navigation-close span::after{content:"";position:absolute;top:21px;left:13px;width:16px;height:1px;background:currentColor;transform:rotate(45deg)}
.navigation-close span::after{transform:rotate(-45deg)}
.js .navigation-dialog .primary-nav{display:flex;flex-direction:column;align-items:stretch;align-self:stretch;gap:0;width:100%;min-height:0;flex:1;padding:clamp(48px,12vh,112px) 24px calc(40px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}
.navigation-dialog .primary-link{display:block;min-height:0;padding:24px 0;border-bottom:1px solid var(--line);font-family:"Recife Display",Georgia,serif;font-size:clamp(28px,7.8vw,42px);line-height:1.2;letter-spacing:0;opacity:0;transform:translateY(12px);transition:opacity .22s ease,transform .22s ease,color .18s}
.navigation-dialog .primary-link::after{display:none}
.navigation-dialog.is-visible .primary-link{opacity:1;transform:translateY(0);transition:opacity .45s ease calc(var(--item-order)*.065s + .06s),transform .5s cubic-bezier(.22,.7,.24,1) calc(var(--item-order)*.065s + .06s),color .18s}
@media(max-width:680px){
 .js .menu-toggle{margin-left:auto;width:42px;height:42px;border:1px solid var(--line);background:transparent;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:10px;cursor:pointer}
 .menu-toggle span{display:block;width:18px;height:1px;background:var(--ink)}
 .js .header-inner>.primary-nav{display:none}
 .footercontent{align-items:center;text-align:center}.footerlinks{justify-content:center}
}
@media print{.site-header,.article-contents,.site-footer{display:none}.reading-layout{display:block}.reading-main,.home-intro{width:100%}.content{break-inside:avoid}.accordion-body{display:block!important}body{background:#fff;color:#000}}

.about-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:24px}.about-actions .buttonv3{margin-top:0}

/* Keep the side fades fixed while the hero photograph drifts on hover. */
.home-hero::after{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:linear-gradient(to right,var(--paper),transparent 10%,transparent 82%,var(--paper))}
