@font-face{font-family:Manrope;src:url('assets/manrope.woff2') format('woff2');font-weight:200 800;font-display:swap}
:root{--ink:#142a31;--muted:#596568;--paper:#f6f6ef;--lime:#d4ef7b;--line:#d8ddd4;--white:#fff;--green:#476449}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;height:auto}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #578727;outline-offset:6px}::selection{background:var(--lime);color:var(--ink)}.wrap{width:min(1320px,calc(100% - 112px));margin-inline:auto}.skip{position:fixed;z-index:20;left:12px;top:-100px;padding:10px 20px;background:var(--lime)}.skip:focus{top:12px}.header{height:115px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;align-items:center;gap:13px;font-size:17px;font-weight:800;white-space:nowrap;line-height:1.3}.brand small{display:block;font-size:9px;letter-spacing:2.4px;font-weight:600;margin-top:5px}.brand-icon{display:flex;position:relative;width:48px;height:48px;align-items:center;justify-content:center;background:var(--ink);color:var(--lime);font-size:25px;font-weight:800;letter-spacing:-3px;border-radius:13px}.brand-icon span{font-size:17px;position:relative;top:-5px;left:2px;letter-spacing:0}.desktop-nav{display:flex;gap:30px;font-size:12px;font-weight:650}.desktop-nav a:hover,.text-link:hover{color:var(--green)}.nav-contact{font-size:12px;font-weight:750;border-bottom:1px solid var(--ink);padding-bottom:7px;display:flex;gap:26px}.nav-contact span{font-size:20px;line-height:1}.menu-button{display:none}.mobile-nav[hidden]{display:none}.mobile-nav{display:grid;padding:10px 24px 25px;border-block:1px solid var(--line)}.mobile-nav a{padding:12px 0}.hero{display:grid;grid-template-columns:1.06fr 1fr;gap:30px;padding-block:50px 76px;align-items:center}.eyebrow{font-size:10px;letter-spacing:1.55px;line-height:1.5;font-weight:750;margin:0 0 23px;display:flex;align-items:center;gap:10px}.status-dot{width:7px;height:7px;display:inline-block;flex-shrink:0;background:#6a863c;border-radius:50%;box-shadow:0 0 0 4px #73984213}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(49px,4.9vw,73px);letter-spacing:-4px;line-height:1.07;font-weight:750;margin-bottom:28px}h1>span{color:var(--green)}.hero-text{font-size:14px;line-height:1.9;color:var(--muted);margin-bottom:29px}.hero-actions{display:flex;gap:23px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:17px 23px;font-size:12px;font-weight:700;border-radius:5px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:20px;line-height:1}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:#29474e}.button-lime{background:var(--lime);color:var(--ink)}.button-lime:hover{background:#e2f7a9}.text-link{font-size:12px;font-weight:750;display:inline-flex;gap:13px;align-items:center;padding:9px 0}.hero-byline{display:flex;align-items:center;gap:12px;margin-top:34px}.initials{background:#e3e8de;color:#476449;width:39px;height:39px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid #d5dbcf;border-radius:50%;font-size:11px;font-weight:750}.hero-byline p{font-size:11px;margin:0;font-weight:700;line-height:1.6}.hero-byline small{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:2px}.hero-art{height:530px;position:relative;border-radius:12px;background:#e6eade;isolation:isolate;margin-left:2px;overflow:hidden}.art-label{position:absolute;top:29px;left:30px;z-index:2;font-size:8px;letter-spacing:1.8px;font-weight:700;color:#526555}.orbit{position:absolute;border:1px solid #cbd5c0;border-radius:50%;width:510px;height:510px;left:60px;top:14px;z-index:-1}.orbit-two{width:395px;height:395px;top:70px;left:117px}.desktop-mockup{position:absolute;width:90%;left:6%;top:95px;box-shadow:0 22px 42px #24382924;transform:rotate(-5deg);border-radius:7px;overflow:hidden;background:white;border:5px solid white;transition:transform .3s}.desktop-mockup:hover{transform:rotate(-3deg) translateY(-4px)}.browser-bar{height:26px;display:flex;justify-content:space-between;align-items:center;padding:0 7px;color:#727a74;font-size:6px;letter-spacing:.2px}.window-dots{display:flex;gap:3px}.window-dots i,.mini-bar i{width:4px;height:4px;border-radius:50%;background:#d8dcd6}.desktop-mockup img{width:100%;aspect-ratio:1440/1040;object-fit:cover}.phone-mockup{position:absolute;right:24px;bottom:35px;width:155px;padding:5px;border:3px solid #263735;background:#263735;box-shadow:0 16px 34px #102e3638;border-radius:24px;transform:rotate(7deg);transition:transform .3s}.phone-mockup:hover{transform:rotate(4deg) translateY(-4px)}.phone-mockup img{border-radius:15px;width:100%;aspect-ratio:390/844;object-fit:cover}.phone-speaker{position:absolute;top:8px;left:calc(50% - 22px);width:44px;height:8px;border-radius:0 0 6px 6px;background:#263735}.mobile-tag{position:absolute;left:25px;bottom:55px;background:var(--lime);padding:13px 17px;display:flex;gap:12px;align-items:center;box-shadow:0 10px 20px #183c3210;transform:rotate(-3deg);border-radius:5px}.mobile-tag>span{font-size:16px;width:27px;height:27px;border:1px solid #78963b;border-radius:50%;display:flex;align-items:center;justify-content:center}.mobile-tag p{font-size:11px;font-weight:750;line-height:1.5;margin:0}.mobile-tag small{display:block;font-size:8px;font-weight:500}.art-bottom{position:absolute;left:30px;right:28px;bottom:18px;font-size:7px;letter-spacing:1.4px;display:flex;justify-content:space-between;align-items:center;color:#62745e}.art-bottom>span{font-size:21px;line-height:1}.promise-strip{border-block:1px solid var(--line)}.promise-strip .wrap{display:flex;justify-content:space-between;gap:25px;align-items:center;padding-block:22px}.promise-strip span{font-size:11px;color:var(--muted)}.promise-strip p{font-size:9px;letter-spacing:1.2px;font-weight:650;margin:0;display:flex;align-items:center;gap:22px}.promise-strip i{font-style:normal;font-size:17px;color:#789257}.section{padding-block:95px}.services{display:grid;grid-template-columns:1fr 1.14fr;gap:100px}.section-intro>p:last-child{max-width:350px;color:var(--muted);font-size:14px;line-height:1.9}h2{font-size:clamp(32px,3.5vw,46px);line-height:1.17;letter-spacing:-2px;font-weight:700;margin-bottom:22px}h2 span{color:var(--green)}.service-list article{display:flex;align-items:start;gap:22px;padding:26px 0;border-top:1px solid var(--line)}.service-list article:first-child{padding-top:4px;border-top:0}.service-list article:last-child{padding-bottom:0}.service-icon{width:37px;height:37px;display:flex;justify-content:center;align-items:center;flex-shrink:0;background:#e7ebdf;border-radius:8px;font-size:26px;line-height:1}.phone-icon i{width:13px;height:21px;border:1.5px solid var(--ink);border-radius:3px;position:relative}.phone-icon i:after{content:'';position:absolute;bottom:2px;left:3px;width:4px;border-top:1px solid var(--ink)}h3{font-size:17px;font-weight:750;line-height:1.4;letter-spacing:-.45px;margin-bottom:9px}.service-list p{font-size:12px;line-height:1.9;color:var(--muted);margin:0}.item-number{font-size:9px;color:#778379;margin-left:auto;padding-top:5px}.projects-section{background:#ebeee5;padding-block:84px 59px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px}.section-heading .eyebrow{margin-bottom:15px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:12px;line-height:1.9;color:var(--muted);margin-bottom:3px}.projects{display:grid;grid-template-columns:1fr 1fr;gap:33px}.project-image{display:block;position:relative;height:305px;border-radius:7px;overflow:hidden;isolation:isolate}.project-image.geis{background:#d8cfc0}.project-image.roeder{background:#dbcbc9}.project-badge{position:absolute;z-index:2;left:20px;top:18px;font-size:7px;font-weight:700;letter-spacing:1px;background:#ffffffad;padding:5px 9px;border-radius:3px}.project-browser{position:absolute;left:7%;right:7%;top:58px;background:white;border-radius:6px 6px 0 0;box-shadow:0 18px 45px #38252226;transition:transform .4s}.project-image:hover .project-browser{transform:translateY(-6px)}.mini-bar{height:18px;display:flex;gap:3px;padding-left:8px;align-items:center}.project-browser img{width:100%}.project-open{position:absolute;right:18px;bottom:18px;display:flex;width:37px;height:37px;align-items:center;justify-content:center;background:var(--paper);border-radius:50%;font-size:23px;box-shadow:0 2px 6px #142a3110}.project-caption{display:flex;justify-content:space-between;gap:15px;padding-top:24px;align-items:center}.project-caption .eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:8px;color:var(--green)}.project-caption h3{font-size:22px;margin-bottom:4px;letter-spacing:-.7px}.project-caption p{font-size:11px;color:var(--muted);margin:0}.project-link{font-size:11px;font-weight:700;white-space:nowrap;display:flex;align-items:center;gap:14px;padding:8px 0;border-bottom:1px solid #9aa897}.project-link span{font-size:19px}.project-disclaimer{font-size:10px;color:var(--muted);margin:33px 0 0;display:flex;gap:9px;align-items:baseline}.project-disclaimer>span{font-size:18px}.steps{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:55px}.step-number{display:flex;justify-content:space-between;border-top:1px solid #bfcabc;padding-top:18px;font-size:11px;font-weight:700;margin-bottom:32px}.step-number>span{color:#668154;font-size:18px;line-height:1}.steps h3{font-size:20px}.steps p{font-size:12px;line-height:1.95;color:var(--muted);margin-bottom:0}.contact{background:var(--ink);color:#fff;border-radius:9px;display:grid;grid-template-columns:1.4fr 1fr;gap:70px;padding:60px 65px;align-items:center;margin-top:10px;margin-bottom:45px;position:relative;overflow:hidden}.contact .eyebrow{font-size:9px;color:#d2ddcd}.contact .status-dot{background:var(--lime)}.contact h2{font-size:43px;letter-spacing:-1.9px}.contact h2 span{color:var(--lime)}.contact-copy>p:not(.eyebrow){color:#bfcdce;font-size:12px;line-height:1.9;margin-bottom:26px}.contact-person{display:flex;gap:12px;align-items:center;font-size:10px}.contact-person .initials{background:#2b4146;color:var(--lime);border-color:#405658}.contact-person small{display:block;color:#b5c4c5;font-size:9px;margin-top:2px}.contact-actions .button{width:100%;padding:18px 23px}.call-link{display:block;padding-block:25px 18px;border-bottom:1px solid #42575b}.call-link>span{font-size:10px;color:#c6d2d0}.call-link strong{display:flex;align-items:center;justify-content:space-between;font-size:29px;font-weight:600;letter-spacing:-1px;margin-top:1px}.call-link strong span{font-size:23px;color:var(--lime)}.contact-note{color:#acbec0;font-size:10px;line-height:1.8;margin:14px 0 0;max-width:290px}.footer{display:flex;justify-content:space-between;gap:25px;align-items:center;padding-bottom:36px;font-size:9px;color:var(--muted)}.footer p{margin:0}.footer-brand{font-size:13px;color:var(--ink)}.footer-brand .brand-icon{width:32px;height:32px;border-radius:9px;font-size:18px;letter-spacing:-2px}.footer-brand .brand-icon span{font-size:12px}.footer>a:last-child{font-weight:700}
@media(min-width:1600px){.hero-art{height:570px}.desktop-mockup{top:100px}.phone-mockup{width:175px}.hero{gap:55px}}
@media(max-width:1150px){.wrap{width:calc(100% - 70px)}.desktop-nav{gap:20px}.hero{gap:25px;padding-top:35px}h1{font-size:55px;letter-spacing:-3px}.hero-art{height:500px}.desktop-mockup{top:100px;width:96%;left:3%}.phone-mockup{width:143px;right:12px;bottom:40px}.mobile-tag{left:16px;bottom:40px;padding:10px;max-width:190px}.hero-actions{gap:10px}.hero-text{font-size:13px}.services{gap:55px}.contact{gap:45px;padding:50px 40px}.contact h2{font-size:36px}.promise-strip p{gap:15px;font-size:8px}.project-image{height:280px}}
@media(max-width:900px){.desktop-nav{display:none}.header{height:94px}.nav-contact{margin-left:auto}.hero{grid-template-columns:1fr;gap:45px;padding-top:25px;padding-bottom:45px}.hero-copy{max-width:650px}.hero h1{font-size:clamp(48px,8vw,72px)}.hero-text{font-size:15px}.hero-art{height:490px;max-width:650px;width:100%;margin:0}.desktop-mockup{width:78%;left:7%;top:70px}.phone-mockup{width:155px;right:45px}.mobile-tag{left:35px;bottom:48px}.hero-byline{margin-top:25px}.services{grid-template-columns:1fr;gap:32px}.section-intro>p:last-child{max-width:500px}.section{padding-block:65px}.section-heading{gap:24px;align-items:start;flex-direction:column}.section-heading>p br{display:none}.promise-strip .wrap{flex-direction:column;gap:10px;padding-block:18px}.promise-strip p{font-size:9px;gap:20px}.projects-section{padding-block:65px 45px}.projects{gap:23px}.project-image{height:235px}.project-caption{align-items:start;flex-wrap:wrap}.project-caption h3{font-size:20px}.steps{gap:30px;margin-top:32px}.steps h3{font-size:18px}.contact{grid-template-columns:1fr 1fr;padding:40px 30px;gap:30px}.contact h2{font-size:31px}.contact-copy>p br{display:none}.call-link strong{font-size:25px}.contact-actions .button{padding:15px;font-size:11px}.footer{flex-wrap:wrap}.footer p{display:none}}
@media(max-width:600px){html{scroll-padding-top:18px}.wrap{width:calc(100% - 40px)}.header{height:83px;gap:16px}.brand{font-size:15px;gap:10px}.brand-icon{width:40px;height:40px;border-radius:10px;font-size:23px}.brand small{font-size:8px;letter-spacing:1.7px}.nav-contact{display:none}.menu-button{width:44px;height:44px;border:1px solid #cfd7ca;border-radius:50%;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:12px}.menu-button span{display:block;width:18px;height:1.5px;background:var(--ink);transition:transform .2s}.menu-button[aria-expanded=true] span:first-child{transform:translateY(3.25px) rotate(45deg)}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-3.25px) rotate(-45deg)}.hero{padding-top:28px;gap:33px}.eyebrow{font-size:8px;letter-spacing:1.25px;margin-bottom:20px}.hero h1{font-size:clamp(39px,10.4vw,59px);line-height:1.1;letter-spacing:-2.3px;margin-bottom:23px}.hero-text{font-size:12px;line-height:1.9;margin-bottom:24px}.wide-only{display:none}.hero-actions{gap:10px 18px}.button{font-size:11px;padding:16px 18px;gap:20px}.text-link{font-size:11px}.hero-byline{margin-top:21px}.hero-byline p{font-size:10px}.hero-byline small{font-size:9px}.hero-art{height:365px;border-radius:8px}.art-label{top:20px;left:21px;font-size:6px;letter-spacing:1.3px}.desktop-mockup{top:70px;left:4%;width:91%;border-width:4px}.browser-bar{height:19px;font-size:5px}.phone-mockup{width:108px;right:16px;bottom:29px;border-radius:18px;padding:3px;border-width:2px}.phone-mockup img{border-radius:12px}.phone-speaker{height:6px;top:5px;width:34px;left:calc(50% - 17px)}.mobile-tag{left:13px;bottom:40px;gap:8px;max-width:210px;padding:10px}.mobile-tag p{font-size:9px}.mobile-tag small{font-size:7px}.mobile-tag>span{width:22px;height:22px;font-size:12px}.art-bottom{left:18px;right:17px;font-size:5px;bottom:12px}.orbit{width:370px;height:370px;left:20px;top:10px}.orbit-two{width:270px;height:270px;left:70px;top:60px}.promise-strip span{font-size:10px}.promise-strip p{font-size:6px;letter-spacing:.55px;gap:10px}.promise-strip i{font-size:12px}.section{padding-block:55px}h2{font-size:32px;letter-spacing:-1.5px}.section-intro>p:last-child{font-size:12px}.service-list article{gap:14px;padding-block:22px}.service-list h3{font-size:15px}.service-list p{font-size:11px}.service-icon{width:32px;height:32px;font-size:23px}.item-number{font-size:8px}.projects-section{padding-block:50px 35px}.section-heading{margin-bottom:28px;gap:18px}.section-heading>p{font-size:11px}.projects{grid-template-columns:1fr;gap:34px}.project-image{height:265px}.project-browser{top:48px}.project-caption{padding-top:18px;align-items:center;flex-wrap:nowrap}.project-caption h3{font-size:19px}.project-caption p{font-size:10px}.project-link{font-size:10px;gap:8px}.project-disclaimer{font-size:9px;line-height:1.8;margin-top:25px}.steps{grid-template-columns:1fr;gap:25px;margin-top:30px}.step-number{padding-top:14px;margin-bottom:14px}.steps h3{font-size:19px}.steps p{font-size:12px}.contact{grid-template-columns:1fr;padding:32px 25px;gap:31px;margin-top:0;margin-bottom:29px}.contact .eyebrow{font-size:7px;letter-spacing:1px}.contact h2{font-size:30px;letter-spacing:-1.5px}.contact-copy>p:not(.eyebrow){font-size:11px}.contact-actions .button{font-size:12px;padding:17px 20px}.call-link{padding-top:18px}.call-link strong{font-size:30px}.contact-note{font-size:10px;max-width:none}.footer{font-size:8px;gap:20px 12px;justify-content:space-between;padding-bottom:25px}.footer-brand{flex-basis:100%;font-size:12px}.footer-brand .brand-icon{width:30px;height:30px}.footer>a:last-child{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Comfortable reading sizes on small screens. */
@media(max-width:600px){.hero-text,.section-intro>p:last-child,.service-list p,.steps p,.contact-copy>p:not(.eyebrow){font-size:14px;line-height:1.85}.section-heading>p{font-size:13px}.service-list h3{font-size:17px}.project-caption p,.project-link{font-size:12px}.project-disclaimer,.contact-note{font-size:11px}.hero-byline p,.contact-person{font-size:12px}.hero-byline small,.contact-person small{font-size:10px}.eyebrow{font-size:9px}.button,.text-link{font-size:12px}.hero-actions{gap:9px 18px}.contact .eyebrow{font-size:8px}.call-link>span{font-size:12px}}
/* Featured project: Al Castello ToGo. */
.featured-project{display:grid;grid-template-columns:1.35fr 1fr;gap:55px;align-items:center}.castello-preview{display:block;position:relative;padding:65px 28px 28px;background:#dcd8cb;border-radius:9px;overflow:hidden}.castello-browser{border-radius:6px;overflow:hidden;background:#fff;box-shadow:0 18px 40px #24241c30}.castello-browser img{width:100%;height:auto}.featured-copy h3{font-size:34px;line-height:1.2;letter-spacing:-1.2px;margin-bottom:23px}.featured-copy>p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:1.85}.project-tags{display:flex;flex-wrap:wrap;gap:7px;margin:22px 0}.project-tags span{font-size:10px;border:1px solid #b9c4b1;border-radius:25px;padding:5px 10px}.project-author strong{color:var(--ink)}.example-links{display:flex;flex-wrap:wrap;gap:6px 23px;margin-bottom:17px}.local-project-link[hidden]{display:none}.hero-art .desktop-mockup img{object-position:top;object-fit:cover}
@media(max-width:900px){.featured-project{grid-template-columns:1fr;gap:30px}.featured-copy{max-width:600px}.castello-preview{padding:55px 25px 25px}}
@media(max-width:600px){.featured-copy h3{font-size:30px}.castello-preview{padding:48px 16px 16px}.featured-copy>p:not(.eyebrow){font-size:14px}.project-tags span{font-size:11px}.featured-copy .eyebrow{margin-bottom:16px}}
 .more-projects{margin-top:72px;padding-top:65px;border-top:1px solid #cbd3c4}
 @media(max-width:600px){.more-projects{margin-top:45px;padding-top:40px}}

.project-image.stern{background:#e7dfbd}
.project-image.hoffmann{background:#42553e}

.project-image.schoenbrunnen{background:#4a1920}
@media(min-width:601px){.projects>.project:last-child:nth-child(odd){grid-column:1/-1;width:calc((100% - 33px)/2);justify-self:center}}
