:root{--ink:#142125;--dark:#101c1e;--cream:#f3f0eb;--sage:#a7c0b2;--muted:#677274;--rail:112px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:18px}body{margin:0;color:var(--ink);background:var(--dark);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.5}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #71998b;outline-offset:5px}button{border:0;background:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.02}h2{font-size:clamp(40px,4.7vw,66px);letter-spacing:-1.6px}p{font-size:16px;line-height:1.5}h2 span,h1 span{color:#89a598}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--rail);z-index:20;border-right:1px solid #344042;background:linear-gradient(100deg,#101b1d,#0c1517);color:#879293;display:flex;flex-direction:column;padding:22px 15px}.monogram{font-family:'Caveat',cursive;font-size:49px;font-weight:400;color:#c0c6c1;margin-bottom:36px;align-self:center}.sidebar nav{display:flex;flex-direction:column;position:relative;gap:24px}.sidebar nav:before{content:'';position:absolute;left:9px;top:8px;bottom:8px;width:1px;background:#536060;opacity:.45}.sidebar nav a{display:flex;align-items:center;gap:10px;font-size:10px;position:relative;transition:color .2s}.sidebar nav a span{font-size:10px;background:#101b1d;z-index:1;width:19px;text-align:center}.sidebar nav a.active{color:#f5f4ef}.sidebar nav a.active span{font-size:0}.sidebar nav a.active span:after{content:'';display:block;width:7px;height:7px;border-radius:50%;border:2px solid #e0e8e1;margin:auto}.rail-number{margin-top:auto;font-family:Georgia,serif;font-size:66px;line-height:1;color:#344143}.rail-bottom{margin:20px auto 0}main{margin-left:var(--rail);overflow:hidden}section{position:relative;padding:90px 6%;isolation:isolate;scroll-margin-top:0}.light{background:var(--cream)}.dark{background:radial-gradient(ellipse at 80% 30%,#263437 0,transparent 54%),var(--dark);color:#eee;}.hero{min-height:660px;height:54vw;max-height:850px;padding-top:36px;clip-path:polygon(0 0,100% 0,100% 96%,92% 97%,61% 94%,37% 98%,0 94%);z-index:2;margin-bottom:-35px}.brand{font-size:15px;letter-spacing:2px;font-weight:600;position:relative}.brand span,.footer-brand span{display:block;font-size:9px;letter-spacing:2px;margin-top:5px}.hero-copy{position:relative;margin-top:100px;max-width:450px}.hello{font-family:'Libre Caslon Display',Georgia,serif;font-size:37px;color:#677576;line-height:1}.hero h1{font-size:clamp(78px,8.8vw,122px);letter-spacing:-4px;line-height:1}.hero h2{font-size:clamp(28px,3vw,43px);letter-spacing:-1px;margin-top:12px;white-space:nowrap}.hero-copy>p:not(.hello){max-width:355px;margin:26px 0}.crop{position:relative;overflow:hidden}.crop img{max-width:none;position:absolute;height:auto;pointer-events:none;user-select:none}.hero-art{position:absolute;inset:0 0 0 39%;z-index:-2}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--cream),transparent 27%)}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:48px;padding:12px 24px;font-size:14px;font-weight:500;border-radius:3px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.outline{border:1px solid #7e8a8a}.sage{background:var(--sage);color:var(--ink);border:1px solid var(--sage)}.deep{background:#173033;color:white}.hand{font-family:'Caveat',cursive;font-size:28px;line-height:1.15;transform:rotate(-9deg)}.hero-note{position:absolute;right:4%;bottom:7%;font-size:29px}.services{padding-top:110px;padding-bottom:100px;min-height:675px;clip-path:polygon(0 0,100% 0,100% 100%,0 96%);margin-bottom:-25px;z-index:1}.eyebrow{font-size:12px;letter-spacing:2.3px;font-weight:600;margin-bottom:18px;color:#6c7777}.dark .eyebrow{color:#b1bab7}.section-intro>p:last-child{margin-top:18px;color:#c3cac7}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:880px;margin-top:47px;position:relative}.service-grid article{padding:0 40px;border-right:1px solid #2b3839}.service-grid article:first-child{padding-left:8px}.service-grid article:last-child{border:0}.line-icon{font-size:40px;color:#c5d0c9;line-height:1;margin-bottom:19px}.service-grid h3{font-size:29px;line-height:1.1;margin-bottom:19px}.service-grid p{font-size:14px;color:#c5ccc8;line-height:1.4}.text-link{display:inline-flex;align-items:center;gap:17px;font-size:14px;padding:0;margin-top:22px}.text-link:hover{color:#88aa9b}.ghost{position:absolute;right:2%;top:90px;font-family:Georgia,serif;font-size:65px;line-height:1.5;color:#a2b0a5;opacity:.075;border-left:1px solid #769686;border-radius:50%;padding-left:65px;transform:rotate(-3deg);pointer-events:none}.projects{min-height:570px;padding-top:85px;padding-bottom:135px;display:flex;align-items:flex-start;gap:30px;clip-path:polygon(0 0,100% 0,100% 100%,32% 96%,0 97%);margin-bottom:-25px;z-index:2}.project-copy{width:34%;position:relative;z-index:2}.project-copy h2{font-size:clamp(40px,4.2vw,58px)}.project-copy>p:not(.eyebrow){max-width:295px;margin-top:22px}.project-stage{width:62%;position:relative;margin-top:0}.project-picture{width:100%;aspect-ratio:322/231;transform:rotate(-2deg);border-radius:12px;box-shadow:0 16px 26px #16202115}.carousel-arrow{position:absolute;top:45%;width:48px;height:48px;border-radius:50%;background:#bdccc4;color:#435352;font-size:40px;line-height:40px;box-shadow:0 4px 12px #14212512}.previous{left:-25px}.next{right:-25px}.carousel-arrow:hover{background:#a0b8aa}.project-card{position:absolute;left:6%;bottom:75px;display:flex;align-items:center;gap:18px;max-width:480px;width:44%;background:#faf9f6;box-shadow:0 5px 22px #17232212;border-radius:4px;overflow:hidden;padding-right:12px;z-index:4}.project-thumb{width:130px;min-width:100px;aspect-ratio:88/73;align-self:stretch}.project-card strong{font-size:16px}.project-card p{font-size:12px;margin-top:6px}.tags{display:flex;gap:5px;margin-top:5px}.tags span{border:1px solid #d9ddda;padding:0 4px;font-size:10px;color:#77817f}.card-arrow{margin-left:auto}.project-dots{display:flex;justify-content:center;gap:9px;margin-top:24px}.project-dots button{width:25px;height:3px;padding:0;background:#d4d7d2}.project-dots .selected{background:#718d80}.project-note{position:absolute;bottom:55px;right:6%}.nature{height:490px;display:flex;align-items:center;padding-top:65px;padding-bottom:65px;clip-path:polygon(0 0,100% 0,100% 96%,75% 100%,30% 97%,0 100%);z-index:3;margin-bottom:-20px}.nature-art{position:absolute;inset:0;z-index:-2}.nature-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#101c1ed9,#101c1e50 65%,#101c1e10)}.nature-art img{filter:brightness(.8)}.nature-copy h2{font-size:clamp(40px,4.6vw,64px);line-height:1.08}.nature-copy>p:not(.eyebrow){margin:20px 0 25px;color:#e0e5de}.nature-note{position:absolute;right:5%;bottom:55px;color:#e4e9e0}.about{padding-top:85px;padding-bottom:90px;display:grid;grid-template-columns:1.2fr 1fr .65fr;gap:42px;min-height:570px;clip-path:polygon(0 0,100% 0,100% 97%,76% 100%,0 95%);z-index:4;margin-bottom:-30px}.about h2{font-size:clamp(36px,3.7vw,52px)}.small-rule{height:2px;width:35px;background:#9eb9a9;margin:13px 0 20px}.about-copy>p:not(.eyebrow){font-size:15px;margin-bottom:18px}.about .button{margin-top:3px}.portrait-wrap{position:relative;margin-top:-5px}.portrait{width:100%;aspect-ratio:183/246;border-radius:6px;transform:rotate(-2deg);box-shadow:-12px 14px 20px #14212525}.paper{position:absolute;right:-30px;bottom:-25px;padding:18px;background:#e9e5dc;box-shadow:2px 5px 8px #14212525;font-size:25px;min-width:190px;transform:rotate(-8deg)}.interests{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:27px}.interests li{display:flex;align-items:flex-start;gap:15px;font-size:12px;line-height:1.35}.interests strong{font-weight:600}.interests li>span{font-size:33px;line-height:1;width:30px;flex-shrink:0;color:#536363}.contact{padding-top:85px;padding-bottom:65px;min-height:380px}.contact-copy{position:relative}.contact h2{font-size:clamp(39px,4vw,56px)}.contact p:not(.eyebrow){margin-top:22px;color:#c6cdc7}.contact-buttons{display:flex;gap:20px;margin-top:25px}.contact-art{position:absolute;inset:0 0 0 40%;z-index:-1}.contact-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#111e20,transparent 55%)}footer{border-top:1px solid #384347;padding:22px 4%;display:flex;gap:25px;align-items:center;color:#c4cdc8;min-height:110px}.footer-brand{font-size:20px}.footer-brand span{font-size:8px}.footer-links{display:flex;align-items:center;gap:20px;margin-left:auto;font-size:12px}.footer-links button{padding:0;font-size:12px}footer .hand{font-size:22px;margin-left:25px}.skip{position:fixed;top:-60px;left:120px;background:white;padding:10px;z-index:100}.skip:focus{top:10px}dialog{border:1px solid #a1b6aa;border-radius:8px;padding:48px;max-width:650px;width:calc(100% - 32px);color:var(--ink);background:var(--cream);box-shadow:0 25px 100px #0006}dialog::backdrop{background:#081214bd;backdrop-filter:blur(5px)}dialog h2{font-size:44px;margin-bottom:25px}dialog p{margin-bottom:15px}.close-dialog{position:absolute;top:8px;right:13px;font-size:32px}dialog .crop{width:100%;aspect-ratio:370/195;border-radius:4px}
@media(min-width:1500px){main{max-width:1680px;margin-right:auto}.hero-copy{margin-top:140px}}@media(max-width:1050px){:root{--rail:85px}.sidebar{padding:18px 8px}.sidebar nav a{font-size:9px;gap:5px}.hero{min-height:600px}.hero-copy{margin-top:100px;max-width:360px}.hero-art{left:35%;opacity:.85}.hero-copy>p:not(.hello){max-width:320px}.hero h1{font-size:85px}.hero h2{font-size:32px}.services{padding-bottom:85px}.service-grid article{padding:0 25px}.project-card{width:52%}.about{gap:24px;grid-template-columns:1.1fr 1fr .65fr}.paper{font-size:20px;min-width:150px;right:-10px}.interests{gap:24px}.interests li{gap:9px}.interests li>span{font-size:26px;width:22px}.nature-note{font-size:23px}.footer-brand span{font-size:7px}footer .hand{display:none}}
@media(max-width:700px){:root{--rail:0px}html{scroll-padding-top:64px}.sidebar{width:100%;height:62px;bottom:auto;flex-direction:row;padding:5px 18px;align-items:center;justify-content:space-between;border-bottom:1px solid #344042}.monogram{font-size:37px;margin:0}.sidebar nav{flex-direction:row;gap:16px}.sidebar nav:before,.sidebar nav a span,.rail-number,.rail-bottom{display:none}.sidebar nav a{font-size:11px}.sidebar nav a:nth-child(2),.sidebar nav a:nth-child(4){display:none}main{padding-top:62px}section{padding:62px 7%}.hero{height:790px;max-height:none;padding-top:26px;min-height:0}.brand{font-size:12px}.brand span{font-size:7px}.hero-copy{margin-top:48px;max-width:none}.hello{font-size:29px}.hero h1{font-size:84px}.hero h2{font-size:30px}.hero-copy>p:not(.hello){max-width:340px;margin-top:20px;font-size:15px}.hero-art{inset:auto 0 0 22%;height:325px;opacity:1}.hero-art:after{background:linear-gradient(180deg,var(--cream),transparent 30%),linear-gradient(90deg,var(--cream),transparent 25%)}.hero-note{bottom:5%;right:7%;font-size:23px}.services{padding-top:85px}.service-grid{gap:26px;margin-top:35px;grid-template-columns:1fr}.service-grid article,.service-grid article:first-child{padding:0 0 25px 65px;border:0;border-bottom:1px solid #334141;position:relative}.line-icon{position:absolute;left:0;top:0;font-size:30px}.service-grid h3{font-size:30px;margin-bottom:15px}.service-grid h3 br{display:none}.service-grid p{font-size:14px}.ghost{font-size:60px;right:-20px;top:250px}.projects{display:block;padding-top:75px;padding-bottom:180px;min-height:720px}.project-copy{width:100%}.project-copy h2{font-size:46px}.project-copy>p:not(.eyebrow){max-width:100%;font-size:15px}.project-stage{width:94%;margin:35px auto 0}.project-card{bottom:70px;left:7%;width:86%;max-width:none;gap:12px}.project-thumb{min-width:82px;width:82px}.project-card strong{font-size:14px}.project-card p{font-size:11px}.project-note{display:none}.carousel-arrow{width:38px;height:38px;line-height:32px;font-size:34px}.previous{left:-18px}.next{right:-18px}.nature{height:520px;padding-top:80px;align-items:flex-start}.nature-copy h2{font-size:43px}.nature-copy>p:not(.eyebrow){font-size:15px}.nature-copy br:not(h2 br){display:none}.nature-note{bottom:43px;font-size:25px}.nature .eyebrow{font-size:10px;letter-spacing:1.5px}.about{padding-top:75px;padding-bottom:95px;grid-template-columns:1fr 1fr;gap:35px 24px}.about-copy{grid-column:1/-1}.about h2{font-size:45px}.portrait-wrap{align-self:start;margin-top:5px}.interests{gap:19px}.interests li{font-size:11px}.paper{font-size:18px;bottom:-65px;right:-9px;min-width:130px;padding:13px}.contact{padding-top:80px;padding-bottom:65px;min-height:425px}.contact-art{left:15%;opacity:.45}.contact h2{font-size:43px}.contact p:not(.eyebrow){font-size:15px}.contact-buttons{gap:10px}.button{padding:12px 17px;gap:18px;font-size:13px}.contact-copy br:not(h2 br){display:none}footer{padding:24px 7%;align-items:flex-start;flex-direction:column;gap:15px}.footer-links{margin:0}.eyebrow{font-size:11px}dialog{padding:35px 25px}dialog h2{font-size:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Full available viewport height, with room for overflowing content. */
main > section { min-height: 100vh; min-height: 100dvh; height: auto; max-height: none; margin-bottom: 0; }
.hero { height: 100vh; height: 100dvh; min-height: 660px; }
.services, .projects, .about { align-content: center; }
.nature, .contact { display: flex; align-items: center; }
@media (max-width: 700px) {
  main > section { min-height: calc(100vh - 62px); min-height: calc(100dvh - 62px); }
  .hero { height: auto; min-height: max(790px, calc(100dvh - 62px)); }
  .nature { align-items: center; }
}

/* Section 02: keep the entire viewport covered by its dark surface. */
main > #leistungen {
  min-height: 100vh;
  min-height: 100dvh;
  height: auto;
  clip-path: none;
  margin-bottom: 0;
}
@media (min-width: 701px) {
  html { scroll-padding-top: 0; }
}
@media (max-width: 700px) {
  main > #leistungen {
    min-height: calc(100vh - 62px);
    min-height: calc(100dvh - 62px);
  }
}
