/* A more personal, editorial rhythm shared across the homepage and reading pages. */
:root{
  --paper:#f4f1e8;
  --ink:#29342e;
  --muted:#68736b;
  --green:#355746;
  --lime:#d9e1cd;
  --line:#d3d5ca;
  --white:#fbfaf5;
  --serif:'Iowan Old Style','Baskerville','Palatino Linotype','Book Antiqua',Georgia,serif;
  --sans:'Avenir Next','Gill Sans','Trebuchet MS',system-ui,sans-serif;
}
html{scroll-padding-top:24px}
body{font-family:var(--sans);color:var(--ink);letter-spacing:.005em}
.wrap{width:min(1160px,calc(100% - 64px))}
a{ text-underline-offset:4px }
a:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid #a65d3b;outline-offset:4px}
.topbar{height:88px;border-bottom:1px solid var(--line)}
.brand{font-family:var(--serif);font-size:18px;font-weight:600;letter-spacing:-.015em}
.brand-mark{width:25px;height:25px;border-radius:3px 3px 3px 12px;transform:rotate(-8deg)}
nav{gap:26px}
nav a{font-size:14px;letter-spacing:.01em}
.language{border-radius:0;padding:7px 9px;border-color:#aab1a7;font-size:12px}
.hero{min-height:620px;padding:86px 0 100px}
.hero>div{max-width:690px}
.eyebrow{font-size:12px;letter-spacing:.09em;text-transform:none;font-weight:600}
.hero h1{font-size:clamp(46px,4.4vw,62px);line-height:1.02;letter-spacing:-.05em;max-width:690px;margin:22px 0 28px}
.hero h1 em{font-style:italic;font-weight:400}
.hero p{font-size:18px;line-height:1.7;max-width:510px}
.actions{gap:24px;flex-wrap:wrap}
.button{border-radius:0;padding:15px 20px;font-size:14px;letter-spacing:.015em}
.button:hover{background:#274536}
.text-link{font-size:14px}
.intro{background:linear-gradient(90deg,#82907c 0%,#b3bca9 30%,#e0e1d7 48%,var(--white) 65%);padding:86px 0}
.intro h2,.section-heading,.approach h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em}
.intro h2{font-size:clamp(40px,4.8vw,59px);line-height:1.04}
.about-copy{max-width:510px}
.intro p{font-size:16px;line-height:1.75}
.section{padding:104px 0}
.section-head{max-width:720px;margin-bottom:46px}
.section-heading{font-size:clamp(42px,5vw,62px);line-height:1.02}
.section-head p{font-size:17px;line-height:1.75;max-width:580px}
.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.card{position:relative;border:0;border-top:1px solid var(--line);padding:20px 28px 14px 0;min-height:210px;background:transparent}
.card+.card{padding-left:26px;border-left:1px solid var(--line)}
.card-num{font:italic 20px/1 var(--serif);color:#a45f43}
.card h3{font:400 28px/1.12 var(--serif);letter-spacing:-.025em;margin:27px 0 13px;max-width:290px}
.card p{font-size:15px;line-height:1.7}
.card a{display:inline-block;margin-top:10px;text-decoration-thickness:1px}
.approach{background:#e5e6dc;color:var(--ink);padding:98px 0}
.approach .eyebrow{color:var(--green)}
.approach-grid{grid-template-columns:.88fr 1.12fr;gap:100px;align-items:start}
.approach h2{font-size:clamp(44px,5vw,64px);line-height:1.02;max-width:430px}
.approach p{color:var(--muted);font-size:17px;line-height:1.7}
.principles{border-top:1px solid #aeb5a8}
.principle{grid-template-columns:46px 1fr;gap:16px;padding:22px 0;border-bottom:1px solid #aeb5a8}
.principle b{font:italic 20px var(--serif);color:#a45f43}
.principle span{font-size:15px;line-height:1.7;color:var(--ink)}
.future{background:#e9e2d5;padding:74px 0}
.future-box{border:0;border-top:1px solid #c9c1b3;border-bottom:1px solid #c9c1b3;padding:29px 0;align-items:flex-start}
.future-box h2{font:400 36px/1.1 var(--serif);letter-spacing:-.03em}
.future-box p{font-size:15px;line-height:1.75}
.future-label{white-space:normal;border-left:1px solid #c9c1b3;padding:5px 0 5px 22px;font-size:11px;letter-spacing:.08em;text-transform:none}
.contact{padding:108px 0 116px}
.contact .section-heading{font-size:clamp(44px,5vw,64px);max-width:720px}
.contact p{font-size:17px;line-height:1.75}
.footer{padding:24px 0;font-size:12px}
/* Reading pages: narrower text, strong typographic hierarchy, simple navigation. */
.bar{padding:0;border-bottom:1px solid var(--line)}
.bar .wrap{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.bar-brand{font:600 18px/1.1 var(--serif);letter-spacing:-.02em;color:var(--ink);text-decoration:none}
.bar nav{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.bar nav a{font-size:13px;color:var(--muted);text-decoration:none;font-weight:500}
.bar nav a:hover{color:var(--green)}
body:has(> .bar){font-size:16px;line-height:1.75}
body:has(> .bar) .wrap{width:min(1120px,calc(100% - 64px))}
body:has(> .bar) main.wrap{display:grid;grid-template-columns:minmax(190px,.55fr) minmax(0,1.45fr);column-gap:9vw;align-items:start}
body:has(> .bar) .hero{grid-column:1/-1;padding:88px 0 64px;max-width:900px}
body:has(> .bar) .hero h1{max-width:860px;font:400 clamp(54px,7vw,84px)/.98 var(--serif);letter-spacing:-.055em;margin:22px 0}
body:has(> .bar) .eyebrow{font-size:12px;letter-spacing:.09em;text-transform:none}
body:has(> .bar) .lead{font-size:20px;line-height:1.65;max-width:710px}
body:has(> .bar) .content{grid-column:2;padding:0 0 76px;max-width:700px}
body:has(> .bar) .content h2{font:400 35px/1.1 var(--serif);letter-spacing:-.035em;margin:48px 0 15px;max-width:650px}
body:has(> .bar) .content p,body:has(> .bar) .content li{font-size:16px;line-height:1.8;color:#58635c}
body:has(> .bar) .content ul{padding-left:20px}
body:has(> .bar) .content li{padding-left:5px;margin:10px 0}
body:has(> .bar) .note{background:#e5e6dc;border:0;border-top:1px solid #aeb5a8;padding:20px 0;margin:42px 0 32px}
body:has(> .bar) .note strong{font:400 25px/1.15 var(--serif)}
body:has(> .bar) .note p{margin:13px 0 0}
body:has(> .bar) .links{border-top:1px solid var(--line);padding-top:22px}
body:has(> .bar) .button{margin:18px 0}
body:has(> .bar) .footer{border-top:1px solid var(--line);padding:24px 0}
@media(max-width:760px){
  .wrap{width:min(100% - 36px,560px)}
  .topbar{height:72px}
  .brand{font-size:16px}
  nav{gap:11px}
  nav a{display:none}
  .hero{min-height:570px;padding:60px 0 68px}
  .hero h1{font-size:clamp(48px,13vw,66px);line-height:1}
  .hero p{font-size:16px}
  .intro{padding:270px 0 62px}
  .intro h2{font-size:43px}
  .section{padding:72px 0}
  .section-head{margin-bottom:32px}
  .section-heading{font-size:44px}
  .cards{grid-template-columns:1fr}
  .card,.card+.card{border-left:0;border-top:1px solid var(--line);padding:18px 0 22px;min-height:0}
  .card h3{font-size:27px;margin:19px 0 10px}
  .approach{padding:72px 0}
  .approach-grid{grid-template-columns:1fr;gap:24px}
  .approach h2{font-size:48px}
  .principle{grid-template-columns:38px 1fr;padding:17px 0}
  .future{padding:48px 0}
  .future-box{display:block;padding:24px 0}
  .future-label{display:inline-block;margin-top:19px;padding:3px 0 3px 13px}
  .contact{padding:75px 0 84px}
  .footer{flex-direction:column;gap:6px}
  .bar .wrap{width:calc(100% - 36px);min-height:72px;align-items:flex-start;justify-content:center;flex-direction:column;gap:8px;padding:12px 0}
  .bar nav{gap:15px}
  .bar nav a{display:inline;font-size:12px}
  body:has(> .bar) .wrap{width:calc(100% - 40px)}
  body:has(> .bar) main.wrap{display:block}
  body:has(> .bar) .hero{padding:58px 0 36px}
  body:has(> .bar) .hero h1{font-size:clamp(45px,12vw,64px)}
  body:has(> .bar) .lead{font-size:18px}
  body:has(> .bar) .content{padding-bottom:55px}
  body:has(> .bar) .content h2{font-size:31px;margin-top:38px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
/* Keep the shared, multilingual home hero within the image's frame. */
#top>.hero{height:560px;min-height:560px;padding:42px 0;align-items:center}
#top>.hero>div{max-width:500px}
#top>.hero h1{font-size:clamp(48px,4.5vw,60px);line-height:1.02;max-width:500px;margin:14px 0 16px}
#top>.hero p{font-size:15px;line-height:1.55;max-width:390px;margin-bottom:18px}
#top>.hero::before{height:100%;width:78%}
@media(max-width:760px){
  #top>.hero{height:auto;min-height:0;padding:42px 0 222px}
  #top>.hero h1{font-size:clamp(34px,8vw,42px);line-height:1.04}
  #top>.hero p{font-size:14px;line-height:1.55;max-width:100%}
  #top>.hero::before{inset:auto -18px 0;width:calc(100% + 36px);height:200px;background-position:center center}
}
.more-top{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:42px;align-items:start;margin-bottom:34px}
.more-section .section-head{max-width:680px;margin-bottom:0}
.more-cards{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}
.more-cards .card{min-height:0;padding-top:18px;padding-bottom:18px}
.more-cards .card+.card{padding-left:26px;border-left:1px solid var(--line)}
.more-photo{margin:0;aspect-ratio:3/2;overflow:hidden}
.more-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 48%;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 24%);mask-image:linear-gradient(90deg,transparent 0%,#000 24%)}
@media(max-width:760px){
  .more-top{display:flex;flex-direction:column;gap:22px;margin-bottom:22px}
  .more-cards{grid-template-columns:1fr}
  .more-cards .card+.card{padding-left:0;border-left:0}
  .more-photo{width:100%;min-height:0;aspect-ratio:3/2}
  .more-photo img{height:100%;min-height:0;-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent 100%);mask-image:linear-gradient(180deg,#000 72%,transparent 100%)}
}
