/* The exterior/interior hero retains its approved visual treatment. */
body{--editorial-line:#bcb5a8;--editorial-light:#ded8cd}
.portfolio .section-heading{align-items:flex-end;margin-bottom:75px;padding-bottom:42px;border-bottom:1px solid var(--editorial-line)}
.portfolio .section-heading :is(h1,h2){font-size:clamp(64px,7.9vw,146px);line-height:.95;letter-spacing:-.065em}
.portfolio .section-heading .eyebrow{font-size:12px;letter-spacing:.24em;margin-bottom:27px}
.portfolio-intro{max-width:320px;padding-bottom:4px}.portfolio-intro>p{font-size:16px;line-height:1.85;color:var(--muted);margin-bottom:24px}
.portfolio .project-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:94px 36px}
.portfolio .project-grid>.project{padding:0;margin:0;width:100%;min-width:0}
.portfolio .project-grid>.project-1{grid-column:1/-1}.portfolio .project-grid>.project-1 .project-image{aspect-ratio:2.06}
.portfolio .project-grid>.project-2{grid-column:1/6;margin-top:5px}.portfolio .project-grid>.project-2 .project-image{aspect-ratio:.92}
.portfolio .project-grid>.project-3{grid-column:7/-1;margin-top:155px}.portfolio .project-grid>.project-3 .project-image{aspect-ratio:1.32}
.portfolio .project-grid>.project-4{grid-column:1/8}.portfolio .project-grid>.project-4 .project-image{aspect-ratio:1.24}
.portfolio .project-grid>.project-5{grid-column:9/-1;margin-top:185px}.portfolio .project-grid>.project-5 .project-image{aspect-ratio:.82}
.portfolio .project-grid>.project-6{grid-column:2/-1;margin-top:15px}.portfolio .project-grid>.project-6 .project-image{aspect-ratio:1.9}
.portfolio .project-image{background:#dfd9ce;isolation:isolate}.portfolio .project-image img{transition:transform 1.4s cubic-bezier(.2,.65,.3,1)}
.portfolio .project-open:hover .project-image img{transform:scale(1.045)}
.portfolio .project-caption{border:0;padding:24px 0 10px;align-items:center}.portfolio .project-caption h3{font-size:clamp(25px,2.25vw,43px);letter-spacing:-.045em;line-height:1.18}
.project-arrow{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--editorial-line);border-radius:50%;flex:0 0 42px;font-size:22px;transition:background .3s,color .3s,transform .3s}
.project-open:hover .project-arrow{background:var(--ink);color:var(--paper);transform:rotate(45deg)}
.project-summary{color:var(--muted);font-size:14px;line-height:1.8;max-width:670px;margin:0 50px 18px 0}
.portfolio .project-meta{border-top:1px solid var(--editorial-line);padding-top:15px;font-size:11px;letter-spacing:.14em;line-height:1.6}
.portfolio .view-label{width:112px;height:112px;border-radius:50%;padding:20px;bottom:26px;right:26px;background:#f4f1eae8;backdrop-filter:blur(8px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:3px;font-size:12px;line-height:1.4;transform:translateY(15px)}
.portfolio .view-label>span:last-child{font-size:24px}.portfolio .project-open:hover .view-label{transform:none}
.portfolio .more-projects{margin-top:90px}.portfolio .more-projects>summary{min-width:260px;padding:15px 0;font-size:15px}
.portfolio .more-projects .more-grid{padding-top:25px;grid-template-columns:1fr 1fr;gap:65px 35px}.portfolio .more-projects .more-grid>.project{grid-column:auto;padding:0;margin:0;width:100%}.portfolio .more-projects .more-grid .project-image{aspect-ratio:1.5}
.portfolio.layout-grid .project-grid{grid-template-columns:1fr 1fr;gap:65px 35px}.portfolio.layout-single .project-grid{grid-template-columns:1fr;gap:75px}
.portfolio.layout-grid .project-grid>.project,.portfolio.layout-single .project-grid>.project{grid-column:auto;padding:0;margin:0;width:100%}.portfolio.layout-grid .project-grid .project-image{aspect-ratio:1.45}.portfolio.layout-single .project-grid .project-image{aspect-ratio:1.95}
.services{background:var(--dark);color:var(--paper);grid-template-columns:1.08fr 1fr;gap:8vw;border:0;align-items:stretch;position:relative}
.services-content{padding-top:15px;display:flex;flex-direction:column}.services .eyebrow{color:#c3b39b;font-size:12px}
.services :is(h1,h2){font-size:clamp(41px,4.45vw,81px);line-height:1.06;letter-spacing:-.05em;margin-bottom:65px}.services .service-list{margin-top:auto}
.services .service-list details{border-color:#ffffff35}.services .service-list details:first-child{border-top:1px solid #ffffff35}
.services .service-list summary{padding:24px 0;min-height:96px;gap:25px}.services .service-list h3{font-size:clamp(19px,1.5vw,27px);line-height:1.3}
.services .row-number{color:#bda884;font-size:12px}.services .plus{font-size:25px;color:#bda884}.services .service-description{padding-left:40px;padding-right:15px}
.services .service-description p{color:#c5c4bc;font-size:15px;line-height:1.85}.services .text-link{color:var(--paper);font-size:13px;margin-top:10px}
.services-image{height:auto;min-height:690px;margin:0;align-self:stretch}.services-image img{height:100%;object-position:64% 50%;filter:saturate(.85)}
.services-image figcaption{font-size:clamp(23px,2.5vw,45px);letter-spacing:-.04em;line-height:1.1;bottom:35px;left:35px;font-weight:400}.services-image:after{inset:55% 0 0;background:linear-gradient(transparent,#0009)}
.about{padding-top:130px;grid-template-columns:1.12fr 1fr;gap:9vw;align-items:center}.about-image{height:720px}.about-image img{object-position:50% 50%}.about-image figcaption{font-size:12px;letter-spacing:.24em;left:30px;bottom:30px}
.about-copy .eyebrow{font-size:12px;margin-bottom:35px}.about-copy :is(h1,h2){font-size:clamp(39px,4vw,73px);line-height:1.07;margin-bottom:37px}.about-copy>p:not(.eyebrow){font-size:16px;line-height:1.95;max-width:530px}.about-copy .text-link{margin-top:27px;font-size:14px;padding:12px 0;min-width:210px}
.why{position:relative;border-bottom:1px solid #ffffff30}.why>.eyebrow{font-size:12px;color:#c1b396}.why>:is(h1,h2){font-size:clamp(49px,5.5vw,100px);line-height:1.05;max-width:1250px;margin-bottom:80px}
.why .values{gap:42px;margin:0 0 90px}.why .values>div{border-right:0;border-top:1px solid #ffffff42;padding:25px 0 0}.value-number{display:block;font-size:12px;letter-spacing:.1em;color:#c7b99b;margin-bottom:42px}
.why .values h3{font-size:clamp(24px,2.1vw,38px);margin-bottom:22px;line-height:1.2}.why .values p{font-size:15px;line-height:1.9;max-width:370px;color:#c6c6be}
.testimonials{display:grid;grid-template-columns:1fr 2fr;gap:7vw;padding-top:55px}.testimonials>.eyebrow{font-size:11px;line-height:2;color:#c1b396}.testimonials blockquote>p{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;letter-spacing:-.035em;font-size:clamp(29px,3.25vw,59px);line-height:1.3}.testimonials blockquote>footer{font-size:13px;letter-spacing:.03em;margin-top:35px}
.faq{grid-template-columns:1fr 1fr;gap:10vw}.faq :is(h1,h2){font-size:clamp(52px,5.65vw,104px);line-height:1.02}.faq .eyebrow{font-size:12px;margin-bottom:30px}.faq-list summary{padding:28px 0;font-size:17px;line-height:1.55}.faq-list details>p{font-size:15px;line-height:1.9;padding-bottom:30px}.faq-list .plus{font-size:24px;color:#86704d}
.contact{padding-bottom:100px}.contact-content{margin-left:0;max-width:none}.contact .eyebrow{font-size:12px;letter-spacing:.25em;margin-bottom:45px;color:#d2c8b6}.contact :is(h1,h2){font-size:clamp(64px,7.9vw,146px);line-height:1;letter-spacing:-.06em;max-width:1450px}.contact-row{justify-content:space-between;align-items:flex-end;margin-top:65px}.contact-row>.button{font-size:15px}.contact .button{padding:20px 30px;min-height:65px;min-width:270px}.contact address{font-size:clamp(18px,2vw,34px);line-height:1.5;letter-spacing:-.02em}.contact-note{font-size:13px;line-height:1.8;max-width:380px;margin-top:25px}.contact-backdrop{opacity:.16}.contact:after{background:linear-gradient(90deg,#20211f20,#20211fe0)}
.cms-footer{border-top:1px solid #ffffff35;padding:38px var(--gutter);gap:30px;align-items:center}.cms-footer .wordmark{width:clamp(78px,6vw,112px)}.cms-footer>p{font-size:13px}.cms-footer>div{font-size:12px;gap:30px}.gallery-description{max-width:900px;font-size:14px;color:#c7c4ba;line-height:1.5;margin-top:10px}.gallery-viewport{height:calc(100dvh - 260px)}
.custom-text :is(h1,h2),.custom-image :is(h1,h2){font-size:clamp(45px,5vw,88px);max-width:1100px}.custom-text>p{line-height:1.95}.custom-image figure>p{color:var(--muted);font-size:14px}
@media(min-width:1800px){.portfolio .project-grid{column-gap:55px;row-gap:120px}.services-image{min-height:800px}.about-image{height:830px}}
@media(max-width:1100px){.portfolio .project-grid{column-gap:26px;row-gap:65px}.portfolio .project-grid>.project-3{margin-top:110px}.portfolio .project-grid>.project-5{margin-top:120px}.portfolio .project-grid>.project-4{grid-column:1/8}.portfolio .project-grid>.project-5{grid-column:8/-1}.services{gap:45px}.services-image{min-height:630px}.about{gap:55px}.about-image{height:620px}.testimonials{gap:40px}.why .values{gap:28px}.contact address{font-size:24px}.portfolio .section-heading{gap:45px}.portfolio-intro{max-width:260px}}
@media(max-width:800px){.portfolio .section-heading :is(h1,h2){font-size:80px}.portfolio .section-heading{gap:30px}.portfolio-intro{max-width:225px}.portfolio-intro>p{font-size:14px}.services{grid-template-columns:1fr;gap:50px}.services :is(h1,h2){font-size:54px;max-width:680px;margin-bottom:45px}.services-image{min-height:0;height:540px}.services .service-list h3{font-size:22px}.services-image figcaption{font-size:40px}.about{grid-template-columns:1fr;gap:45px}.about-copy{order:initial}.about-copy :is(h1,h2){font-size:55px;max-width:680px}.about-copy>p:not(.eyebrow){max-width:650px}.about-image{height:570px}.testimonials{grid-template-columns:1fr;gap:20px}.testimonials>.eyebrow{margin-bottom:0}.testimonials blockquote>p{font-size:39px}.why>:is(h1,h2){font-size:65px;margin-bottom:50px}.why .values{gap:28px}.why .values h3{font-size:25px}.faq{grid-template-columns:1fr;gap:40px}.faq :is(h1,h2){font-size:67px}.contact :is(h1,h2){font-size:77px}.contact address{font-size:20px}.contact .button{min-width:240px}.cms-footer .wordmark{width:88px}.gallery-viewport{height:calc(100dvh - 285px)}}
@media(max-width:600px){.portfolio .section-heading{display:block;margin-bottom:35px;padding-bottom:30px}.portfolio .section-heading :is(h1,h2){font-size:clamp(63px,16vw,89px);line-height:.98;letter-spacing:-.055em}.portfolio .section-heading .eyebrow{font-size:10px;margin-bottom:20px}.portfolio-intro{max-width:none;display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-top:30px;padding:0}.portfolio-intro>p{font-size:13px;margin:0;line-height:1.7;max-width:200px}.portfolio-intro .text-link{margin:0;font-size:12px;gap:10px;min-height:30px}
.portfolio .project-grid,.portfolio.layout-grid .project-grid,.portfolio.layout-single .project-grid,.portfolio .more-projects .more-grid{grid-template-columns:1fr;gap:43px}.portfolio .project-grid>.project{grid-column:1/-1!important;margin:0!important;padding:0;width:100%}.portfolio .project-grid>.project .project-image{aspect-ratio:1.27}.portfolio .project-grid>.project-2 .project-image{aspect-ratio:1.02}.portfolio .project-caption{padding:18px 0 8px}.portfolio .project-caption h3{font-size:26px;line-height:1.15}.project-arrow{width:35px;height:35px;flex-basis:35px;font-size:20px}.project-summary{font-size:13px;margin:0 25px 15px 0;line-height:1.75}.portfolio .project-meta{font-size:10px;letter-spacing:.12em;padding-top:12px}.portfolio .view-label{display:none}.portfolio .more-projects{margin-top:42px}.portfolio .more-projects>summary{font-size:14px;min-width:250px}
.services :is(h1,h2){font-size:43px;margin-bottom:34px}.services .eyebrow{font-size:11px;margin-bottom:25px}.services .service-list h3{font-size:19px}.services .service-list summary{padding:22px 0;min-height:83px;gap:19px}.services .service-description{padding-left:33px;padding-right:0}.services .service-description p{font-size:14px}.services-image{height:440px}.services-image figcaption{font-size:35px;left:26px;bottom:26px}.services{gap:38px}.about{gap:37px}.about-image{height:440px}.about-copy :is(h1,h2){font-size:43px;line-height:1.09;margin-bottom:28px}.about-copy .eyebrow{margin-bottom:25px;font-size:11px}.about-copy>p:not(.eyebrow){font-size:15px;line-height:1.85}.about-image figcaption{font-size:10px}.about-copy .text-link{margin-top:13px}
.why>:is(h1,h2){font-size:47px;line-height:1.07;margin-bottom:38px}.why>.eyebrow{font-size:11px;margin-bottom:27px}.why .values{display:block;margin-bottom:40px}.why .values>div{padding:21px 0 27px;border-bottom:0}.value-number{margin-bottom:22px;font-size:11px}.why .values h3{font-size:29px;margin-bottom:15px}.why .values p{font-size:14px;line-height:1.85}.testimonials{padding-top:33px;gap:20px}.testimonials blockquote>p{font-size:31px;line-height:1.35}.testimonials blockquote>footer{margin-top:23px;font-size:12px}.testimonials>.eyebrow{font-size:10px}
.faq :is(h1,h2){font-size:55px;line-height:1.03}.faq .eyebrow{font-size:11px;margin-bottom:24px}.faq-list summary{padding:23px 0;font-size:16px;gap:24px}.faq-list details>p{font-size:14px;line-height:1.85}.contact .eyebrow{font-size:10px;margin-bottom:30px}.contact :is(h1,h2){font-size:clamp(49px,12.5vw,71px);letter-spacing:-.055em;line-height:1.03}.contact-row{margin-top:35px;gap:35px;align-items:flex-start}.contact .button{min-height:58px;padding:16px 24px;min-width:250px;font-size:14px}.contact-note{font-size:12px;margin-top:21px}.contact address{font-size:21px;gap:7px}.cms-footer{padding:30px 24px;gap:22px;align-items:flex-start}.cms-footer .wordmark{width:82px}.cms-footer>p{font-size:12px}.cms-footer>div{font-size:11px;gap:20px}.gallery-description{font-size:12px;max-height:55px;overflow:auto}.gallery-viewport{height:calc(100dvh - 295px)}
}
/* The language control shares the site's restrained brass and stone palette. */
.site-header .desktop-nav{margin-left:auto}
.language-switch{display:inline-flex;align-items:center;gap:3px;padding:4px;border:1px solid currentColor;border-radius:100px;color:inherit;background:rgba(18,20,19,.13);backdrop-filter:blur(14px);white-space:nowrap;flex:none}
.language-switch-label{font-size:9px;letter-spacing:.16em;margin:0 9px 0 12px;opacity:.72}
.language-switch a{display:grid;place-items:center;min-width:36px;min-height:32px;padding:3px 7px;border-radius:100px;font-size:11px;font-weight:600;letter-spacing:.08em;transition:background .25s,color .25s,transform .25s}
.language-switch a:hover{transform:translateY(-1px);background:rgba(255,255,255,.17)}
.language-switch a[aria-current=page]{background:var(--paper);color:var(--ink)}
.solid-header .language-switch,.menu-open .language-switch{background:rgba(244,241,234,.55)}
.solid-header .language-switch a[aria-current=page],.menu-open .language-switch a[aria-current=page]{background:var(--ink);color:var(--paper)}
@media(max-width:800px){.site-header .language-switch{margin-left:auto}.language-switch-label{display:none}.language-switch a{min-width:35px}.site-header{gap:10px}}

/* Editorial pricing: clear starting prices without turning the portfolio into a generic SaaS grid. */
.pricing{position:relative;isolation:isolate;overflow:hidden;background:#e9e4da;color:var(--ink);border-top:1px solid var(--editorial-line)}
.pricing:before{content:'€';position:absolute;z-index:-1;right:-.045em;top:-.42em;font-size:clamp(320px,48vw,880px);font-weight:600;line-height:1;color:#fff;opacity:.24;letter-spacing:-.12em;pointer-events:none}
.pricing-heading{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);align-items:end;gap:8vw;padding-bottom:48px;border-bottom:1px solid var(--editorial-line)}
.pricing-heading .eyebrow{margin-bottom:30px;color:#6f624e}
.pricing-heading h2{max-width:980px;font-size:clamp(54px,6.6vw,118px);line-height:.96;letter-spacing:-.065em}
.pricing-heading>p{max-width:470px;padding-bottom:7px;color:#5f5c55;font-size:15px;line-height:1.9}
.pricing-grid{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:88px 0 58px;padding:0;border:1px solid #8f897e;align-items:stretch}
.pricing-item{display:flex;min-width:0}
.pricing-item+ .pricing-item{border-left:1px solid #8f897e}
.pricing-card{position:relative;display:flex;flex:1;flex-direction:column;min-width:0;min-height:600px;padding:34px clamp(26px,2.7vw,48px) 40px;background:rgba(244,241,234,.46);transition:background .35s,color .35s,transform .35s,box-shadow .35s}
.pricing-card.is-featured{z-index:1;margin:-24px 0;background:#20211f;color:var(--paper);box-shadow:0 34px 70px #302a202e}
.pricing-card:not(.is-featured):hover,.pricing-card:not(.is-featured):focus-within{background:#f6f3ed}
.pricing-card-head{display:flex;justify-content:space-between;gap:24px;padding-bottom:27px;border-bottom:1px solid currentColor;font-size:10px;line-height:1.4;letter-spacing:.2em;text-transform:uppercase;opacity:.68}
.pricing-card h3{min-height:3.1em;margin:35px 0 28px;font-size:clamp(25px,2vw,36px);line-height:1.08;letter-spacing:-.045em}
.pricing-value{display:flex;align-items:baseline;gap:8px;white-space:nowrap}
.pricing-value strong{font-size:clamp(61px,5.2vw,92px);font-weight:400;line-height:.92;letter-spacing:-.075em}
.pricing-value>span{font-size:17px;letter-spacing:-.03em;opacity:.72}
.pricing-value .pricing-prefix{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;opacity:1}
.pricing-value .pricing-suffix{font-size:17px;letter-spacing:-.03em;opacity:.72}
.pricing-subtitle{max-width:340px;margin:25px 0 34px;font-size:14px;line-height:1.75;opacity:.72}
.pricing-card ul{list-style:none;margin:auto 0 36px;padding:0;border-top:1px solid currentColor}
.pricing-card ul li{position:relative;padding:14px 0 14px 21px;border-bottom:1px solid currentColor;font-size:12px;line-height:1.55;opacity:.72}
.pricing-card ul li:before{content:'↳';position:absolute;left:0;top:14px;color:#8b6f44;opacity:1}
.pricing-card.is-featured ul li:before{color:#d4b986}
.pricing-link{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:50px;padding:10px 0;border-bottom:1px solid currentColor;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.pricing-link span{font-size:20px;transition:transform .3s}
.pricing-link:hover span,.pricing-link:focus-visible span{transform:translate(4px,-4px)}
.pricing-foot{display:grid;grid-template-columns:38px minmax(0,680px);gap:18px;align-items:start;margin-left:auto;width:min(100%,760px);padding-top:24px;border-top:1px solid var(--editorial-line)}
.pricing-foot>span{font-family:Georgia,'Times New Roman',serif;font-size:34px;line-height:1;color:#8b6f44}
.pricing-foot p{color:#666159;font-size:12px;line-height:1.75}
@media(max-width:1100px){
 .pricing-heading{grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr);gap:55px}.pricing-heading h2{font-size:clamp(54px,7.7vw,84px)}
 .pricing-grid{display:block;margin-top:68px;border-bottom:0}.pricing-item+ .pricing-item{border-left:0;border-top:1px solid #8f897e}
 .pricing-card,.pricing-card.is-featured{display:grid;grid-template-columns:minmax(215px,.8fr) minmax(0,1.2fr);grid-template-areas:'head head' 'title price' 'subtitle list' 'link list';column-gap:55px;min-height:0;margin:0;padding:32px 38px 36px;box-shadow:none}
 .pricing-card-head{grid-area:head}.pricing-card h3{grid-area:title;align-self:start;min-height:0;margin:30px 0 18px}.pricing-value{grid-area:price;align-self:start;margin-top:27px}.pricing-subtitle{grid-area:subtitle;margin:0;align-self:start}.pricing-card ul{grid-area:list;margin:0}.pricing-link{grid-area:link;align-self:end;margin-top:32px}
}
@media(max-width:700px){
 .pricing{overflow:hidden}.pricing:before{top:0;font-size:390px}.pricing-heading{display:block;padding-bottom:31px}.pricing-heading h2{font-size:clamp(48px,14vw,72px)}.pricing-heading>p{margin-top:30px;padding:0;font-size:14px;line-height:1.8}
 .pricing-grid{margin:48px 0 36px}.pricing-card,.pricing-card.is-featured{display:flex;min-height:0;padding:27px 24px 31px}.pricing-card h3{min-height:0;margin:29px 0 24px;font-size:28px}.pricing-value{margin:0}.pricing-value strong{font-size:64px}.pricing-subtitle{margin:22px 0 28px}.pricing-card ul{width:100%;margin:0 0 28px}.pricing-link{width:100%;margin:0}.pricing-foot{grid-template-columns:25px 1fr;gap:10px;padding-top:18px}.pricing-foot>span{font-size:27px}
}
