:root{--ink:#11110f;--paper:#eeeae1;--soft:#c8c1b4;--line:rgba(238,234,225,.24)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--paper);font-family:"DM Sans",Arial,sans-serif;font-weight:300}
a{color:inherit;text-decoration:none}
img{display:block;width:100%}
.site-header{position:fixed;z-index:20;left:0;right:0;top:0;display:flex;align-items:center;justify-content:space-between;padding:26px 38px;color:#f7f4ed;mix-blend-mode:difference}
.wordmark{font-family:"Italiana",serif;font-size:28px;letter-spacing:.14em;white-space:nowrap}
.nav{display:flex;gap:34px;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.nav a{position:relative;padding-bottom:5px}
.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:currentColor;transition:right .35s}
.nav a:hover:after,.nav a:focus-visible:after{right:0}
.menu-button{display:none;background:none;border:0;color:inherit;text-transform:uppercase;letter-spacing:.12em}
.hero{min-height:100svh;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#11110f}
.hero-photo{position:absolute;inset:0;background:url("assets/begegnung-wald.jpg") 55% 44%/cover no-repeat;filter:contrast(1.04)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,7,.82) 0%,rgba(8,8,7,.48) 48%,rgba(8,8,7,.08) 78%),linear-gradient(0deg,rgba(8,8,7,.58),transparent 52%)}
.hero:before{content:"";position:absolute;inset:9vh 7vw;border:1px solid rgba(238,234,225,.16)}
.hero-type{position:absolute;right:5vw;top:7vh;font-family:"Italiana",serif;font-size:clamp(180px,30vw,480px);line-height:.65;letter-spacing:-.07em;color:rgba(238,234,225,.09);text-align:right}
.hero-line{position:absolute;right:7vw;top:50%;width:28vw;height:1px;background:rgba(238,234,225,.32)}
.hero-line:before{content:"";position:absolute;left:-5px;top:-5px;width:11px;height:11px;border:1px solid rgba(238,234,225,.45);border-radius:50%}
.hero-content{position:relative;z-index:2;padding:0 7vw 7vh;max-width:950px}
.eyebrow,.section-number{font-size:11px;letter-spacing:.21em;text-transform:uppercase}
.hero h1,.manifesto h2,.photographer h2,.closing h2{font-family:"Italiana",serif;font-weight:400;line-height:.97;letter-spacing:-.018em;margin:.42em 0}
.hero h1{font-size:clamp(48px,7vw,104px)}
.scroll-link{display:inline-flex;align-items:center;gap:18px;margin-top:18px;font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.scroll-link i{display:block;width:55px;height:1px;background:currentColor;position:relative}
.scroll-link i:after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-right:1px solid;border-bottom:1px solid;transform:rotate(-45deg)}
.hero-signature{position:absolute;z-index:2;right:38px;bottom:33px;text-align:right;font-size:10px;line-height:1.7;letter-spacing:.16em;text-transform:uppercase}
.manifesto{padding:140px 7vw 110px;background:var(--paper);color:var(--ink)}
.manifesto-copy{max-width:1050px;margin:85px auto 0}
.kicker{font-size:18px;margin:0 0 28px}
.manifesto h2{font-size:clamp(48px,7.2vw,110px)}
.body-copy{margin:65px 0 0 auto;max-width:590px;display:grid;grid-template-columns:1fr 1fr;gap:40px;font-size:15px;line-height:1.75}
.statement{font-family:"Italiana",serif;font-size:clamp(44px,6vw,86px);line-height:1.05;margin:180px 0 20px;text-align:center}
em{font-weight:400;color:#80786d}
.visual-sequence{padding:10vw 7vw 13vw;background:#d7d1c6;color:var(--ink);display:grid;grid-template-columns:1.2fr .8fr;gap:7vw;align-items:start}
.visual-sequence figure{margin:0}
.visual-sequence img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
.visual-main img{aspect-ratio:4/4.45}
.visual-pair{display:grid;gap:8vw;padding-top:9vw}
.visual-pair figure:first-child{width:82%}
.visual-pair figure:last-child{width:88%;margin-left:auto}
.visual-pair img{aspect-ratio:3/4}
.visual-sequence figcaption{font-size:11px;line-height:1.55;letter-spacing:.12em;text-transform:uppercase;margin-top:16px;max-width:310px}
.encounter{display:grid;grid-template-columns:1fr 1fr;min-height:820px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.encounter-copy{padding:9vw 8vw;display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--line)}
.quote{font-family:"Italiana",serif;font-size:clamp(38px,4.6vw,68px);line-height:1.08;margin:80px 0 35px}
.text{color:var(--soft);font-size:15px;line-height:1.8;max-width:440px}
.encounter-mark{display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:6vw;font-family:"Italiana",serif;font-size:clamp(58px,8vw,130px);line-height:.82;color:rgba(238,234,225,.12)}
.encounter-mark span:last-child{writing-mode:vertical-rl;margin:30px 0 0 auto;color:rgba(238,234,225,.34);font-size:.5em;letter-spacing:.13em}
.photographer{padding:150px 7vw 170px;background:var(--paper);color:var(--ink)}
.photographer-head{max-width:1100px;margin:auto}
.photographer h2{font-size:clamp(44px,6vw,88px);margin-top:70px}
.photographer-body{max-width:930px;margin:100px auto 0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:55px;line-height:1.75;font-size:14px}
.name-large{font-family:"Italiana",serif;font-size:32px;margin-top:10px}
.closing{text-align:center;padding:180px 5vw 160px;min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center}
.closing h2{font-size:clamp(44px,6.5vw,94px);margin:55px 0 75px}
.contact-link{border-bottom:1px solid var(--paper);padding:0 0 10px;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.contact-link span{margin-left:25px;font-size:18px}
footer{border-top:1px solid var(--line);padding:38px;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.legal-links{display:flex;align-items:center;gap:24px}.legal-links a{border-bottom:1px solid transparent;padding-bottom:4px}.legal-links a:hover,.legal-links a:focus-visible{border-color:currentColor}
.legal-page{background:var(--paper);color:var(--ink);min-height:100vh}.legal-header{position:static;mix-blend-mode:normal;color:var(--ink);border-bottom:1px solid rgba(17,17,15,.16)}.legal-header .nav{align-items:center}.legal-main{width:min(900px,calc(100% - 48px));margin:0 auto;padding:95px 0 140px}.legal-main h1{font-family:"Italiana",serif;font-size:clamp(54px,8vw,104px);font-weight:400;line-height:1;margin:0 0 75px}.legal-main h2{font-family:"Italiana",serif;font-size:32px;font-weight:400;margin:65px 0 18px}.legal-main h3{font-size:14px;letter-spacing:.08em;text-transform:uppercase;margin:38px 0 12px}.legal-main p,.legal-main li{font-size:15px;line-height:1.8}.legal-main ul{padding-left:22px}.legal-main a{text-decoration:underline;text-underline-offset:3px}.legal-contact{margin:28px 0;padding:28px;border:1px solid rgba(17,17,15,.2)}.legal-note{color:#5d574f}.legal-footer{background:var(--ink);color:var(--paper)}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s ease}
.reveal.visible{opacity:1;transform:none}
@media(max-width:760px){
  .site-header{padding:20px}.nav{display:none;position:absolute;top:70px;left:20px;right:20px;background:var(--paper);color:var(--ink);padding:24px;flex-direction:column;mix-blend-mode:normal}.nav.open{display:flex}.menu-button{display:block}
  .hero-content{padding:0 24px 85px}.hero h1{font-size:48px}.hero-photo{background-position:61% center}.hero-shade{background:linear-gradient(0deg,rgba(8,8,7,.88) 0%,rgba(8,8,7,.18) 80%)}.hero:before{inset:72px 20px 20px}.hero-type{font-size:180px;right:12px;top:90px}.hero-line{right:20px;width:40vw}.hero-signature{display:none}
  .manifesto{padding:100px 24px 80px}.manifesto-copy{margin-top:60px}.manifesto h2{font-size:48px}.body-copy{grid-template-columns:1fr;margin-top:45px}.statement{margin-top:110px;font-size:43px}
  .visual-sequence{padding:90px 24px 110px;grid-template-columns:1fr;gap:70px}.visual-pair{padding-top:0;gap:70px}.visual-pair figure:first-child,.visual-pair figure:last-child{width:86%;margin:0}.visual-pair figure:last-child{margin-left:auto}
  .encounter{grid-template-columns:1fr;min-height:0}.encounter-copy{padding:90px 24px;border-right:0;border-bottom:1px solid var(--line)}.quote{margin-top:55px}.encounter-mark{min-height:480px;padding:24px;font-size:74px}
  .photographer{padding:100px 24px}.photographer h2{font-size:43px;margin-top:55px}.photographer-body{grid-template-columns:1fr;gap:20px;margin-top:70px}
  .closing{padding:120px 24px}.closing h2{font-size:43px;margin:45px 0 65px}
  footer{padding:28px 20px;align-items:flex-start;gap:24px;flex-wrap:wrap}footer>p{display:none}.legal-links{width:100%;gap:16px;flex-wrap:wrap}.legal-main{padding:70px 0 100px}.legal-main h1{margin-bottom:55px}.legal-header .nav{position:static;display:flex;background:transparent;padding:0;flex-direction:row;color:inherit}.legal-header .menu-button{display:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
