:root{--paper:#fff;--ink:#181918;--muted:#636763;--line:#d9ddd7;--acid:#e3ed9c;--soft:#f1f3ef;--gutter:clamp(22px,5.3vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}img{max-width:100%;height:auto;display:block}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #75812d;outline-offset:6px}.skip{position:fixed;top:-100px;left:20px;z-index:20;background:var(--acid);padding:12px}.skip:focus{top:12px}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 var(--gutter);background:#fff;position:relative;z-index:2}.brand{font-size:23px;letter-spacing:-1.3px;font-weight:800}.brand span{color:#707946}.site-header nav{display:flex;gap:36px}.site-header nav a{font-size:14px;padding:12px 0}.site-header nav a:hover{text-decoration:underline;text-underline-offset:6px}.wrap{max-width:1600px;margin:auto;padding-left:var(--gutter);padding-right:var(--gutter)}.eyebrow{font-size:13px;letter-spacing:2.3px;text-transform:uppercase;font-weight:500}.hero{display:grid;grid-template-columns:1fr 1.1fr;gap:9%;padding-top:64px;padding-bottom:96px;align-items:center;min-height:740px}.hero-copy{padding-bottom:24px;position:relative;z-index:1}.hero .eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 28px}.hero .eyebrow:before{content:"";display:block;width:26px;height:2px;background:#5f6c1d}h1{font-size:clamp(62px,7.8vw,124px);letter-spacing:-.075em;font-weight:500;line-height:.97;margin:0 0 30px}h1 span{display:block;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;letter-spacing:-.075em}.hero-note{color:var(--muted);font-size:16px;margin:0 0 40px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 24px;border:1px solid var(--ink);font-size:14px;font-weight:600;transition:background .18s,color .18s}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:#3e4537}.button-light:hover{background:var(--acid)}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px}.text-link{font-size:14px;border-bottom:1px solid currentColor;padding:9px 0}.hero-visual{position:relative;margin:0 0 0 30px;max-width:465px;justify-self:end;width:calc(100% - 30px)}.hero-visual .main-image{width:100%;height:auto;aspect-ratio:488/684;object-fit:cover;background:#252d2f}.hero-visual .small-image{position:absolute;width:35%;left:-20%;bottom:-34px;box-shadow:0 0 0 9px #fff}.hero-visual figcaption{position:absolute;top:0;right:-26px;writing-mode:vertical-rl;font-size:12px;letter-spacing:2px;line-height:1}.hero-index{position:absolute;bottom:-37px;right:0;font-size:12px;color:var(--muted);letter-spacing:1.5px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:40px}.section-head h2{font-size:clamp(40px,4.6vw,68px);line-height:1.08;letter-spacing:-.055em;font-weight:400;margin:12px 0 0}.section-head p{margin:0;color:var(--muted);font-size:14px}.section-head .eyebrow{color:var(--ink);font-size:12px}.portfolio{background:var(--soft);padding-top:72px;padding-bottom:80px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px}.photo{margin:0}.photo-link{display:block;overflow:hidden;background:#d5d8d2;position:relative}.photo-link img{width:100%;aspect-ratio:488/684;object-fit:cover;transition:transform .4s}.photo-link:hover img{transform:scale(1.025)}.photo-link:after{content:"Grossansicht";position:absolute;bottom:16px;left:16px;background:#fff;color:var(--ink);font-size:13px;padding:8px 12px;opacity:0;transition:opacity .2s}.photo-link:hover:after,.photo-link:focus-visible:after{opacity:1}.photo figcaption{display:flex;justify-content:space-between;padding-top:11px;font-size:13px;color:#565c54;letter-spacing:.25px}.gallery .photo:nth-child(3n+2){padding-top:42px}.gallery .photo:last-child{grid-column:2}.setcard{padding-top:92px;padding-bottom:96px}.setcard-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;align-items:center}.setcard-photo{margin:0;background:var(--soft);position:relative;max-width:405px}.setcard-photo img{width:100%;aspect-ratio:488/684;object-fit:cover}.setcard-photo figcaption{position:absolute;left:20px;bottom:20px;background:var(--acid);padding:8px 14px;font-size:12px;letter-spacing:1.5px}.setcard-copy h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(48px,5vw,76px);font-style:italic;font-weight:400;line-height:1.1;letter-spacing:-.05em;margin:16px 0 34px}.stats{display:grid;grid-template-columns:1fr 1fr;margin:0 0 32px;gap:0 28px}.stats>div{padding:17px 0;border-top:1px solid var(--line)}.stats dt{font-size:13px;color:var(--muted);margin-bottom:4px}.stats dd{margin:0;font-size:22px;font-weight:400}.setcard-copy .button{margin-top:4px}.download-note{font-size:12px;color:var(--muted);margin:12px 0 0}.contact{background:var(--ink);color:white;padding-top:68px;padding-bottom:76px}.contact .eyebrow{color:var(--acid)}.contact h2{font-size:clamp(40px,5vw,72px);font-weight:400;letter-spacing:-.05em;line-height:1.1;margin:22px 0 28px}.email{display:inline-block;font-size:clamp(23px,4vw,56px);letter-spacing:-.045em;border-bottom:1px solid #747872;line-height:1.3;padding-bottom:10px}.email:hover{color:var(--acid);border-color:var(--acid)}.footer{background:var(--ink);color:#c0c4bc;display:flex;align-items:center;justify-content:space-between;padding-top:24px;padding-bottom:28px;border-top:1px solid #363934;font-size:12px}.footer a{font-size:13px;padding:8px 0}.footer a:hover{color:var(--acid)}dialog{padding:0;border:0;width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;background:#111;position:fixed;inset:0;color:white;margin:0}dialog::backdrop{background:#111}.viewer{height:100%;display:flex;flex-direction:column}.viewer-top,.viewer-bottom{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 28px}.viewer-title{font-size:13px;letter-spacing:1px;margin:0}.viewer button{color:white;border:1px solid #626660;background:transparent;min-height:44px;padding:10px 18px;font-size:14px}.viewer button:hover{color:var(--acid);border-color:var(--acid)}.viewer-media{flex:1;min-height:0;display:flex;justify-content:center;align-items:center;padding:0 24px;touch-action:pan-y}.viewer-media img{max-height:100%;max-width:100%;width:auto;height:auto;object-fit:contain}.viewer-count{font-size:14px;min-width:58px;text-align:center}.viewer-bottom{justify-content:center;gap:25px}.viewer-hint{font-size:12px;color:#b4b9b0;text-align:center;margin:0 0 15px}body.viewer-open{overflow:hidden}.js-error{display:none}
@media(min-width:1600px){.hero{grid-template-columns:1fr 1.1fr;min-height:820px}.hero-visual{max-width:488px}.hero h1{font-size:124px}}
@media(max-width:900px){.hero{gap:6%;min-height:0;padding-top:55px;padding-bottom:80px}.hero-visual{margin-left:10px;width:calc(100% - 10px)}h1{font-size:8.4vw}.hero .eyebrow{font-size:11px;letter-spacing:1.2px}.hero-note{margin-bottom:24px}.hero-actions{gap:15px}.hero-actions .button{padding:12px 16px}.gallery{gap:28px 18px}.gallery .photo:nth-child(3n+2){padding-top:24px}.setcard-grid{gap:7%}.setcard{padding-top:64px;padding-bottom:64px}.stats dd{font-size:20px}}
@media(max-width:600px){html{scroll-padding-top:24px}.site-header{height:72px}.brand{font-size:20px}.site-header nav{gap:18px}.site-header nav a{font-size:13px}.hero{grid-template-columns:1fr;gap:36px;padding-top:36px;padding-bottom:78px}.hero-copy{padding-bottom:0}.hero .eyebrow{font-size:12px;margin-bottom:20px}.hero h1{font-size:clamp(62px,16vw,96px);line-height:1;letter-spacing:-.07em;margin-bottom:16px}.hero h1 span{display:inline;margin-left:8px}.hero-note{margin-bottom:24px;font-size:14px}.hero-visual{width:78%;max-width:355px;margin-right:20px}.hero-visual .small-image{width:39%;left:-24%;bottom:-26px}.hero-index{bottom:-30px}.hero-visual figcaption{right:-22px;font-size:11px}.hero-actions{gap:24px}.hero-actions .button{min-height:46px}.portfolio{padding-top:44px;padding-bottom:48px}.section-head{align-items:start;gap:12px;margin-bottom:26px}.section-head h2{font-size:42px;margin-top:9px}.section-head>p{font-size:12px;max-width:95px;text-align:right;padding-top:23px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.gallery .photo:nth-child(3n+2){padding-top:0}.gallery .photo:nth-child(even){padding-top:25px}.gallery .photo:last-child{grid-column:auto}.photo figcaption{font-size:12px;padding-top:8px}.photo-link:after{display:none}.setcard{padding-top:48px;padding-bottom:52px}.setcard-grid{grid-template-columns:1fr;gap:34px}.setcard-photo{width:72%;max-width:320px}.setcard-copy h2{font-size:56px;margin:10px 0 26px}.stats{gap:0 20px}.stats dd{font-size:22px}.contact{padding-top:44px;padding-bottom:50px}.contact h2{font-size:42px;margin-top:18px}.email{font-size:clamp(24px,6.4vw,37px)}.footer{gap:15px;flex-wrap:wrap;font-size:12px}.viewer-top,.viewer-bottom{padding:14px 16px}.viewer-title{font-size:12px;max-width:170px}.viewer-media{padding:0 10px}.viewer-bottom{gap:16px}.viewer-bottom button{padding:10px 14px}.viewer-hint{font-size:12px;padding:0 12px}}
.book-experience[hidden]{display:none}.book-stage{max-width:1020px;margin:0 auto 30px;padding:28px 24px 35px;overflow:hidden;outline-offset:0}.book-stage:focus-visible{outline:2px solid #75812d}.book-stage .stf__parent{margin:auto;filter:drop-shadow(0 16px 13px rgba(20,25,17,.13))}.book-page{background:#fff;overflow:hidden;box-sizing:border-box}.book-photo{padding:18px 18px 10px}.page-image{height:calc(100% - 26px);display:flex;align-items:center;justify-content:center}.page-image img{width:100%;height:100%;object-fit:contain;user-select:none;pointer-events:none}.page-foot{display:flex;justify-content:space-between;align-items:center;height:26px;font-size:11px;color:#545951;letter-spacing:.5px}.book-page.--left{border-right:1px solid #d5d8d0}.book-page.--right{border-left:1px solid #d5d8d0}.book-cover{background:#1b211c;color:var(--acid);padding:9% 8%;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #323c30}.cover-top{font-size:12px;letter-spacing:2px}.cover-title{font-size:clamp(68px,9vw,112px);line-height:.92;letter-spacing:-.075em}.cover-title em{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.065em;font-weight:400}.cover-bottom{font-size:11px;letter-spacing:1.5px;line-height:1.8}.book-intro,.book-info,.book-contact{padding:10% 8%;position:relative}.book-eyebrow{font-size:11px;letter-spacing:2px;margin:0 0 30px;color:#5f685a}.book-page h3{font-size:clamp(32px,4.2vw,56px);font-weight:400;line-height:1.03;letter-spacing:-.05em;margin:0 0 28px}.book-page h3 em{font-family:Georgia,'Times New Roman',serif}.intro-bottom{font-size:17px;position:absolute;bottom:15%;left:8%;line-height:1.7;color:#596153}.page-number{position:absolute;bottom:20px;right:24px;font-size:11px;color:#67715f}.book-info dl{margin:0}.book-info dl>div{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #d8ded2;padding:9px 0;font-size:13px}.book-info dd{margin:0}.book-info dt{color:#596153}.book-contact{background:var(--acid)}.book-contact h3{margin-top:32%}.book-email{font-size:clamp(14px,1.5vw,21px);letter-spacing:-.035em}.back-monogram{font-size:clamp(120px,15vw,210px);font-weight:600;line-height:1;letter-spacing:-.1em}.book-controls{display:flex;gap:28px;align-items:center;justify-content:center}.book-controls button{min-height:46px;padding:11px 22px;background:#fff;border:1px solid #c6cdbf;color:var(--ink);font-size:14px}.book-controls button:last-child{background:var(--ink);border-color:var(--ink);color:white}.book-controls button:hover:not(:disabled){background:var(--acid);border-color:#aab476;color:var(--ink)}.book-controls button:disabled{opacity:.35;cursor:default}.book-controls p{min-width:126px;text-align:center;font-size:14px;margin:0;font-variant-numeric:tabular-nums}.book-help{font-size:13px;color:var(--muted);text-align:center;margin:21px 0 0}.book-extras{display:flex;justify-content:center;gap:27px;margin:18px 0 0}.book-extras button,.book-extras a{background:none;border:0;border-bottom:1px solid #8f9688;padding:7px 0;color:#4f5848;font-size:13px}.photo-overview{border-top:1px solid #c8d0c0;margin-top:48px}.photo-overview summary{font-size:17px;cursor:pointer;padding:23px 0;list-style-position:inside}.photo-overview summary span{float:right;color:#646d5b;font-size:13px;margin-top:4px}.photo-overview[open] summary{margin-bottom:20px}.portfolio .section-head{margin-bottom:12px}
@media(max-width:600px){.book-stage{padding:15px 0 25px;max-width:440px;margin-bottom:12px}.book-controls{gap:10px}.book-controls button{padding:10px 12px;font-size:13px}.book-controls p{font-size:12px;min-width:78px}.book-help{font-size:12px;line-height:1.6;margin-top:18px}.book-extras{margin-top:10px}.book-photo{padding:12px 12px 6px}.page-foot{font-size:10px}.photo-overview{margin-top:32px}.photo-overview summary{font-size:15px}.photo-overview summary span{font-size:12px}.book-cover{padding:9% 8%}.book-eyebrow{margin-bottom:22px}.book-page h3{font-size:40px}.book-info dl>div{padding:7px 0;font-size:12px}.book-contact h3{font-size:38px}.cover-top{font-size:11px}.cover-title{font-size:85px}.book-email{font-size:17px}.intro-bottom{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.book-cover{position:relative}.cover-top{position:absolute;top:8%;left:8%;right:8%}.cover-title{position:absolute;top:33%;left:8%}.cover-bottom{position:absolute;bottom:8%;left:8%;right:8%}.back-monogram{position:absolute;left:8%;top:32%}

/* Motion follows the existing editorial layout, with an accessible static mode. */
@keyframes soft-entry{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes portrait-entry{from{opacity:0;transform:translateY(20px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes accent-entry{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(prefers-reduced-motion:no-preference){
.animated-entry .hero-copy>*{animation:soft-entry .85s cubic-bezier(.2,.65,.25,1) both}
.animated-entry .hero-copy h1{animation-delay:.1s}
.animated-entry .hero-note{animation-delay:.2s}
.animated-entry .hero-actions{animation-delay:.3s}
.animated-entry .hero-visual{animation:portrait-entry 1.1s cubic-bezier(.2,.65,.25,1) .15s both}
.animated-entry .hero .eyebrow:before{transform-origin:left;animation:accent-entry .8s ease .4s both}
.reveal-ready{opacity:0;transform:translateY(22px);transition:opacity .75s ease var(--reveal-delay,0ms),transform .75s cubic-bezier(.2,.65,.25,1) var(--reveal-delay,0ms)}
.reveal-ready.revealed{opacity:1;transform:translateY(0)}
.button,.book-controls button{transition:transform .2s ease,background .2s ease,box-shadow .2s ease,color .2s ease}
.button:hover,.book-controls button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 15px #18201014}
.button:active,.book-controls button:active:not(:disabled){transform:translateY(0);box-shadow:none}
.hero-visual .small-image{transition:transform .45s ease,box-shadow .45s ease}
.hero-visual:hover .small-image{transform:translateY(-7px) rotate(-2deg);box-shadow:0 0 0 9px #fff,0 18px 25px #18201018}
.site-header nav a{position:relative;text-decoration:none}
.site-header nav a:after{content:"";position:absolute;left:0;right:0;bottom:7px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.site-header nav a:hover:after,.site-header nav a:focus-visible:after{transform:scaleX(1)}
}
@media(prefers-reduced-motion:reduce){.reveal-ready{opacity:1;transform:none}*,*:before,*:after{animation:none!important}}

body{overflow-anchor:none}

/* A slow, continuous movement keeps the name alive while the page is idle. */
.motion-toggle{display:block;background:none;border:0;color:#636763;padding:10px 0;min-height:44px;margin-top:10px;font-size:12px;text-underline-offset:4px}
.motion-toggle[hidden]{display:none}.motion-toggle:hover{text-decoration:underline}
@keyframes name-drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes name-sheen{0%,15%{background-position:100% 50%}85%,100%{background-position:0% 50%}}
@media(prefers-reduced-motion:no-preference){
.animated-entry .hero-copy h1{animation:soft-entry .85s cubic-bezier(.2,.65,.25,1) .1s both,name-drift 10s ease-in-out 1s infinite}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
.hero h1 span{background-image:linear-gradient(110deg,#181918 0%,#181918 40%,#6a7653 49%,#181918 58%,#181918 100%);background-size:260% 100%;background-position:100% 50%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:name-sheen 14s ease-in-out 1.4s infinite}
}
.motion-paused .hero-copy h1,.motion-paused .hero h1 span{animation-play-state:paused}
}
@media(prefers-reduced-motion:reduce){.motion-toggle{display:none}}

/* Layered, slow hero motion: portraits, name, light and editorial accent. */
.hero{position:relative;isolation:isolate;overflow:clip;--portrait-lift:-12px;--card-lift:-18px}
.hero:before{content:"";position:absolute;z-index:-1;pointer-events:none;width:70%;height:85%;right:-8%;top:2%;background:radial-gradient(ellipse at center,rgba(217,230,157,.24),rgba(229,236,208,.09) 48%,transparent 72%);opacity:.7}
@keyframes portrait-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(var(--portrait-lift)) rotate(.45deg)}}
@keyframes card-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(var(--card-lift)) rotate(1.4deg)}}
@keyframes living-name{0%,100%{transform:translate(0,0)}50%{transform:translate(3px,-9px)}}
@keyframes ambient-light{0%,100%{transform:translate(-3%,1%) scale(.95);opacity:.45}50%{transform:translate(5%,6%) scale(1.08);opacity:.95}}
@keyframes accent-breathe{0%,100%{transform:scaleX(1);opacity:.65}50%{transform:scaleX(1.65);opacity:1}}
@keyframes book-invitation{0%,65%,100%{box-shadow:0 0 0 0 rgba(125,142,71,0)}80%{box-shadow:0 0 0 7px rgba(125,142,71,.12)}}
@media(prefers-reduced-motion:no-preference){
.animated-entry .hero-copy h1{animation:soft-entry .85s cubic-bezier(.2,.65,.25,1) .1s both,living-name 8s ease-in-out 1s infinite}
.hero-visual .main-image{animation:portrait-float 11s ease-in-out 1.3s infinite;transform-origin:50% 70%}
.hero-visual .small-image{animation:card-float 8s ease-in-out 1.3s infinite;transform-origin:50% 80%;box-shadow:0 0 0 9px #fff,0 16px 28px #18201015}
.hero:before{animation:ambient-light 16s ease-in-out infinite}
.animated-entry .hero .eyebrow:before{animation:accent-entry .8s ease .4s both,accent-breathe 6s ease-in-out 1.2s infinite}
.hero h1 span{animation-duration:9s}
.hero-actions .button-dark{animation:book-invitation 9s ease-in-out 3s infinite}
.motion-paused .hero,.motion-paused .hero *,.motion-paused .hero:before,.motion-paused .hero *:before,.motion-paused .hero *:after{animation-play-state:paused!important}
}
@media(max-width:600px){.hero{--portrait-lift:-7px;--card-lift:-11px}.hero:before{width:115%;height:65%;top:25%}}

/* The book uses available screen space while keeping navigation within reach. */
.portfolio>.wrap{max-width:1800px;padding-left:clamp(12px,4vw,64px);padding-right:clamp(12px,4vw,64px)}
.book-stage{max-width:1200px;padding:18px 8px 24px;margin-bottom:16px}
.book-stage .stf__parent{min-width:0!important;min-height:0!important;height:clamp(240px,min(calc((100vw - 40px)*684/488),calc(100svh - 180px)),814px)}
.book-stage .stf__wrapper{height:100%;padding-bottom:0!important}
.book-photo{padding:14px 14px 8px}
@media(max-width:760px){.book-stage{max-width:100%;padding:12px 4px 18px}.book-photo{padding:10px 10px 6px}.book-controls{gap:10px}.book-controls p{min-width:0;white-space:nowrap}.book-controls button{padding:10px 12px}.book-help{padding:0 8px}.book-stage .stf__parent{height:clamp(240px,min(calc((100vw - 32px)*684/488),calc(100svh - 170px)),814px)}}
@media(max-width:360px){.book-controls{gap:8px}.book-controls button{padding:10px;font-size:12px}.book-controls p{font-size:12px}.portfolio .section-head h2{font-size:36px}.portfolio .section-head>p{max-width:90px}}

.book-email a{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-decoration:underline;text-underline-offset:.2em;cursor:pointer}.book-email a:hover{opacity:.7}

.footer-links{display:flex;flex-wrap:wrap;gap:12px 26px}.legal-page{max-width:960px;padding-top:70px;padding-bottom:85px}.legal-page h1{font-size:clamp(38px,6vw,68px);letter-spacing:-.05em;line-height:1.1;margin:20px 0 38px;overflow-wrap:anywhere}.legal-page h2{font-size:23px;line-height:1.3;margin:38px 0 12px;letter-spacing:-.025em}.legal-page p,.legal-page address{line-height:1.75}.legal-page address{font-style:normal}.legal-page a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.legal-lead{font-size:19px;color:var(--muted)}.legal-date{margin-top:48px;font-size:13px;color:var(--muted)}
