:root{--paper:#f3f1eb;--ink:#252724;--muted:#85857b;--orange:#c74b29;--line:#d7d6cc;--ease:cubic-bezier(.2,.7,.2,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Manrope',Arial,sans-serif;font-weight:500}h2{font-size:clamp(34px,4.1vw,62px);line-height:1.14;letter-spacing:-2.6px}h3{line-height:1.3}em{font-style:normal;color:var(--muted)}.wrap{max-width:1600px;margin:auto;padding-left:5%;padding-right:5%}.eyebrow,.micro,.hero-foot,.visual-bottom,.image-index,.tags,.project-meta>span,.studio-signature>span{font-size:10px;font-weight:600;letter-spacing:1.6px}.eyebrow{display:flex;align-items:center;gap:9px}.dot{width:6px;height:6px;background:var(--orange);display:inline-block;border-radius:50%}.orange{color:var(--orange)}.muted{color:var(--muted)}.button{background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:15px 22px;display:inline-flex;justify-content:space-between;align-items:center;gap:40px;transition:background .2s}.button:hover{background:var(--orange);border-color:var(--orange)}.button span{font-size:23px;line-height:1}.small{font-size:12px;padding:11px 18px;gap:25px}.text-link{background:none;border:0;border-bottom:1px solid var(--ink);padding:8px 0;display:inline-flex;gap:28px;align-items:center;font-size:13px}.text-link span{font-size:23px;line-height:1.3}.text-link:hover{color:var(--orange);border-color:var(--orange)}header{height:96px;margin:0 5%;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;font-family:'Manrope',Arial,sans-serif;font-size:23px;font-weight:750;letter-spacing:-1px;white-space:nowrap}.brand span{font-weight:400}.brand sup{font:8px Arial;align-self:flex-start;margin-top:10px;margin-left:2px}.brand svg{width:31px;height:31px;stroke:var(--orange);fill:none;stroke-width:2;margin-right:9px}nav{display:flex;gap:30px;font-size:12px}nav a:hover{color:var(--orange)}.menu{display:none}.hero{padding-top:37px}.hero-top{display:flex;justify-content:space-between;align-items:center}.micro{font-size:9px;color:var(--muted);letter-spacing:1.3px}.hero-heading{display:flex;justify-content:space-between;align-items:end;padding:24px 0 36px;gap:40px}h1{font-size:clamp(65px,7.7vw,118px);line-height:1.03;letter-spacing:-6px;position:relative}h1 .orange{font-size:.78em;display:inline-block;margin-left:35px;vertical-align:top}h1 em{color:var(--ink)}.hero-intro{width:240px;padding-bottom:8px;flex-shrink:0}.hero-intro p{color:#64665c;font-size:16px;line-height:1.6;margin-bottom:20px}.hero-intro .text-link{font-size:12px;gap:18px}.hero-image{height:clamp(330px,37vw,570px);position:relative;overflow:hidden;background:#c2c6ba}.hero-image>img{object-position:center 56%;animation:hero-in 1.5s var(--ease)}.hero-shade{position:absolute;inset:0;background:linear-gradient(0deg,#10231d90,transparent 50%)}.image-label{position:absolute;bottom:32px;left:34px;color:white}.image-label .eyebrow{font-size:9px;opacity:.8}.image-label p{font-size:23px;letter-spacing:-.5px;margin-top:7px}.round{position:absolute;right:32px;bottom:32px;border:1px solid #ffffff80;border-radius:50%;width:62px;height:62px;display:grid;place-items:center;color:white;font-size:30px;transition:background .3s}.round:hover{background:var(--orange)}.image-index{position:absolute;right:25px;top:24px;color:#fff;font-size:9px;background:#25272470;backdrop-filter:blur(10px);padding:10px 15px}.hero-foot{display:flex;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line);font-size:9px;color:#676a60;letter-spacing:1.3px}.hero-foot a{letter-spacing:0;font-size:12px}.intro{padding-top:105px;display:grid;grid-template-columns:1fr 2fr;gap:40px}.section-label{align-self:start;padding-top:8px}.lead{font-size:17px;line-height:1.75;color:#6c6d64;max-width:560px}.intro .lead{margin-top:25px;max-width:620px}.services{display:grid;grid-template-columns:1fr 1fr;gap:38px;padding-top:54px;padding-bottom:105px}.service-visual{height:320px;position:relative;overflow:hidden}.blueprint{background:#e6e6dc;color:#686e5d}.building{height:100%;width:100%;padding:15px 18px}.visual-note{position:absolute;left:20px;top:17px;font-size:8px;letter-spacing:1.5px;font-weight:600;z-index:1}.visual-bottom{position:absolute;left:20px;right:20px;bottom:14px;font-size:8px;display:flex;justify-content:space-between}.photo:after{content:'';position:absolute;inset:0;background:linear-gradient(#0004,transparent 30%,#0007)}.photo .visual-note,.photo .visual-bottom{color:#fff;z-index:1}.service-heading{display:flex;align-items:center;justify-content:space-between;margin:25px 0 17px}.service-heading h3{font-size:29px;letter-spacing:-1px}.service-heading>span{font-size:11px;color:var(--muted)}.service>p{font-size:14px;color:#73756a;max-width:520px}.tags{display:flex;gap:9px;list-style:none;margin:20px 0 24px;padding:0;font-size:9px;letter-spacing:.5px;flex-wrap:wrap}.tags li{border:1px solid #d6d6cb;border-radius:20px;padding:5px 10px}.model-section{background:#282d28;color:#f3f1eb;padding:80px 0}.model-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.model-grid h2{font-size:43px;letter-spacing:-1.8px;margin:25px 0}.model-grid p:not(.eyebrow){color:#b2b6aa;font-size:14px;max-width:440px}.model-grid .eyebrow{color:#b4b8a9;font-size:9px}.mode-tabs{display:flex;margin:30px 0 20px;border-bottom:1px solid #ffffff20;max-width:440px;gap:20px}.mode-tabs button{background:none;color:#a2a89b;border:0;padding:12px 0;font-size:11px;flex:1;border-bottom:2px solid transparent}.mode-tabs .active{color:#fff;border-bottom-color:#da7954}.model-display svg{width:100%;stroke:#9ca58a;fill:none;stroke-width:1.3}.model-display svg path{transition:fill .7s,stroke .7s}.model-display .floor{stroke:#56614c}.model-display .dimension{stroke:#bb7557;stroke-dasharray:4 4}.model-display.is-model .top,.model-display.is-model .roof-top{fill:#d9d7c1;stroke:#dad9c8}.model-display.is-model .roof{fill:#a6a88f}.model-display.is-model .left{fill:#b9baa3;stroke:#b9baa3}.model-display.is-model .right{fill:#868f78;stroke:#a5af93}.model-display.is-model .glass{fill:#3d5249;stroke:#c5c9b8}.model-display.is-model .window-lines{stroke:#abb3a0}.model-display.is-model .floor{fill:#343e30}.model-caption{display:flex;justify-content:space-between;border-top:1px solid #ffffff20;padding-top:16px;font-size:8px;letter-spacing:1.2px;color:#b4b8a9}.work{padding-top:100px;padding-bottom:90px}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:42px}.section-head h2{margin-top:22px}.filters{display:flex;gap:20px}.filters button{font-size:11px;border:0;border-bottom:1px solid transparent;padding:8px 0;background:none;color:#777b6c}.filters button.active{color:var(--ink);border-color:var(--ink)}.filters sup{font-size:8px;margin-left:3px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.project{display:block;text-align:left;border:0;padding:0;background:none;min-width:0}.project.wide{grid-column:span 2}.project-img{height:360px;overflow:hidden;position:relative}.project.wide .project-img{height:500px}.project img{transition:transform .8s var(--ease)}.project:hover img{transform:scale(1.035)}.project-open{position:absolute;bottom:20px;right:20px;background:var(--paper);width:43px;height:43px;display:grid;place-items:center;border-radius:50%;font-size:23px}.project-meta{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:17px}.project-meta h3{font-size:19px;letter-spacing:-.5px}.project-meta>span{font-size:8px;letter-spacing:1px;color:#72756a}.gallery-note{font-size:11px;color:#777b6c;margin-top:28px}.project[hidden]{display:none}.project-grid.filtered{grid-template-columns:1fr 1fr}.project-grid.filtered .wide{grid-column:auto}.project-grid.filtered .project-img{height:360px}.process{padding-top:15px;padding-bottom:100px}.process .section-head{border-top:1px solid var(--line);padding-top:65px}.process .lead{max-width:310px;font-size:15px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:60px}.steps article{border-top:1px solid var(--line);padding-top:15px}.steps article>span{color:var(--orange);font-size:12px}.steps h3{font-size:23px;margin:30px 0 14px;letter-spacing:-.6px}.steps p{font-size:14px;color:#777b6c}.studio{display:grid;grid-template-columns:1fr 1.3fr;gap:10%;align-items:center;padding-top:70px;padding-bottom:80px;background:#e9e8df}.studio h2{margin:23px 0}.studio p:not(.eyebrow){font-size:15px;color:#6c7064;margin-top:20px}.studio-symbol{height:350px;position:relative;overflow:hidden;border:1px solid #c9cbbd;display:flex;justify-content:center;align-items:center;background:repeating-linear-gradient(0deg,transparent,transparent 39px,#d2d4c7 40px),repeating-linear-gradient(90deg,transparent,transparent 39px,#d2d4c7 40px)}.studio-symbol span{font-family:Georgia,serif;font-size:240px;line-height:1;font-weight:400;color:#535d4b;mix-blend-mode:multiply}.studio-symbol span+span{margin-left:-80px;color:#a9ae99;transform:translateY(25px)}.studio-signature{display:flex;flex-direction:column;gap:3px;margin-top:28px;font-size:13px}.studio-signature>span{font-size:8px;color:#777b6c}.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:10%;padding-top:100px;padding-bottom:100px}.faq h2{font-size:37px;margin-top:22px;letter-spacing:-1.5px}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:14px}summary::-webkit-details-marker{display:none}summary span{font-size:20px;color:var(--orange);line-height:1}details[open] summary span{transform:rotate(45deg)}details p{font-size:13px;color:#6c7064;line-height:1.8;padding-top:15px;max-width:500px}.contact{background:#d2d7bf;padding:60px 0}.contact .eyebrow{font-size:9px}.contact-row{display:flex;justify-content:space-between;align-items:center;margin:30px 0}.contact h2{font-size:clamp(58px,7vw,110px);letter-spacing:-5px;line-height:1.05}.contact em{color:#778169}.contact-arrow{border:1px solid #879276;background:none;border-radius:50%;width:120px;height:120px;font-size:70px;color:#3a4731;transition:background .3s}.contact-arrow:hover{background:#bcc5a6}.contact-bottom{display:flex;justify-content:space-between;align-items:end;gap:25px}.contact-bottom p{font-size:13px;color:#5e6852}.contact-bottom a{font-size:18px;border-bottom:1px solid #98a188;padding:6px 0}footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-top:35px;padding-bottom:35px}footer .brand{font-size:20px}footer p,footer>a:not(.brand){font-size:10px;color:#74776b}dialog{border:none;background:var(--paper);color:var(--ink);padding:42px;width:min(620px,calc(100% - 30px));max-height:90vh;overflow-y:auto}dialog::backdrop{background:#152017b8;backdrop-filter:blur(7px)}dialog h2{font-size:39px;letter-spacing:-1.5px;margin:18px 0}.close{position:absolute;right:16px;top:12px;width:35px;height:35px;border:0;background:var(--paper);font-size:27px;z-index:2}.dialog-intro{font-size:13px;color:#777b6c;margin-bottom:26px}fieldset{border:none;padding:0;margin:0 0 20px}legend,label{font-size:12px;font-weight:500}legend{margin-bottom:9px}.choice-row{display:flex;gap:8px}.choice-row label{flex:1}.choice-row input{position:absolute;opacity:0;width:1px;height:1px}.choice-row span{padding:10px 8px;border:1px solid var(--line);display:block;text-align:center;font-size:11px}.choice-row input:checked+span{background:var(--ink);border-color:var(--ink);color:white}.choice-row input:focus-visible+span{outline:2px solid var(--orange);outline-offset:3px}form>label,.form-grid label{display:block;margin-bottom:15px}input,textarea,select{display:block;width:100%;background:#fcfbf7;border:1px solid #d5d6cc;border-radius:0;padding:11px 12px;margin-top:6px;font-size:13px;color:var(--ink)}input:focus,textarea:focus,select:focus{outline:1px solid var(--orange)}textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.optional{color:#888;font-weight:400}form .button{width:100%;margin-top:8px}.form-note{font-size:10px;color:#74776b;line-height:1.7;margin:12px 0}#form-status{font-size:12px;color:#5a6c45}#copy-brief{font-size:11px}#project-dialog{width:min(1050px,95vw);padding:0}#project-detail-image{height:auto;max-height:65vh;object-fit:contain;background:#20251f}.project-detail-caption{padding:26px 35px}.project-detail-caption h2{font-size:28px}.project-detail-caption>p:not(.eyebrow){font-size:13px;color:#73776b;margin-bottom:15px}.skip{position:fixed;top:-60px;left:10px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}body.modal-open{overflow:hidden}@keyframes hero-in{from{transform:scale(1.05)}to{transform:scale(1)}}@media(min-width:1600px){header{max-width:1440px;margin:auto}}@media(max-width:1000px){header nav{gap:16px}h1{font-size:8.5vw;letter-spacing:-4px}h1 .orange{margin-left:12px}.hero-intro{width:205px}.hero-top>.micro{display:none}.service-heading h3{font-size:24px}.service-visual{height:260px}.project-meta{align-items:start;flex-direction:column;gap:5px}.model-grid h2{font-size:35px}.studio-symbol{height:300px}.studio-symbol span{font-size:190px}.project.wide .project-img{height:400px}}@media(max-width:700px){html{scroll-padding-top:20px}.wrap{padding-left:6%;padding-right:6%}header{margin:0 6%;height:78px;gap:12px}.brand{font-size:20px}.brand svg{width:24px;margin-right:6px}header>.small{margin-left:auto;padding:9px 12px;gap:12px;font-size:10px}.menu{display:block;border:0;background:none;font-size:23px;padding:3px}header nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);z-index:5;padding:22px 6%;border-bottom:1px solid var(--line);flex-direction:column;font-size:16px}header nav.open{display:flex}.hero{padding-top:25px}.hero .eyebrow{font-size:8px;letter-spacing:1px}.hero-heading{display:block;padding:23px 0 25px}h1{font-size:12vw;letter-spacing:-3px}h1 .orange{margin-left:13px}.hero-intro{width:auto;display:flex;align-items:end;justify-content:space-between;gap:20px;margin-top:22px;padding:0}.hero-intro p{font-size:12px;margin:0}.hero-intro .text-link{font-size:10px;gap:8px}.hero-image{height:380px}.hero-image>img{object-position:57% center}.image-label{left:20px;bottom:23px;max-width:70%}.image-label p{font-size:18px;line-height:1.3}.round{width:45px;height:45px;right:18px;bottom:23px;font-size:25px}.image-index{font-size:7px;padding:7px 9px;right:14px;top:14px}.hero-foot{font-size:7px;letter-spacing:.8px;gap:20px}.hero-foot>a{font-size:10px;white-space:nowrap}.intro{padding-top:65px;grid-template-columns:1fr;gap:22px}h2{font-size:39px;letter-spacing:-1.8px}.lead{font-size:15px}.services{grid-template-columns:1fr;gap:50px;padding-top:35px;padding-bottom:65px}.service-visual{height:290px}.service-heading h3{font-size:27px}.model-section{padding:50px 0}.model-grid{grid-template-columns:1fr;gap:30px}.model-grid h2{font-size:38px}.model-caption{font-size:7px}.work{padding-top:65px;padding-bottom:60px}.section-head{display:block;margin-bottom:28px}.filters{margin-top:25px}.section-head h2{margin-top:17px}.project-grid,.project-grid.filtered{grid-template-columns:1fr;gap:30px}.project.wide,.project-grid.filtered .wide{grid-column:auto}.project-img,.project.wide .project-img,.project-grid.filtered .project-img{height:300px}.project-meta{flex-direction:row;align-items:center}.project-meta h3{font-size:17px;max-width:60%}.project-meta>span{font-size:7px;max-width:35%;text-align:right}.process{padding-bottom:65px}.process .section-head{padding-top:40px}.process .lead{margin-top:20px}.steps{grid-template-columns:1fr;gap:30px;margin-top:30px}.steps h3{margin:12px 0 10px}.steps p{max-width:440px}.studio{grid-template-columns:1fr;gap:35px;padding-top:40px;padding-bottom:45px}.studio-symbol{height:230px}.studio-symbol span{font-size:190px}.faq{grid-template-columns:1fr;gap:30px;padding-top:65px;padding-bottom:65px}.faq h2{font-size:33px}.contact{padding:42px 0}.contact h2{font-size:57px;letter-spacing:-3px}.contact-arrow{width:74px;height:74px;font-size:45px}.contact-bottom{display:block}.contact-bottom p{font-size:12px;margin-bottom:20px}.contact-bottom a{font-size:17px}footer{display:grid;grid-template-columns:1fr 1fr;gap:23px}footer p{text-align:right}footer>a:last-child{text-align:right}dialog{padding:32px 22px}dialog h2{font-size:34px}.form-grid{grid-template-columns:1fr;gap:0}.project-detail-caption{padding:25px}.project-detail-caption h2{font-size:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Original ArchVisione signature and expanded portfolio. */
.logo-crop{display:block;width:240px;height:40px;overflow:hidden;line-height:0}
.brand .logo-crop img{display:block;width:100%;height:auto;object-fit:contain;transform:translateY(-15.6px)}
footer .logo-crop{width:190px;height:32px}footer .brand .logo-crop img{transform:translateY(-12.3px)}
.model-grid{grid-template-columns:minmax(280px,.8fr) minmax(0,1.3fr);gap:5%}
.model-grid h2{font-size:clamp(33px,3.3vw,49px)}
.model-stage{position:relative;aspect-ratio:4/3;background:#eeeee6;overflow:hidden}
.model-stage .stage-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .65s var(--ease);pointer-events:none}
.model-stage .stage-image.active{opacity:1}
.stage-badge{position:absolute;top:17px;left:17px;color:#3e4639;background:#eeeee6df;border:1px solid #c8cbbd;padding:7px 11px;font-size:8px;letter-spacing:1.2px}
.model-caption{margin-top:18px;gap:16px;font-size:7px}
.mode-tabs{gap:14px;max-width:none}.mode-tabs button{font-size:10px;text-align:left;white-space:nowrap}
.model-grid .model-stage-description{font-size:12px;min-height:64px;line-height:1.7}
.model-source-link{display:inline-block;color:#d4d8c8;font-size:11px;border-bottom:1px solid #606954;padding:5px 0;margin:15px 0 12px}
.model-disclosure{display:block;font-size:8px;letter-spacing:.35px;color:#9ba38f;line-height:1.6}
.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 25px}
.project.wide{grid-column:span 2}.project-img{height:300px}.project.wide .project-img,.project:nth-child(2) .project-img{height:460px}
.project-meta{align-items:start;flex-direction:column;gap:7px}.project-meta h3{font-size:18px}.project-meta>span{font-size:8px}
.project-grid.filtered{grid-template-columns:repeat(3,minmax(0,1fr))}.project-grid.filtered .project-img{height:320px}
.gallery-bottom{border-top:1px solid var(--line);margin-top:38px;padding-top:25px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.gallery-bottom p{font-size:11px;color:#777b6c}.gallery-more{font-size:12px;min-width:220px}.gallery-more[hidden]{display:none}
.gallery-note{font-size:10px;margin-top:20px}
.project-navigation{display:flex;align-items:center;justify-content:center;gap:30px;padding:12px 25px;border-bottom:1px solid var(--line)}
.project-navigation button{width:40px;height:32px;border:0;background:transparent;font-size:23px}.project-navigation button:hover{color:var(--orange)}
.project-navigation span{font-size:10px;letter-spacing:2px}
#project-detail-image{height:min(58vh,620px);object-fit:contain}
@media(max-width:1100px){.logo-crop{width:210px;height:35px}.brand .logo-crop img{transform:translateY(-13.6px)}header nav{gap:22px}.model-grid{grid-template-columns:1fr 1.3fr;gap:4%}.mode-tabs{gap:10px;flex-wrap:wrap}.mode-tabs button{font-size:9px}.project-img{height:260px}.project.wide .project-img,.project:nth-child(2) .project-img{height:380px}}
@media(max-width:800px){.model-grid{grid-template-columns:1fr;gap:30px}.model-story{max-width:600px}.model-grid p:not(.eyebrow){max-width:580px}.model-grid .model-stage-description{min-height:0}.model-source-link{margin-top:10px}.model-stage{max-width:730px}.project-grid,.project-grid.filtered{grid-template-columns:repeat(2,minmax(0,1fr))}.project.wide{grid-column:span 2}.project.wide .project-img{height:400px}.project:nth-child(2) .project-img{height:300px}}
@media(max-width:700px){.logo-crop{width:170px;height:29px}.brand .logo-crop img{transform:translateY(-11px)}header{gap:8px}header>.small{padding:9px 10px;gap:9px}header>.small span{font-size:19px}.menu{font-size:22px}.model-section{padding:45px 0}.model-grid h2{font-size:38px}.mode-tabs{gap:15px;flex-wrap:nowrap;margin-top:22px}.mode-tabs button{font-size:9px}.stage-badge{top:10px;left:10px;font-size:7px;padding:5px 8px}.model-caption{font-size:6px;margin-top:12px}.project-grid,.project-grid.filtered{grid-template-columns:1fr;gap:30px}.project.wide{grid-column:auto}.project-img,.project.wide .project-img,.project:nth-child(2) .project-img,.project-grid.filtered .project-img{height:auto;aspect-ratio:4/3}.project-img img{object-fit:cover}.project-meta{flex-direction:row;align-items:center;gap:12px}.project-meta h3{font-size:18px}.project-meta>span{font-size:7px}.gallery-bottom{align-items:start;flex-direction:column}.gallery-more{width:100%;justify-content:space-between}.project-detail-caption{padding-top:20px}#project-detail-image{height:auto;max-height:55vh}footer .logo-crop{width:145px;height:25px}footer .brand .logo-crop img{transform:translateY(-9.4px)}}

.service-visual.blueprint{background:#eeeee6}.service-wireframe{object-fit:contain;padding:25px 15px 23px}

/* Selected 05A identity: full signature and standalone studio monogram. */
header .brand-lockup{display:block;width:260px;height:62px;object-fit:contain}
footer .brand-lockup{display:block;width:215px;height:54px;object-fit:contain}
.studio-symbol{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:24px;padding:28px}
.studio-symbol>img{width:78%;height:235px;object-fit:contain;mix-blend-mode:multiply}
.studio-symbol .studio-mark-caption{font-family:'DM Sans',Arial,sans-serif;font-size:9px;font-weight:500;letter-spacing:3px;color:#65705a;line-height:1;margin:0;transform:none;mix-blend-mode:normal}
@media(max-width:1000px){header .brand-lockup{width:220px;height:56px}.studio-symbol>img{height:200px}}
@media(max-width:700px){header .brand-lockup{width:182px;height:47px}footer .brand-lockup{width:150px;height:39px}.studio-symbol{gap:14px;padding:20px}.studio-symbol>img{height:160px;width:70%}.studio-symbol .studio-mark-caption{font-size:8px;letter-spacing:2px}}
@media(max-width:360px){header .brand-lockup{width:155px;height:42px}}

/* Shared-initials identity: stacked Arch / Visione signature. */
header{height:108px}
header .brand-lockup{width:168px;height:82px;object-fit:contain;object-position:left center}
footer .brand-lockup{width:172px;height:84px;object-fit:contain;object-position:left center}
.studio-symbol>img{width:90%;height:auto;max-height:235px;object-fit:contain}
.studio-symbol{gap:30px}
@media(max-width:1000px){header .brand-lockup{width:158px;height:78px}}
@media(max-width:700px){header{height:94px}header nav{top:94px}header .brand-lockup{width:142px;height:70px}footer .brand-lockup{width:148px;height:72px}.studio-symbol>img{width:82%;height:auto;max-height:166px}.studio-symbol{gap:20px}}
@media(max-width:360px){header .brand-lockup{width:126px;height:64px}}

.language-switch{display:inline-flex;align-items:center;gap:7px;font-size:11px;letter-spacing:.5px}.language-switch [aria-current]{font-weight:700}.language-switch a{color:#62665d}html[lang="it"] .hero h1{font-size:clamp(60px,7.1vw,108px)}html[lang="it"] .service-heading h3{font-size:clamp(23px,2.3vw,29px)}@media(max-width:700px){html[lang="it"] .hero h1{font-size:11.5vw}.language-switch{padding-top:10px;font-size:14px}html[lang="it"] .hero-intro .text-link{max-width:145px}html[lang="it"] .hero-foot{align-items:center}html[lang="it"] .contact h2{font-size:48px}}

/* Interactive BIM preview and scroll motion */
.bim-launch{position:absolute;z-index:2;bottom:48px;left:50%;transform:translateX(-50%);width:max-content;max-width:90%;background:#252724ed;color:#f3f1eb;border:1px solid #f3f1eb55;padding:12px 18px;display:grid;grid-template-columns:1fr auto;text-align:left;gap:0 22px;font-size:12px;box-shadow:0 6px 24px #25272420;transition:background .25s,box-shadow .25s}.bim-launch:hover{background:#c74b29;box-shadow:0 8px 28px #25272435}.bim-launch small{grid-column:1/-1;font-size:9px;letter-spacing:.4px;opacity:.75}.bim-launch>span:nth-child(2){font-size:19px}
#bim-dialog{width:min(1440px,96vw);max-width:none;height:92vh;height:92dvh;max-height:96dvh;padding:0;overflow:hidden;background:#f3f1eb;border:0}#bim-dialog[open]{display:flex;flex-direction:column}#bim-dialog iframe{display:block;flex:1;min-height:0;width:100%;border:0;background:#eeeee6}.bim-dialog-bar{height:44px;flex-shrink:0;display:flex;align-items:center;gap:20px;padding:0 16px;border-bottom:1px solid #d7d6cc;font-size:10px;letter-spacing:1.2px}.bim-dialog-bar>span{flex:1}.bim-dialog-bar button{background:none;border:0;font-size:11px;padding:6px}.bim-dialog-bar .close{position:static;font-size:26px;line-height:1;width:30px;height:34px}#bim-dialog:fullscreen,#bim-dialog.bim-expanded{width:100vw;height:100dvh;max-height:100dvh;margin:0}
.motion-ready .scroll-reveal{opacity:.08;transform:translate3d(0,28px,0);transition:opacity .85s ease,transform 1s cubic-bezier(.2,.65,.2,1);transition-delay:var(--reveal-delay,0ms)}.motion-ready .scroll-reveal.in-view{opacity:1;transform:translate3d(0,0,0)}.motion-ready .scroll-image{transform:translate3d(0,var(--scroll-shift,0px),0) scale(1.055);will-change:transform}.motion-ready .hero-heading{animation:hero-arrive 1s cubic-bezier(.2,.65,.2,1) both}.motion-ready .hero-image{animation:hero-arrive 1.25s .12s cubic-bezier(.2,.65,.2,1) both}@keyframes hero-arrive{from{opacity:1;transform:translate3d(0,18px,0)}to{opacity:1;transform:translate3d(0,0,0)}}@media(max-width:650px){#bim-dialog{width:100vw;height:96dvh;max-height:96dvh}.bim-dialog-bar{gap:10px}.motion-ready .scroll-reveal{transform:translate3d(0,18px,0)}.motion-ready .scroll-reveal.in-view{transform:none}}@media(prefers-reduced-motion:reduce){.motion-ready .scroll-reveal,.motion-ready .scroll-image,.motion-ready .hero-heading,.motion-ready .hero-visual{opacity:1;transform:none;animation:none;transition:none}.bim-launch{transition:none}}

/* Project render for the interactive BIM entry card. */
.bim-project-visual{background:#899889}.bim-project-visual .bim-project-render{object-fit:cover;object-position:center 78%;padding:0}.bim-project-visual:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#17231c55,transparent 28%,transparent 65%,#17231c99)}.bim-project-visual .visual-note,.bim-project-visual .visual-bottom{color:#fff;z-index:1}.bim-project-visual .bim-launch{z-index:2}

/* Editorial portfolio: staggered image-led composition. */
.project-grid,.project-grid.filtered{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(64px,6vw,96px);gap:18px;align-items:stretch}
.project-grid .project,.project-grid.filtered .project.wide{grid-column:var(--tile-column,1 / 8);grid-row:var(--tile-row,auto);position:relative;isolation:isolate;overflow:hidden;background:#d8d9cf;color:#fff;min-height:0}
.project-grid .project[hidden]{display:none}
.project-grid .project .project-img,.project-grid.filtered .project .project-img{height:100%;width:100%;aspect-ratio:auto}
.project-grid .project-img:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#10191328 0%,transparent 35%,#10191308 55%,#101913b5 100%);pointer-events:none}
.project-grid .project-img img{object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.65,.2,1),filter .6s;transform:translate3d(0,var(--scroll-shift,0px),0) scale(1.055)}
.project-grid .project:hover .project-img img,.project-grid .project:focus-visible .project-img img{transform:translate3d(0,var(--scroll-shift,0px),0) scale(1.09);filter:saturate(1.06)}
.project-grid .project-meta{position:absolute;left:28px;right:28px;bottom:25px;margin:0;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:9px;pointer-events:none;transition:transform .5s}
.project-grid .project-meta h3{font-size:clamp(23px,2.5vw,38px);line-height:1.12;letter-spacing:-1px;max-width:90%;text-wrap:balance;text-align:left}
.project-grid .project-meta>span{order:-1;color:#ffffffe0;font-size:8px;letter-spacing:1.8px;text-align:left;max-width:none}
.project-grid .project:hover .project-meta{transform:translateY(-4px)}
.project-grid .project-open{position:absolute;right:22px;top:22px;bottom:auto;width:42px;height:42px;border:1px solid #ffffff80;background:#18251a20;backdrop-filter:blur(5px);border-radius:50%;display:grid;place-items:center;font-size:23px;z-index:2;opacity:1;transform:none;transition:background .3s,transform .4s}
.project-grid .project:hover .project-open{background:var(--orange);border-color:var(--orange);transform:rotate(45deg)}
.project-grid .project-number{position:absolute;top:29px;left:28px;z-index:2;font-size:10px;font-weight:500;letter-spacing:2px;color:#fff;text-shadow:0 1px 10px #0006}
.project-grid .project:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.work .gallery-bottom{margin-top:28px;padding-top:22px}
@media(min-width:1600px){.project-grid{gap:22px}}
@media(max-width:900px) and (min-width:601px){.project-grid,.project-grid.filtered{grid-auto-rows:clamp(46px,6.2vw,58px);gap:12px}.project-grid .project-meta{left:18px;right:18px;bottom:18px}.project-grid .project-meta h3{font-size:23px}.project-grid .project-open{top:16px;right:16px;width:33px;height:33px;font-size:19px}.project-grid .project-number{top:23px;left:18px}}
@media(max-width:600px){.project-grid,.project-grid.filtered{grid-template-columns:1fr;grid-auto-rows:auto;gap:18px}.project-grid .project,.project-grid.filtered .project.wide{grid-column:1;grid-row:auto;aspect-ratio:4/3}.project-grid .project[data-tile-shape="portrait"]{aspect-ratio:4/5}.project-grid .project-meta{left:20px;right:20px;bottom:22px;gap:8px}.project-grid .project-meta h3{font-size:27px;max-width:95%;letter-spacing:-.7px}.project-grid .project-meta>span{font-size:7px}.project-grid .project-number{left:20px;top:24px}.project-grid .project-open{right:18px;top:17px;width:35px;height:35px;font-size:20px}}
@media(prefers-reduced-motion:reduce){.project-grid .project-img img,.project-grid .project:hover .project-img img,.project-grid .project:focus-visible .project-img img{transform:none;transition:none}.project-grid .project-meta,.project-grid .project-open{transition:none}.project-grid .project:hover .project-meta,.project-grid .project:hover .project-open{transform:none}}

.case-study{background:#282d28;color:#f3f1eb;padding:80px 0}
.case-heading{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:36px}
.case-heading .eyebrow{color:#bfc5b7;font-size:9px;margin-bottom:22px}
.case-heading h2{font-size:clamp(36px,4vw,58px);max-width:620px}
.case-heading>p{font-size:15px;color:#c0c6ba;line-height:1.8;max-width:430px;margin:0 0 3px auto}
.case-pair{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:22px}
.case-panel{min-width:0;margin:0}
.case-render,.case-model{height:620px;position:relative;overflow:hidden;background:#eeeee6}
.case-render img{object-fit:cover;object-position:center 70%;height:100%}
.case-render:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 65%,#15201660)}
.case-model iframe{width:100%;height:100%;border:0;display:block;pointer-events:none}
.case-model.is-active iframe{pointer-events:auto}
.case-activate{position:absolute;inset:0;z-index:2;border:0;background:transparent;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:#fff}
.case-activate>span{font-size:13px;background:#252724ee;padding:15px 23px;border:1px solid #ffffff70;box-shadow:0 8px 30px #0002}
.case-activate small{color:#384132;background:#f3f1ebed;padding:5px 10px;font-size:10px}
.case-activate:hover>span{background:var(--orange)}
.case-activate[hidden]{display:none}
.case-caption{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 0;border-bottom:1px solid #ffffff25;min-height:72px}
.case-caption strong{display:block;font-weight:400;font-size:16px;letter-spacing:-.3px}.case-caption small{display:block;margin-top:4px;font-size:9px;color:#b4bdad;letter-spacing:.5px}
.case-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.case-actions button{background:none;border:0;border-bottom:1px solid #8d9685;padding:5px 0;color:#f3f1eb;font-size:10px}.case-actions button:hover{color:#e29473}.case-actions button[hidden]{display:none}
.case-footer{margin-top:20px;display:flex;justify-content:space-between;gap:24px;align-items:center}.case-footer p{font-size:11px;color:#aeb8a7;max-width:640px}.case-footer .text-link{color:#f3f1eb;border-color:#8d9685;white-space:nowrap;font-size:12px}
@media(max-width:1000px){.case-render,.case-model{height:580px}.case-pair{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:16px}.case-heading{gap:30px}.case-caption{align-items:flex-start;flex-direction:column}.case-actions{justify-content:flex-start}}
@media(max-width:700px){.case-study{padding:50px 0}.case-heading{grid-template-columns:1fr;gap:22px;margin-bottom:28px}.case-heading>p{margin:0;max-width:none;font-size:14px}.case-heading h2{font-size:40px;letter-spacing:-1.8px}.case-pair{grid-template-columns:1fr;gap:28px}.case-render{height:auto;aspect-ratio:4/4.5}.case-render img{position:absolute;inset:0}.case-model{height:600px}.case-caption{flex-direction:row;align-items:center}.case-footer{align-items:flex-start;flex-direction:column;gap:16px}.case-actions{justify-content:flex-end}}

/* Natural image ratios: each tile keeps the complete original composition. */
.project-grid,.project-grid.filtered{grid-auto-rows:1px;row-gap:0;column-gap:22px}
.project-grid .project,.project-grid.filtered .project.wide{height:var(--tile-height,auto);align-self:start;aspect-ratio:var(--image-ratio)}
.project-grid .project .project-img,.project-grid.filtered .project .project-img{height:100%;aspect-ratio:var(--image-ratio)}
.project-grid .project-img img,.project-grid .project:hover .project-img img,.project-grid .project:focus-visible .project-img img{object-fit:contain;transform:none;transition:filter .5s}
.project-grid .project:hover .project-img img{filter:saturate(1.06) brightness(1.035)}
@media(max-width:900px){.project-grid,.project-grid.filtered{column-gap:16px}}
@media(max-width:600px){.project-grid,.project-grid.filtered{grid-auto-rows:auto;row-gap:20px}.project-grid .project,.project-grid.filtered .project.wide,.project-grid .project[data-tile-shape="portrait"]{height:auto;aspect-ratio:var(--image-ratio)}}

/* Scroll-loaded portfolio keeps its natural image proportions. */
#gallery-sentinel{width:1px;height:1px;pointer-events:none}
.gallery-bottom{justify-content:center}
.bim-project-visual .bim-project-render{object-position:center}

.studio-location{margin-top:18px;font-size:14px;color:#64665c}

/* Give the artwork nearly the whole viewport, with quiet controls on dark chrome. */
#project-dialog{width:100vw;max-width:100vw;height:100vh;height:100dvh;max-height:100dvh;margin:0;padding:48px 14px 12px;background:#161a16;color:#fff;overflow:hidden}
#project-dialog[open]{display:grid;grid-template-columns:1fr auto;grid-template-rows:minmax(0,1fr) auto;gap:8px 28px}
#project-detail-image{grid-column:1/-1;width:100%;height:100%;max-height:none;min-height:0;object-fit:contain;background:transparent}
#project-dialog .close{position:absolute;top:3px;right:12px;display:grid;place-items:center;width:44px;height:44px;line-height:1;font-size:38px;font-weight:300;color:#fff;background:transparent;border:0;box-shadow:none}
#project-dialog .close:hover{color:#d1d7bf;transform:scale(1.08)}
#project-dialog .close:focus-visible{outline:2px solid white;outline-offset:-4px}
#project-dialog .project-detail-caption{grid-row:2;grid-column:1;padding:8px 8px 0;min-width:0}
#project-dialog .project-detail-caption>.eyebrow{display:none}
#project-dialog .project-detail-caption h2{font-size:19px;line-height:1.25;letter-spacing:-.4px;margin:0 0 4px}
#project-dialog .project-detail-caption>p:not(.eyebrow){font-size:11px;color:#bbc2b4;margin:0;line-height:1.4}
#project-dialog .project-detail-caption .text-link{font-size:10px;color:#e0e6d8;border-color:#707b68;padding:2px 0;gap:15px;margin-top:3px}
#project-dialog .project-detail-caption .text-link span{font-size:17px}
#project-dialog .project-navigation{grid-row:2;grid-column:2;position:static;display:flex;align-items:center;justify-content:flex-end;gap:14px;margin:0;padding:0;background:transparent;border:0;color:white}
#project-dialog .project-navigation button{width:44px;height:44px;background:transparent;color:white;border:1px solid #606a58;border-radius:50%;font-size:22px}
#project-dialog .project-navigation button:hover{background:#31392c}
#project-dialog #project-position{color:#c7cebf;font-size:11px;white-space:nowrap}
@media(max-width:700px){#project-dialog{padding:48px 6px 10px}#project-dialog[open]{column-gap:8px}#project-dialog .project-detail-caption{padding:6px 5px 0}#project-dialog .project-detail-caption h2{font-size:16px}#project-dialog .project-detail-caption>p:not(.eyebrow){display:none}#project-dialog .project-navigation{gap:5px}#project-dialog .project-navigation button{width:40px;height:40px}#project-dialog #project-position{font-size:9px}}

.enquiry-field{margin-bottom:16px}.enquiry-field>label{display:block;margin-bottom:5px}.enquiry-help{font-size:11px;color:#686d60;line-height:1.5;margin-top:6px}.enquiry-help:empty,.enquiry-error:empty{display:none}.enquiry-error{font-size:12px;color:#a43223;line-height:1.5;margin:6px 0}.enquiry-success{font-size:17px;line-height:1.7;color:#3d5335;padding:25px 0}.enquiry-choice{display:flex;align-items:center;gap:10px}.enquiry-choice input,.enquiry-field input[type=checkbox]{width:18px;height:18px}.form-note a{text-decoration:underline;overflow-wrap:anywhere}[data-enquiry-actions] .button:disabled{opacity:.6;cursor:wait}
