:root{--paper:#f3f0e9;--white:#fbfaf7;--ink:#25344b;--muted:#687386;--blue:#5d789c;--blue-pale:#e6ebf0;--coral:#c87259;--line:rgba(37,52,75,.18);--sidebar:250px;--pad:clamp(24px,4.5vw,76px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 "Manrope",Arial,sans-serif}
body.dialog-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{color:inherit}
img{display:block;max-width:100%}
.sidebar{position:fixed;z-index:10;inset:0 auto 0 0;width:var(--sidebar);padding:34px 28px 28px;display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--paper)}
.monogram{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--ink);font-family:"Prata",Georgia,serif;font-size:1.3rem}
.sidebar-intro{margin-top:42px;display:flex;flex-direction:column;gap:3px}
.sidebar-intro strong{font-size:1.05rem}
.sidebar-intro span,.sidebar-bottom p{color:var(--muted);font-size:.78rem}
.sidebar nav{margin-top:72px;display:grid;gap:16px}
.sidebar nav a{display:grid;grid-template-columns:30px 1fr;gap:7px;font-size:.84rem;font-weight:600}
.sidebar nav a span{color:#9aa1ad;font-size:.68rem}
.sidebar nav a:hover{color:var(--blue)}
.sidebar-bottom{margin-top:auto}
.sidebar-bottom p{margin:0 0 18px}
.primary-button,.secondary-button,.text-link{border:0;cursor:pointer}
.primary-button{width:100%;min-height:52px;padding:13px 16px;display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:var(--white);font-weight:700;transition:.2s}
.primary-button:hover{background:var(--blue)}
.secondary-button{min-height:46px;padding:10px 18px;background:transparent;border:1px solid var(--line);font-weight:600}
.content{margin-left:var(--sidebar)}
.section-pad{padding:clamp(78px,9vw,135px) var(--pad)}
.intro{min-height:720px;padding-top:44px;display:flex;flex-direction:column;border-bottom:1px solid var(--line)}
.intro-topline{display:flex;justify-content:space-between;gap:30px;color:var(--muted);font-size:.71rem;text-transform:uppercase;letter-spacing:.12em}
.availability{display:flex;align-items:center;gap:8px}
.availability i{width:7px;height:7px;border-radius:50%;background:var(--coral)}
.intro-grid{margin:auto 0;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,.55fr);gap:clamp(40px,7vw,110px);align-items:end}
.intro h1{margin:0;font-size:clamp(3.4rem,6.8vw,7.8rem);font-weight:600;line-height:.98;letter-spacing:-.065em}
.intro h1 em{display:inline-block;color:var(--blue);font-family:"Prata",Georgia,serif;font-size:.84em;font-weight:400;font-style:normal;letter-spacing:-.045em}
.intro-side{padding-bottom:10px}
.intro-side p{margin:0 0 30px;color:var(--muted);font-size:1.05rem}
.intro-side .primary-button{max-width:230px}
.capabilities{padding-top:22px;display:flex;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line)}
.capabilities span{padding:8px 11px;background:var(--blue-pale);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.section-title{margin-bottom:54px;display:grid;grid-template-columns:180px 1fr;align-items:end}
.section-title p,.section-label{margin:0;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.13em}
.section-title h2{margin:0;font-family:"Prata",Georgia,serif;font-size:clamp(2.4rem,4vw,4.8rem);font-weight:400;line-height:1}
.projects{background:var(--white)}
.project{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.45fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.project+.project{border-top:0}
.project-preview{position:relative;overflow:hidden;border-right:1px solid var(--line);background:#241a15}
.browser-bar{height:40px;padding:0 14px;display:flex;align-items:center;gap:6px;background:#dde2e7;color:#667083;font-size:.67rem}
.browser-bar i{width:7px;height:7px;border-radius:50%;background:#a9b1bd}
.browser-bar span{margin-left:auto;margin-right:auto}
.project-preview img{width:100%;height:clamp(440px,48vw,680px);object-fit:cover;transition:transform .55s ease}
.project-preview:hover img{transform:scale(1.015)}
.ember-cover{position:relative;height:clamp(440px,48vw,680px);overflow:hidden;background:#17110e;color:#f5ecdf}
.project-preview .ember-cover img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .55s ease}
.ember-cover-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,10,7,.9) 0%,rgba(17,10,7,.62) 44%,rgba(17,10,7,.06) 78%),linear-gradient(0deg,rgba(17,10,7,.5),transparent 55%)}
.ember-cover-copy{position:absolute;z-index:1;inset:0;padding:clamp(28px,4vw,64px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.ember-cover-copy small{margin-bottom:clamp(22px,3vw,46px);font:500 clamp(.42rem,.65vw,.7rem)/1.2 "Manrope",Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.ember-cover-copy strong{font:500 clamp(2.1rem,4.2vw,5rem)/.96 "Prata",Georgia,serif;letter-spacing:-.045em}
.ember-cover-copy strong em{color:#d49a69;font-weight:400}
.ember-cover-copy>span{margin-top:clamp(26px,3.5vw,52px);padding-bottom:5px;border-bottom:1px solid rgba(255,255,255,.65);font-size:clamp(.45rem,.7vw,.75rem);text-transform:uppercase;letter-spacing:.08em}
.project--dental .project-preview{background:#112a35}
.project--dental .browser-bar{background:#dce7e3;color:#405c5c}
.dental-cover{height:clamp(440px,48vw,680px);display:grid;grid-template-columns:58% 42%;overflow:hidden;background:#112a35;color:#f6f7f3}
.dental-cover-copy{padding:clamp(25px,3.8vw,62px) clamp(24px,3.4vw,54px) clamp(25px,3.8vw,62px) clamp(18px,3vw,48px);display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.dental-cover-copy small{margin-bottom:clamp(26px,4vw,60px);font:500 clamp(.38rem,.56vw,.62rem)/1.2 "Manrope",Arial,sans-serif;text-transform:uppercase;letter-spacing:.11em}
.dental-cover-copy strong{max-width:100%;font:500 clamp(1.35rem,2.2vw,2.75rem)/.96 "Manrope",Arial,sans-serif;letter-spacing:-.025em}
.dental-cover-copy strong em{color:#a8c6c0;font-style:normal}
.dental-cover-copy>span{margin-top:clamp(28px,4vw,58px);font-size:clamp(.42rem,.62vw,.68rem)}
.project-preview .dental-cover img{width:100%;height:100%;object-fit:cover;object-position:58% center;filter:saturate(.72);transition:transform .55s ease}
.project--modul .project-preview{background:#b5beb2}
.project--modul .browser-bar{background:#dce1d9;color:#1d2421}
.modul-cover{height:clamp(440px,48vw,680px);display:grid;grid-template-columns:44% 56%;overflow:hidden;background:#b5beb2;color:#1d2421}
.modul-cover-copy{position:relative;z-index:1;padding:clamp(24px,3.5vw,58px) clamp(18px,2.5vw,40px);display:flex;flex-direction:column;justify-content:center}
.modul-cover-copy small{position:absolute;top:clamp(24px,3vw,48px);font:600 clamp(.42rem,.58vw,.64rem)/1.2 "Manrope",Arial,sans-serif;text-transform:uppercase;letter-spacing:.07em}
.modul-cover-copy strong{max-width:100%;font:600 clamp(1.55rem,2.55vw,3.1rem)/.92 "Manrope",Arial,sans-serif;letter-spacing:-.035em}
.project-preview .modul-cover img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .55s ease}
.project-preview:hover .modul-cover img{transform:scale(1.015)}
.project--privilegia .project-preview{background:#5a2635}
.project--privilegia .browser-bar{background:#e6ddcf;color:#38252b}
.privilegia-cover{position:relative;height:clamp(440px,48vw,680px);overflow:hidden;background:#5a2635;color:#f8f2eb}
.project-preview .privilegia-cover img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.72);transition:transform .55s ease}
.privilegia-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(41,19,25,.88),rgba(41,19,25,.37) 58%,rgba(41,19,25,.06)),linear-gradient(0deg,rgba(41,19,25,.45),transparent 55%)}
.privilegia-cover-copy{position:absolute;z-index:1;inset:0;padding:clamp(28px,4vw,64px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.privilegia-cover-copy small{margin-bottom:clamp(24px,3vw,46px);font:500 clamp(.42rem,.62vw,.68rem)/1.2 "Manrope",Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.privilegia-cover-copy strong{font:500 clamp(2.2rem,4.4vw,5.3rem)/.88 "Prata",Georgia,serif;letter-spacing:-.045em}
.privilegia-cover-copy strong em{color:#dfb9aa;font-weight:400}
.privilegia-cover-copy>span{margin-top:clamp(30px,4vw,58px);padding-top:11px;border-top:1px solid rgba(255,255,255,.55);font-size:clamp(.44rem,.65vw,.72rem);letter-spacing:.08em;text-transform:uppercase}
.project-preview:hover .privilegia-cover img{transform:scale(1.015)}
.project--privilegia .project-info h3{font-size:clamp(1.65rem,2.3vw,2.4rem);white-space:nowrap}
.preview-action{position:absolute;right:20px;bottom:20px;padding:11px 14px;background:var(--white);font-size:.78rem;font-weight:700}
.project-info{padding:34px;display:flex;flex-direction:column}
.project-number{color:var(--muted);font-size:.72rem}
.project-info h3{margin:10px 0 0;font-family:"Prata",Georgia,serif;font-size:clamp(3rem,5vw,5.6rem);font-weight:400;line-height:1}
.project-info>p{margin:auto 0 30px;color:var(--muted)}
.project-info ul{margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;list-style:none}
.project-info li{padding:8px;border:1px solid var(--line);text-align:center;font-size:.68rem;text-transform:uppercase;letter-spacing:.07em}
.services{background:var(--blue-pale)}
.service-list{border-top:1px solid var(--line)}
.service-list article{min-height:150px;padding:25px 0;display:grid;grid-template-columns:70px minmax(180px,.65fr) 1fr;gap:28px;align-items:start;border-bottom:1px solid var(--line)}
.service-list article>span{color:#8993a2;font-size:.72rem}
.service-list h3{margin:0;font-family:"Prata",Georgia,serif;font-size:clamp(1.8rem,2.8vw,3.1rem);font-weight:400}
.service-list p{max-width:540px;margin:8px 0 0;color:var(--muted)}
.approach{background:var(--paper)}
.approach-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(50px,8vw,140px)}
.approach-lead{margin:0;font-family:"Prata",Georgia,serif;font-size:clamp(1.8rem,2.8vw,3rem);line-height:1.3}
.approach ol{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.approach li{padding:20px 0;display:grid;grid-template-columns:48px 1fr;gap:14px;border-bottom:1px solid var(--line)}
.approach li b{color:#98a0ad;font-size:.7rem}
.approach li span{color:var(--muted)}
.approach li strong{display:block;margin-bottom:3px;color:var(--ink)}
.contacts{display:grid;grid-template-columns:1fr minmax(260px,.46fr);gap:60px;align-items:end;background:var(--ink);color:var(--white)}
.contacts h2{margin:22px 0 0;font-size:clamp(3rem,6vw,7rem);font-weight:600;line-height:1;letter-spacing:-.06em}
.contacts h2 em{color:#b9c9dc;font-family:"Prata",Georgia,serif;font-size:.86em;font-weight:400;font-style:normal}
.contacts .section-label{color:#aeb8c7}
.contact-actions{display:grid;gap:13px}
.contact-actions .primary-button{background:var(--white);color:var(--ink);margin-bottom:12px}
.contact-actions>a{padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.24);font-size:.9rem}
footer{min-height:88px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:.75rem}
.mobile-header{display:none}
.contact-dialog{width:min(980px,calc(100% - 32px));padding:0;border:0;background:transparent;color:var(--ink)}
.contact-dialog::backdrop{background:rgba(25,33,45,.72);backdrop-filter:blur(4px)}
.dialog-layout{min-height:610px;display:grid;grid-template-columns:.8fr 1.2fr;background:var(--white);box-shadow:0 24px 80px rgba(20,28,40,.25)}
.dialog-intro{padding:48px 40px;display:flex;flex-direction:column;background:var(--blue);color:var(--white)}
.dialog-intro>p{margin:0;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em}
.dialog-intro h2{margin:auto 0 24px;font-family:"Prata",Georgia,serif;font-size:clamp(2.3rem,4vw,4.2rem);font-weight:400;line-height:1.08}
.dialog-intro>span{color:#e5ebf2;font-size:.9rem}
.dialog-form-wrap{position:relative;padding:64px 54px 42px}
.dialog-close{position:absolute;right:18px;top:14px;width:40px;height:40px;border:0;background:transparent;cursor:pointer;font-size:1.8rem;font-weight:300}
#contact-form{display:grid;gap:18px}
#contact-form>label:not(.consent){display:grid;gap:7px;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}
#contact-form input:not([type="checkbox"]){width:100%;padding:11px 0;border:0;border-bottom:1px solid var(--line);outline:0;background:transparent;color:var(--ink);font-size:1rem;text-transform:none;letter-spacing:0}
#contact-form input:not([type="checkbox"]):focus{border-color:var(--blue)}
.honeypot{position:absolute!important;left:-9999px!important}
.consent{display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:start;color:var(--muted);font-size:.78rem;line-height:1.45}
.consent input{width:17px;height:17px;margin:2px 0 0;accent-color:var(--blue)}
.consent-details{margin-top:-7px;color:var(--muted);font-size:.75rem}
.consent-details summary{cursor:pointer;color:var(--blue)}
.consent-details p{margin:8px 0 0}
.consent-details a{text-decoration:underline}
.submit-button{margin-top:4px}
.submit-button:disabled{cursor:wait;opacity:.65}
.form-status{min-height:22px;margin:0;color:#a14032;font-size:.78rem}
.form-success{height:100%;display:flex;flex-direction:column;justify-content:center}
.form-success[hidden]{display:none}
.form-success>span{color:var(--blue);font-size:.72rem;text-transform:uppercase;letter-spacing:.14em}
.form-success h3{margin:16px 0 12px;font-family:"Prata",Georgia,serif;font-size:2.8rem;font-weight:400}
.form-success p{margin:0 0 30px;color:var(--muted)}
@media(max-width:920px){:root{--sidebar:0px}.sidebar{display:none}.content{margin-left:0}.mobile-header{position:sticky;z-index:20;top:0;height:68px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(243,240,233,.94);backdrop-filter:blur(12px)}.mobile-header .monogram{width:36px;height:36px}.text-link{padding:8px 0;background:transparent;border-bottom:1px solid var(--blue);font-size:.78rem;font-weight:700}.intro{min-height:760px;padding-top:32px}.intro-grid{grid-template-columns:1fr;align-items:start;margin:auto 0}.intro-side{max-width:420px}.section-title{grid-template-columns:1fr;gap:10px}.project{grid-template-columns:1fr}.project-preview{border-right:0;border-bottom:1px solid var(--line)}.project-info>p{margin:34px 0}.dialog-layout{grid-template-columns:1fr}.dialog-intro{display:none}}
@media(max-width:640px){.section-pad{padding:70px 20px}.intro{min-height:720px}.intro-topline{display:grid;gap:10px}.intro h1{font-size:clamp(2.55rem,12vw,4.1rem);line-height:1.04}.intro h1 em{font-size:.9em}.intro-side{margin-top:34px}.capabilities{margin-top:36px}.project-preview img{height:116vw;max-height:520px}.ember-cover,.dental-cover,.modul-cover,.privilegia-cover{height:116vw;max-height:520px}.project-preview .ember-cover img,.project-preview .dental-cover img,.project-preview .modul-cover img,.project-preview .privilegia-cover img{height:100%}.ember-cover-copy{padding:24px 20px}.ember-cover-copy strong{font-size:clamp(1.9rem,9.5vw,3.4rem)}.dental-cover{grid-template-columns:60% 40%}.dental-cover-copy{padding:24px 14px}.dental-cover-copy small{margin-bottom:28px;font-size:.34rem}.dental-cover-copy strong{font-size:clamp(1.55rem,7.6vw,2.6rem)}.modul-cover{grid-template-columns:46% 54%}.modul-cover-copy{padding:22px 13px}.modul-cover-copy small{top:22px;font-size:.38rem}.modul-cover-copy strong{font-size:clamp(1.65rem,8vw,2.7rem);letter-spacing:-.045em}.privilegia-cover-copy{padding:24px 18px}.privilegia-cover-copy strong{font-size:clamp(2rem,9.4vw,3.5rem)}.project-info{padding:25px 0}.service-list article{grid-template-columns:40px 1fr;gap:16px}.service-list p{grid-column:2}.approach-grid{grid-template-columns:1fr}.contacts{grid-template-columns:1fr;align-items:start}.contacts h2{font-size:clamp(3rem,14vw,5.2rem)}footer{padding:24px 20px;display:grid;gap:6px}.contact-dialog{width:100%;max-width:none;margin:auto 0 0}.dialog-layout{min-height:calc(100vh - 20px)}.dialog-form-wrap{padding:58px 22px 28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-preview img,.primary-button{transition:none}}
