@charset "UTF-8";
:root{--paper:#f3f2ec;--paper-alt:#e8e9df;--ink:#263b31;--muted:#677168;--line:#cfd3c8;--accent:#3d5545;--accent-soft:#dde3d7;--inverse:#f7f6ef;--serif:Georgia,'Times New Roman',serif;--sans:'Helvetica Neue',Helvetica,Arial,sans-serif;--mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace;--bar-height:68px;--nav-height:96px;--gutter:clamp(24px,5.2vw,96px);--radius:0;--header-bg:rgba(243,242,236,.96)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--bar-height) + var(--nav-height) + 24px)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}button,a,summary{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{border:0}p,h1,h2,h3{margin:0}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:#ced9c1;color:#233327}h1,h2,h3{font-weight:500;letter-spacing:-.045em}h2{font-size:clamp(38px,4.25vw,68px);line-height:1.08}h2 em,h1 em{font-family:var(--serif);font-weight:400}h3{letter-spacing:-.025em}.eyebrow{font-family:var(--mono);font-size:10px;line-height:1.6;letter-spacing:.12em;font-weight:500}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0}.skip-link{position:fixed;top:-100px;left:20px;background:var(--ink);color:var(--paper);padding:12px;z-index:200}.skip-link:focus{top:16px}.screen-reader{position:absolute;clip-path:inset(50%);height:1px;width:1px;overflow:hidden;white-space:nowrap}[hidden]{display:none!important}
.concept-bar{height:var(--bar-height);padding:0 26px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:#202824;color:#e9e9e0;position:sticky;top:0;z-index:50;border-bottom:1px solid #3e4840}.concept-label{display:flex;align-items:center;gap:12px;font:9px/1.35 var(--mono);letter-spacing:.1em;min-width:160px}.status-dot{width:6px;height:6px;border-radius:50%;background:#b8d499;box-shadow:0 0 0 4px #b8d49915;flex-shrink:0}.concept-sub{display:block;font:12px/1.7 var(--sans);color:#acb5ac;letter-spacing:0}.concept-switch{display:flex;gap:4px;border:1px solid #4a554a;padding:4px;border-radius:5px}.concept-option{background:transparent;color:#b7c0b7;padding:8px 19px;border-radius:2px;font-size:12px;white-space:nowrap}.concept-option span{font:9px var(--mono);opacity:.65;margin-right:9px}.concept-option.active{background:#ebede3;color:#263b31}.concept-option:hover:not(.active){background:#344037;color:white}.concept-option:focus-visible,.materials-trigger:focus-visible{outline-color:#d5e8bc}.materials-trigger{font-size:11px;background:none;color:#dae0d3;padding:10px 0;white-space:nowrap}.materials-trigger span{margin-left:12px}
.site-header{height:var(--nav-height);padding:0 var(--gutter);display:flex;align-items:center;gap:32px;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--header-bg);position:sticky;top:var(--bar-height);z-index:40;backdrop-filter:blur(16px)}.wordmark{display:flex;align-items:center;font-size:19px;line-height:.88;font-weight:700;letter-spacing:-.04em;gap:18px}.wordmark-bottom{display:block;margin-top:4px}.brand-dot{color:#829179}.wordmark-note{font:8px/1.45 var(--mono);border-left:1px solid var(--line);padding-left:16px;letter-spacing:.1em}.desktop-nav{display:flex;gap:clamp(16px,2vw,35px);font-size:12px;margin-left:auto}.desktop-nav a{padding:10px 0;position:relative}.desktop-nav a:after{position:absolute;bottom:5px;left:0;width:0;height:1px;background:currentColor;content:'';transition:width .2s}.desktop-nav a:hover:after{width:100%}.nav-contact{font-size:12px;margin-left:20px;display:flex;gap:26px;align-items:center;border:1px solid var(--ink);padding:13px 18px}.nav-contact:hover{background:var(--ink);color:var(--paper)}.menu-toggle{display:none;background:transparent;width:40px;height:42px;padding:10px}.menu-toggle span{height:1px;background:currentColor;display:block;margin:6px 0}.mobile-nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:18px var(--gutter) 28px;border-bottom:1px solid var(--line)}.mobile-nav a{display:block;font-size:21px;padding:10px 0}
.hero{position:relative;min-height:710px;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:56px var(--gutter) 90px;isolation:isolate;gap:10px}.hero-copy{position:relative;z-index:2;min-width:0}.hero .eyebrow{display:flex;align-items:center;gap:13px;margin-bottom:32px;font-size:9px;letter-spacing:.1em}.small-line{width:30px;height:1px;background:var(--accent);display:inline-block;flex-shrink:0}.hero h1{font-size:clamp(58px,6.5vw,106px);line-height:.99;letter-spacing:-.062em;max-width:770px}.hero-description{max-width:380px;font-size:15px;line-height:1.8;margin-top:30px;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:31px}.button{padding:15px 22px;display:inline-flex;align-items:center;gap:34px;font-size:12px;min-height:48px}.button.primary{color:var(--inverse);background:var(--accent);border:1px solid var(--accent)}.button:hover{filter:brightness(1.12)}.text-link{font-size:12px;border-bottom:1px solid currentColor;display:inline-flex;align-items:center;gap:22px;padding:6px 0;background:none;line-height:1.6}.hero-actions .text-link{border:0;font-size:11px}.hero-location{font:9px var(--mono);letter-spacing:.08em;margin-top:52px;display:flex;align-items:center;gap:8px}.hero-location .icon{width:14px;height:14px}.hero-location>span{font:10px var(--sans);color:var(--muted);letter-spacing:0;border-left:1px solid var(--line);margin-left:13px;padding-left:18px}.hero-visual{width:calc(100% + var(--gutter));height:580px;position:relative;align-self:center;overflow:hidden;background:#e6e7dd}.hero-art{height:100%;width:100%;object-fit:cover;object-position:52% 50%;mix-blend-mode:multiply}.visual-coordinate{font:8px var(--mono);letter-spacing:.12em;position:absolute;z-index:1}.coord-top{left:30px;top:28px}.coord-bottom{left:30px;bottom:57px}.visual-annotation{position:absolute;right:25px;top:50%;display:flex;align-items:flex-start;gap:8px;font:9px/1.6 var(--mono)}.crosshair{font:24px/1 var(--mono);font-weight:300;margin-top:-5px}.demo-caption{position:absolute;bottom:18px;left:30px;font:9px var(--sans);color:#5e695f;right:20px}.scroll-cue{position:absolute;left:var(--gutter);bottom:25px;font:8px var(--mono);letter-spacing:.12em;display:flex;align-items:center;gap:18px}.scroll-cue>span:last-child{font-size:18px}.direction-note{display:flex;align-items:center;gap:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:21px var(--gutter);font-size:12px;background:var(--paper-alt)}.direction-note>span:first-child{font:9px var(--mono);letter-spacing:.07em;white-space:nowrap}.direction-note p{color:var(--muted);max-width:590px;line-height:1.65}.recommended{margin-left:auto;font:8px var(--mono);letter-spacing:.05em;white-space:nowrap;border:1px solid var(--line);padding:5px 8px}
.page-sections{display:flex;flex-direction:column}.section{padding:100px var(--gutter);width:100%}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;margin-bottom:52px}.section-heading .section-index{display:block;margin-bottom:22px}.section-heading>p,.projects-intro{max-width:320px;color:var(--muted);font-size:14px;line-height:1.8}.service-list{margin-top:10px;border-top:1px solid var(--line)}.service-list details{border-bottom:1px solid var(--line)}.service-list summary{display:flex;align-items:center;gap:35px;list-style:none;padding:26px 0;cursor:pointer}.service-list summary::-webkit-details-marker{display:none}.list-number{font:10px var(--mono);color:var(--muted);width:28px;flex-shrink:0}.service-list h3{font-size:25px;line-height:1.2;letter-spacing:-.025em}.detail-symbol{margin-left:auto;font:25px/1 var(--sans);font-weight:300;transition:transform .2s}.service-list details[open] .detail-symbol{transform:rotate(45deg)}.service-list details p{padding:0 60px 27px 63px;max-width:780px;font-size:14px;line-height:1.8;color:var(--muted)}.projects-section{padding-top:20px}.projects-intro p{margin-bottom:13px}.inline-note{font-size:10px;color:var(--muted);display:block;line-height:1.6}.project-filters{display:flex;gap:22px;margin-bottom:28px;align-items:center;flex-wrap:wrap}.filter{font-size:11px;padding:8px 0;border-bottom:1px solid transparent;background:none;color:var(--muted);min-height:38px}.filter.active{border-color:var(--ink);color:var(--ink)}.filter>span{font:8px var(--mono);vertical-align:super;padding-left:3px}.project-grid{display:grid;grid-template-columns:1.25fr 1fr;column-gap:32px;row-gap:44px}.project-card{min-width:0;display:block;background:none;text-align:left;padding:0}.project-image{position:relative;display:block;width:100%;aspect-ratio:1.22;overflow:hidden;background:#e2e4d8}.project-card:nth-child(2){padding-top:86px}.project-card:nth-child(3){padding-right:70px}.project-card:nth-child(4){padding-top:65px}.project-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.project-card:hover img{transform:scale(1.035)}.image-tag{position:absolute;top:19px;left:19px;padding:6px 9px;font:8px var(--mono);letter-spacing:.06em;background:#f3f2ec;color:#273b31}.image-arrow{position:absolute;right:18px;bottom:18px;border-radius:50%;height:36px;width:36px;display:grid;place-items:center;color:#28392f;background:#f3f2ec;font-size:19px}.project-meta{display:flex;justify-content:space-between;gap:20px;padding-top:20px;line-height:1.4}.project-meta strong{font-size:20px;letter-spacing:-.025em;font-weight:500;display:block}.project-meta small{font-size:10px;color:var(--muted);margin-top:7px;display:block}.project-number{font:10px var(--mono);padding-top:4px;color:var(--muted)}.cloud-image{background:#172d29}.plan-image{background:#e8e5dc}.detail-image{background:#d3c9ba}.project-grid[data-filtered="true"] .project-card{padding:0}.social-line{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding-top:27px;margin-top:48px;font-size:13px}.social-line>span{display:flex;gap:12px;align-items:center}.social-line .text-link{font-size:11px}
.technology-section{background:#283d33;color:#f0f1e8;--line:#526255;--muted:#c1cbbf;--accent:#d7e7b9}.section-inside{padding-top:88px;padding-bottom:88px}.technology-layout{display:grid;grid-template-columns:34% 1fr;gap:64px;margin-top:15px}.instrument-tabs{align-self:start;border-top:1px solid var(--line)}.instrument-tab{display:flex;width:100%;padding:24px 0;gap:19px;background:none;border-bottom:1px solid var(--line);align-items:center;text-align:left;color:#c3cdbf}.instrument-tab>span:first-child{font:9px var(--mono);align-self:flex-start;margin-top:4px;opacity:.6}.instrument-tab>span:nth-child(2){flex:1}.instrument-tab strong{display:block;font-size:20px;font-weight:400;letter-spacing:-.03em}.instrument-tab small{font:10px var(--mono);display:block;margin-top:6px}.instrument-tab>span:last-child{opacity:0;margin-right:6px}.instrument-tab.active{color:#eff5dd;border-color:#b5c99b}.instrument-tab.active>span:last-child{opacity:1}.instrument-visual{height:290px;position:relative;background:#182c25;overflow:hidden}.instrument-visual img{width:100%;height:100%;object-fit:cover;object-position:center}.instrument-visual-label{position:absolute;top:18px;left:20px;font:8px var(--mono);letter-spacing:.1em;color:#e2edce;text-shadow:0 1px 2px #14261c}.instrument-demo{position:absolute;bottom:15px;right:18px;font-size:8px;color:#e1e9db;background:#223b33c9;padding:3px 6px}.instrument-description{padding-top:25px}.instrument-description>.eyebrow{color:#c0d29c;font-size:9px}.instrument-description h3{font-size:30px;line-height:1.15;margin:12px 0 15px;letter-spacing:-.035em}.instrument-description p{color:var(--muted);font-size:13px;line-height:1.8;max-width:540px}.instrument-description .instrument-result{border-top:1px solid var(--line);margin-top:20px;padding-top:15px;font-size:11px}.instrument-result span{font:8px var(--mono);color:#ceddb9;display:block;margin-bottom:6px}
.studio-section{display:grid;grid-template-columns:1.05fr 1fr;gap:80px;align-items:center}.studio-picture{position:relative;background:#d7dace;min-width:0;overflow:hidden}.studio-picture>img{width:100%;aspect-ratio:1.05;object-fit:cover}.photo-slot{position:absolute;bottom:22px;left:22px;right:22px;display:flex;align-items:center;gap:13px;padding:17px;background:#f3f2ecef;color:#344235;font-size:12px}.photo-slot small{font-size:9px;color:#667164;display:block;margin-top:3px}.studio-photo-index{position:absolute;top:22px;left:22px;font:8px var(--mono);letter-spacing:.1em;color:#3f5042}.studio-copy .section-index{display:block;margin-bottom:28px}.studio-copy h2{font-size:clamp(36px,3.7vw,59px)}.studio-copy p{font-size:13px;color:var(--muted);line-height:1.9;margin-top:25px;max-width:390px}.studio-copy p+p{margin-top:15px}.studio-copy .text-link{margin-top:26px}.people-section{padding-top:10px}.people-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.person{display:grid;grid-template-columns:38% 1fr;gap:24px;align-items:end;min-width:0}.person-photo{height:245px;background:#dce0d5;position:relative;display:grid;place-items:center;color:#818e79;overflow:hidden}.person-photo:before{position:absolute;content:'';border:1px solid #acb7a3;width:110px;height:145px;top:42px;left:calc(50% - 55px);border-radius:58px 58px 1px 1px}.person-initials{font:italic 45px var(--serif);color:#54644f}.portrait-note{font:7px var(--mono);letter-spacing:.05em;position:absolute;bottom:14px;left:10px;right:10px;text-align:center;color:#4a5944}.team-placeholder{background:#e2dfd5;color:#9b9e8e}.team-placeholder:before{display:none}.team-symbol{width:85px;height:85px;fill:none;stroke:currentColor;stroke-width:.6}.person-info .eyebrow{font-size:8px;letter-spacing:.07em;display:block}.person-info h3{font-size:24px;margin:10px 0 12px;line-height:1.1}.person-info p{font-size:12px;line-height:1.8;color:var(--muted)}.person-info .inline-note{margin-top:12px;font-size:9px}
.contact-section{background:var(--paper-alt);border-top:1px solid var(--line)}.contact-heading .eyebrow{display:block;margin-bottom:25px}.contact-heading h2{position:relative;font-size:clamp(38px,5.6vw,87px);border-bottom:1px solid var(--line);padding-bottom:45px}.contact-heading h2>span{position:absolute;right:5px;top:-5px;font-size:85px;font-weight:300}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:38px}.contact-address h3{font-size:24px;margin-bottom:14px}.contact-address>p{font-size:15px;line-height:1.9}.contact-check{display:block;font-size:9px;color:var(--muted);margin-top:10px;max-width:300px}.contact-address .text-link{margin-top:22px;font-size:11px}.contact-channels{max-width:390px;justify-self:end;width:100%}.contact-channels>p{font-size:13px;line-height:1.8;color:var(--muted)}.contact-button{width:100%;background:var(--ink);color:var(--paper);display:flex;justify-content:space-between;padding:18px 20px;font-size:12px;margin:24px 0 14px}.contact-channels .text-link{font-size:11px;gap:12px}.contact-channels .text-link .icon{width:15px;height:15px}.site-footer{padding:43px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid var(--line)}.footer-wordmark{font-size:16px}.site-footer p{font:8px/2 var(--mono);letter-spacing:.04em}.site-footer p span{font:10px var(--sans);letter-spacing:0;color:var(--muted)}.footer-link{font-size:10px;background:none;border-bottom:1px solid var(--line);padding:8px 0}.footer-link span{margin-left:20px}
.modal{padding:36px;background:#f3f2ec;color:#283b31;border:1px solid #d0d4c7;max-height:88dvh;overflow:auto;max-width:750px;width:calc(100% - 32px);box-shadow:0 30px 100px #07130f4d}.modal::backdrop{background:#14251ee0;backdrop-filter:blur(5px)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:26px}.close-button{font:30px/1 var(--sans);font-weight:300;background:none;width:40px;height:40px;flex-shrink:0;display:grid;place-items:center}.modal h2{font-size:43px;margin-bottom:24px}.modal>p,.project-dialog-copy>p{font-size:13px;line-height:1.85;color:#5c685c}.modal strong{font-weight:600}.material-list{margin:30px 0}.material-list>div{display:flex;gap:25px;padding:20px 0;border-top:1px solid #ced4c6}.material-list>div>span{font:10px var(--mono);color:#778371;margin-top:3px}.material-list h3{font-size:19px;margin-bottom:5px}.material-list p{font-size:12px;line-height:1.8;color:#5c685c}.modal-callout{border:1px solid #ced5c4;background:#e5e9db;padding:21px;margin:23px 0}.modal-callout strong{font-size:13px}.modal-callout p{font-size:12px;line-height:1.8;color:#596650;margin-top:6px}.modal .modal-small{font-size:10px;line-height:1.8;color:#697262}.project-modal{max-width:950px;padding:25px}.project-modal>.modal-header{margin-bottom:12px}.project-modal>img{width:100%;height:350px;object-fit:cover;background:#dfe3d3}.project-dialog-copy{padding:25px 15px 10px}.project-dialog-copy h2{margin-top:10px;font-size:38px}.project-facts{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:20px;border-top:1px solid #cbd1c4;border-bottom:1px solid #cbd1c4;padding:20px 0;margin:25px 0}.project-facts dt{font:9px var(--mono);color:#6c7665;margin-bottom:8px}.project-facts dd{font-size:12px;margin:0}.small-modal{max-width:560px}.social-options{margin-top:25px}.social-options>div{position:relative;padding:20px 0 20px 40px;border-top:1px solid #ced4c6}.social-options span{position:absolute;top:24px;left:0;font:9px var(--mono);color:#7a8570}.social-options h3{font-size:19px;margin-bottom:7px}.social-options p{font-size:12px;line-height:1.8;color:#5f6b5a}body.modal-open{overflow:hidden}
/* Proposta 02: gerarchia tecnica, toni scuri, strumenti prima dei progetti. */
body[data-theme="tecnico"]{--paper:#141e23;--paper-alt:#1c2a2e;--ink:#e3ebd7;--muted:#a9b9ae;--line:#35484a;--accent:#cee59d;--accent-soft:#314232;--inverse:#18231d;--header-bg:rgba(20,30,35,.96)}body[data-theme="tecnico"] h1,body[data-theme="tecnico"] h2{letter-spacing:-.06em}body[data-theme="tecnico"] h1 em,body[data-theme="tecnico"] h2 em{font-family:var(--sans);font-style:normal;color:#cee59d}body[data-theme="tecnico"] .hero{grid-template-columns:1.07fr 1fr;min-height:740px;background-image:linear-gradient(#b4c8a70a 1px,transparent 1px),linear-gradient(90deg,#b4c8a70a 1px,transparent 1px);background-size:50px 50px}body[data-theme="tecnico"] .hero h1{font-size:clamp(64px,7vw,110px)}body[data-theme="tecnico"] .hero-visual{background:#233631;height:540px;width:100%;border:1px solid #536951}body[data-theme="tecnico"] .hero-art{mix-blend-mode:screen;filter:grayscale(1);opacity:.75}body[data-theme="tecnico"] .hero-visual:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,#bed59d00 0px,#bed59d00 8px,#bed59d0c 9px);pointer-events:none}body[data-theme="tecnico"] .visual-coordinate,body[data-theme="tecnico"] .demo-caption,body[data-theme="tecnico"] .visual-annotation{color:#e2efce}body[data-theme="tecnico"] .technology-section{order:0;background:#1b2c2c;border-bottom:1px solid #43534b}body[data-theme="tecnico"] .services-section{order:2;padding-top:90px}body[data-theme="tecnico"] .projects-section{order:1;padding-top:100px}body[data-theme="tecnico"] .studio-section{order:3}body[data-theme="tecnico"] .people-section{order:4}body[data-theme="tecnico"] .contact-section{order:5}body[data-theme="tecnico"] .service-list h3{font-size:23px}body[data-theme="tecnico"] .project-grid{grid-template-columns:1fr 1fr;gap:40px}body[data-theme="tecnico"] .project-card{padding:0}body[data-theme="tecnico"] .project-image{aspect-ratio:1.45}body[data-theme="tecnico"] .brand-dot{color:#cee59d}body[data-theme="tecnico"] .wordmark{font-family:var(--mono);font-size:17px}body[data-theme="tecnico"] .studio-picture{filter:saturate(.6)}body[data-theme="tecnico"] .section-index{color:#cadbaf}
/* Proposta 03: apertura immersiva e progetti al primo posto. */
body[data-theme="portfolio"]{--paper:#efeeea;--paper-alt:#e3e1da;--ink:#242722;--muted:#696c63;--line:#cdcfc5;--accent:#27352c;--header-bg:rgba(239,238,234,.97)}body[data-theme="portfolio"] h1,body[data-theme="portfolio"] h2{font-family:var(--serif);font-weight:400;letter-spacing:-.055em}body[data-theme="portfolio"] h1 em,body[data-theme="portfolio"] h2 em{font-family:var(--sans);font-weight:300;letter-spacing:-.055em;font-style:normal}body[data-theme="portfolio"] .hero{grid-template-columns:1fr;min-height:735px;padding-top:65px;padding-bottom:100px;background:#d9dcd1}body[data-theme="portfolio"] .hero-copy{max-width:800px;pointer-events:none}body[data-theme="portfolio"] .hero-copy a{pointer-events:auto}body[data-theme="portfolio"] .hero h1{font-size:clamp(75px,8.2vw,132px);line-height:.98}body[data-theme="portfolio"] .hero .eyebrow{margin-bottom:26px}body[data-theme="portfolio"] .hero-description{max-width:310px;color:#354437;text-shadow:0 1px 12px #f3f2eca8}body[data-theme="portfolio"] .hero-visual{position:absolute;width:72%;height:100%;right:0;top:0;z-index:-1;opacity:.85;overflow:hidden;align-self:auto;background:transparent}body[data-theme="portfolio"] .hero-art{object-position:62% 50%;transform:scale(1.08);mix-blend-mode:multiply}body[data-theme="portfolio"] .hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#d9dcd1 0%,transparent 50%)}body[data-theme="portfolio"] .visual-coordinate,body[data-theme="portfolio"] .visual-annotation{display:none}body[data-theme="portfolio"] .demo-caption{left:auto;right:30px;bottom:24px;z-index:1;font-size:8px;max-width:240px;text-align:right}body[data-theme="portfolio"] .hero-location{display:none}body[data-theme="portfolio"] .projects-section{order:0;padding-top:90px}body[data-theme="portfolio"] .services-section{order:1;padding-top:10px}body[data-theme="portfolio"] .technology-section{order:3;background:#353b33}body[data-theme="portfolio"] .studio-section{order:2}body[data-theme="portfolio"] .people-section{order:4;padding-top:90px}body[data-theme="portfolio"] .contact-section{order:5}body[data-theme="portfolio"] .project-grid{grid-template-columns:1fr 1fr;gap:45px 30px}body[data-theme="portfolio"] .project-card{padding:0}body[data-theme="portfolio"] .project-card:first-child{grid-column:1/-1}body[data-theme="portfolio"] .project-card:first-child .project-image{aspect-ratio:2.3}body[data-theme="portfolio"] .project-card:last-child{grid-column:1/-1}body[data-theme="portfolio"] .project-card:last-child .project-image{aspect-ratio:2.5}body[data-theme="portfolio"] .project-meta strong{font-family:var(--serif);font-size:27px}body[data-theme="portfolio"] .studio-section{grid-template-columns:1.2fr 1fr}body[data-theme="portfolio"] .service-list h3{font-family:var(--serif);font-size:29px}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
@media(min-width:1600px){.hero{min-height:810px}.hero-visual{height:650px}.hero-copy{padding-right:30px}}
@media(max-width:1150px){:root{--gutter:40px}.desktop-nav{gap:18px}.site-header{gap:22px}.nav-contact{margin-left:0}.wordmark-note{display:none}.hero{min-height:670px}.hero-visual{height:530px}.hero h1{font-size:76px}.hero-actions{gap:18px}.hero-actions .text-link{font-size:10px}.button{padding:14px 17px;gap:20px}.hero-location>span{display:none}.technology-layout{gap:40px}.studio-section{gap:45px}.people-grid{gap:30px}.person{grid-template-columns:1fr;gap:22px;align-items:start}.person-photo{height:260px}.person-info{padding-bottom:10px}.person-photo:before{width:130px;height:170px;left:calc(50% - 65px);top:35px}.person-info h3{font-size:27px}.direction-note{gap:22px}.recommended{font-size:7px}.section{padding-top:80px;padding-bottom:80px}.projects-section{padding-top:10px}.people-section{padding-top:0}.concept-option{padding:8px 13px}.materials-trigger{font-size:10px}.hero .eyebrow{font-size:8px}.studio-copy h2{font-size:43px}}
@media(max-width:860px){:root{--nav-height:78px;--gutter:28px}.concept-bar{padding:0 20px;gap:15px}.concept-label{min-width:0;font-size:8px}.concept-sub{font-size:10px}.concept-option{padding:8px 10px;font-size:11px}.concept-option span{margin-right:5px}.materials-trigger{font-size:0}.materials-trigger span{font-size:19px;display:block;margin-left:0}.desktop-nav{display:none}.menu-toggle{display:block}.site-header{gap:18px}.nav-contact{margin-left:auto;padding:10px 15px;gap:20px;font-size:11px}.wordmark{font-size:17px}.wordmark-note{display:block}.hero{min-height:610px;padding-top:45px;padding-bottom:70px;grid-template-columns:1fr .88fr;gap:0}.hero h1{font-size:63px}.hero-visual{height:480px}.hero-description{font-size:13px;max-width:280px}.hero-actions{align-items:flex-start;flex-direction:column;gap:15px}.hero-location{margin-top:35px;font-size:8px}.visual-annotation{display:none}.coord-top,.coord-bottom,.demo-caption{left:20px}.hero .eyebrow{letter-spacing:.05em}.direction-note{display:grid;grid-template-columns:auto 1fr;gap:10px 20px}.direction-note .recommended{display:none}.direction-note p{font-size:11px}.section-heading{gap:35px}.section-heading>p,.projects-intro{max-width:250px;font-size:12px}.section-heading h2{font-size:42px}.section-heading .section-index{font-size:8px}.service-list h3{font-size:22px}.service-list summary{gap:20px;padding:23px 0}.service-list details p{padding-left:48px;font-size:12px}.project-grid{gap:35px 25px}.project-card:nth-child(2){padding-top:55px}.project-card:nth-child(3){padding-right:25px}.project-card:nth-child(4){padding-top:35px}.project-meta strong{font-size:17px}.project-meta small{font-size:9px}.image-tag{font-size:7px;top:12px;left:12px}.technology-layout{grid-template-columns:1fr;gap:30px}.instrument-tabs{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}.instrument-tab{padding:18px 0}.instrument-tab strong{font-size:20px}.instrument-tab small{font-size:9px}.instrument-panel{display:grid;grid-template-columns:1fr 1fr;gap:25px}.instrument-visual{height:310px}.instrument-description{padding-top:0;align-self:center}.instrument-description h3{font-size:27px}.instrument-description p{font-size:12px}.instrument-visual-label{font-size:7px;left:12px;right:12px}.studio-section{gap:32px}.studio-copy h2{font-size:36px}.studio-copy p{font-size:12px}.photo-slot{left:15px;right:15px;bottom:15px;font-size:10px;padding:12px}.photo-slot small{font-size:8px}.photo-slot .icon{display:none}.contact-grid{gap:40px}.contact-heading h2{font-size:52px}.contact-heading h2>span{font-size:60px}.site-footer{flex-wrap:wrap}.site-footer p{margin-left:auto;text-align:right}.footer-link{margin-left:auto;font-size:9px}body[data-theme="tecnico"] .hero h1{font-size:68px}body[data-theme="tecnico"] .hero{min-height:640px}body[data-theme="tecnico"] .hero-visual{height:440px}body[data-theme="portfolio"] .hero{min-height:650px}body[data-theme="portfolio"] .hero h1{font-size:90px}body[data-theme="portfolio"] .hero-visual{width:80%}body[data-theme="portfolio"] .hero-description{max-width:300px}body[data-theme="portfolio"] .studio-section{grid-template-columns:1fr 1fr}body[data-theme="portfolio"] .service-list h3{font-size:26px}}
@media(max-width:600px){:root{--bar-height:106px;--nav-height:74px;--gutter:22px}.concept-bar{height:var(--bar-height);padding:12px 15px 10px;display:grid;grid-template-columns:1fr auto;gap:9px 10px}.concept-label{font-size:8px;gap:9px}.concept-sub{display:inline;font:9px var(--sans);margin-left:10px;letter-spacing:0}.status-dot{width:5px;height:5px}.concept-switch{grid-row:2;grid-column:1/-1;justify-content:stretch;padding:3px}.concept-option{flex:1;font-size:11px;padding:8px 5px}.concept-option span{font-size:8px;margin-right:7px}.materials-trigger{grid-column:2;grid-row:1;font-size:9px;padding:0}.materials-trigger span{display:inline;font-size:11px;margin-left:8px}.site-header{padding-left:22px;padding-right:12px}.wordmark{font-size:16px;gap:12px}.wordmark-note{font-size:7px;padding-left:12px}.nav-contact{padding:8px 12px;font-size:10px;gap:13px}.menu-toggle{padding:10px 8px;width:34px}.hero{display:flex;flex-direction:column;align-items:stretch;padding:38px 22px 55px;min-height:0;gap:35px}.hero .eyebrow{font-size:7px;margin-bottom:25px;gap:9px}.small-line{width:23px}.hero h1{font-size:clamp(55px,12.5vw,76px);letter-spacing:-.06em}.hero-description{font-size:13px;max-width:315px;margin-top:23px;line-height:1.8}.hero-actions{flex-direction:row;align-items:center;gap:19px;margin-top:24px}.hero-actions .text-link{font-size:10px;gap:11px}.button{padding:13px 16px;gap:19px;font-size:11px;min-height:44px}.hero-location{margin-top:27px}.hero-location>span{display:block;font-size:9px;margin-left:8px;padding-left:12px}.hero-visual{height:330px;width:calc(100% + 22px);margin-left:0;align-self:auto}.hero-art{object-position:50% 48%;object-fit:cover}.coord-top{top:18px;font-size:7px}.coord-bottom{bottom:44px;font-size:7px}.demo-caption{font-size:8px;left:20px;right:15px;bottom:16px;line-height:1.5}.scroll-cue{bottom:16px;font-size:7px}.scroll-cue>span:last-child{font-size:15px}.direction-note{grid-template-columns:1fr;padding:19px 22px;gap:9px}.direction-note>span:first-child{font-size:8px}.direction-note p{font-size:11px;line-height:1.7}.section{padding:62px 22px}.section-heading{display:block;margin-bottom:33px}.section-heading h2{font-size:39px}.section-heading .section-index{font-size:8px;letter-spacing:.08em;margin-bottom:19px}.section-heading>p,.projects-intro{max-width:100%;font-size:12px;margin-top:23px;line-height:1.85}.service-list summary{gap:12px;padding:22px 0}.list-number{font-size:9px;width:22px}.service-list h3{font-size:19px;letter-spacing:-.025em;line-height:1.3;padding-right:12px}.detail-symbol{font-size:22px}.service-list details p{padding:0 15px 22px 34px;line-height:1.85;font-size:12px}.projects-section{padding-top:5px}.projects-intro p{margin-bottom:8px}.inline-note{font-size:9px}.project-filters{gap:22px;margin-bottom:22px}.filter{font-size:10px}.project-grid{grid-template-columns:1fr;gap:32px}.project-card:nth-child(n){padding:0}.project-image{aspect-ratio:1.27}.project-card:nth-child(2) .project-image{aspect-ratio:1.6}.project-card:nth-child(3) .project-image{aspect-ratio:1.45}.project-card:nth-child(4) .project-image{aspect-ratio:1.6}.project-meta{padding-top:15px}.project-meta strong{font-size:21px}.project-meta small{font-size:9px}.image-tag{top:16px;left:16px;font-size:7px}.image-arrow{height:32px;width:32px;font-size:17px;bottom:15px;right:15px}.social-line{display:block;margin-top:33px;padding-top:22px}.social-line>span{font-size:11px;gap:10px}.social-line .icon{width:17px;height:17px}.social-line .text-link{font-size:10px;margin-top:15px}.technology-layout{gap:27px}.instrument-tabs{gap:0 20px}.instrument-tab{gap:10px;padding:18px 0;min-height:88px}.instrument-tab strong{font-size:17px;line-height:1.15}.instrument-tab small{font-size:8px;line-height:1.5}.instrument-tab>span:first-child{font-size:8px}.instrument-tab>span:last-child{font-size:13px;margin:0}.instrument-panel{grid-template-columns:1fr;gap:24px}.instrument-visual{height:250px}.instrument-description h3{font-size:30px}.instrument-description p{font-size:12px}.instrument-description .instrument-result{font-size:11px}.studio-section{display:flex;flex-direction:column;gap:35px;align-items:stretch}.studio-picture>img{aspect-ratio:1.1}.studio-copy .section-index{font-size:8px;margin-bottom:20px}.studio-copy h2{font-size:43px}.studio-copy p{font-size:12px;max-width:100%}.studio-copy .text-link{font-size:11px;margin-top:23px}.photo-slot{padding:15px;font-size:11px}.photo-slot .icon{display:block;width:20px}.photo-slot small{font-size:8px}.people-section{padding-top:5px}.people-grid{grid-template-columns:1fr;gap:30px}.person{grid-template-columns:35% 1fr;gap:22px;align-items:center}.person-photo{height:220px}.person-photo:before{width:84px;height:125px;left:calc(50% - 42px);top:37px}.person-initials{font-size:35px}.portrait-note{font-size:6px;left:8px;right:8px;line-height:1.8}.person-info h3{font-size:24px;margin:9px 0 10px}.person-info p{font-size:11px;line-height:1.8}.person-info .eyebrow{font-size:7px}.person-info .inline-note{font-size:8px}.team-symbol{width:65px;height:65px}.contact-heading .eyebrow{font-size:8px}.contact-heading h2{font-size:42px;padding-bottom:32px;padding-right:20px}.contact-heading h2>span{font-size:35px;top:0;right:0}.contact-grid{grid-template-columns:1fr;gap:35px;margin-top:29px}.contact-address h3{font-size:24px}.contact-address>p{font-size:14px}.contact-channels{justify-self:start;max-width:100%}.contact-channels>p{font-size:12px;max-width:330px}.contact-button{margin-top:20px}.site-footer{padding:30px 22px;gap:22px}.site-footer p{font-size:7px;max-width:210px}.site-footer p span{font-size:8px}.footer-wordmark{font-size:14px}.footer-link{margin-left:0;font-size:9px}.modal{padding:24px;max-height:88dvh}.modal h2{font-size:38px}.modal>p{font-size:12px}.modal-header{margin-bottom:20px}.modal-header>.eyebrow{font-size:8px}.close-button{height:34px;width:34px}.material-list>div{gap:17px;padding:18px 0}.material-list h3{font-size:18px}.material-list p{font-size:11px}.modal-callout{padding:16px}.modal-callout strong{font-size:12px}.modal-callout p{font-size:11px}.project-modal{padding:16px}.project-modal>img{height:245px}.project-dialog-copy{padding:24px 5px 5px}.project-dialog-copy h2{font-size:33px}.project-facts{grid-template-columns:1fr;gap:15px}.project-facts>div{display:flex;gap:20px;align-items:baseline}.project-facts dt{width:90px;margin:0}.project-facts dd{font-size:11px;flex:1}.social-options h3{font-size:18px}.social-options p{font-size:11px}body[data-theme="tecnico"] .hero{min-height:0;display:flex;gap:32px}body[data-theme="tecnico"] .hero h1{font-size:clamp(56px,13vw,77px)}body[data-theme="tecnico"] .hero-visual{width:100%;height:320px}body[data-theme="tecnico"] .hero-location{margin-top:25px}body[data-theme="tecnico"] .technology-section .section{padding-top:60px;padding-bottom:60px}body[data-theme="tecnico"] .projects-section{padding-top:60px}body[data-theme="tecnico"] .services-section{padding-top:5px}body[data-theme="tecnico"] .project-grid{grid-template-columns:1fr;gap:33px}body[data-theme="tecnico"] .service-list h3{font-size:19px}body[data-theme="tecnico"] .project-image{aspect-ratio:1.4}body[data-theme="portfolio"] .hero{min-height:715px;display:flex;justify-content:flex-start;padding-top:44px;gap:0;padding-bottom:80px}body[data-theme="portfolio"] .hero h1{font-size:clamp(65px,14vw,88px)}body[data-theme="portfolio"] .hero .eyebrow{font-size:7px}body[data-theme="portfolio"] .hero-visual{width:100%;height:58%;top:auto;bottom:0;right:0;opacity:.95}body[data-theme="portfolio"] .hero-art{object-position:60% 46%;transform:scale(1.1)}body[data-theme="portfolio"] .hero-visual:after{background:linear-gradient(180deg,#d9dcd1 0%,#d9dcd100 62%)}body[data-theme="portfolio"] .hero-description{max-width:270px;font-size:12px;margin-top:22px}body[data-theme="portfolio"] .hero-actions{margin-top:23px}body[data-theme="portfolio"] .demo-caption{font-size:7px;bottom:20px;right:18px;max-width:200px;line-height:1.6}body[data-theme="portfolio"] .projects-section{padding-top:60px}body[data-theme="portfolio"] .project-grid{grid-template-columns:1fr}body[data-theme="portfolio"] .project-card:nth-child(n){grid-column:auto}body[data-theme="portfolio"] .project-card:first-child .project-image{aspect-ratio:1.25}body[data-theme="portfolio"] .project-card:last-child .project-image{aspect-ratio:1.6}body[data-theme="portfolio"] .project-meta strong{font-size:25px}body[data-theme="portfolio"] .service-list h3{font-size:23px}body[data-theme="portfolio"] .people-section{padding-top:60px}body[data-theme="portfolio"] .studio-section{display:flex}}
@media(max-width:365px){.concept-sub{display:none}.hero-actions{gap:13px}.hero-actions .text-link{font-size:9px}.button{gap:13px;padding-left:13px;padding-right:13px}.wordmark-note{display:none}.hero-location>span{font-size:8px}.project-filters{gap:17px}.person{grid-template-columns:32% 1fr;gap:16px}.person-photo{height:230px}.person-info h3{font-size:22px}.person-photo:before{width:70px;left:calc(50% - 35px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.concept-bar,.site-header,.scroll-cue,.hero-actions,.project-filters,.materials-trigger,.footer-link{display:none}.hero{padding-top:20px;min-height:0}.section{padding-top:35px;padding-bottom:35px}.project-card,.person{break-inside:avoid}body{color:#111;background:white}}
/* Richiesta di sopralluogo o appuntamento. */
.booking-section{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(40px,7vw,120px);border-top:1px solid var(--line)}.booking-overview>.eyebrow{display:block;margin-bottom:25px}.booking-overview h2{font-size:clamp(37px,4vw,61px)}.booking-overview>p{font-size:14px;line-height:1.85;max-width:350px;margin-top:25px;color:var(--muted)}.booking-price{margin:32px 0 30px;border-bottom:1px solid var(--line);padding-bottom:28px}.booking-price>span{display:block;font-size:74px;line-height:1;letter-spacing:-.07em;font-weight:400}.booking-price small{font:8px/1.8 var(--mono);letter-spacing:.07em;display:block;margin-top:15px;color:var(--muted)}.booking-process{list-style:none;padding:0;margin:0 0 26px}.booking-process li{font-size:12px;line-height:1.65;display:flex;gap:14px;align-items:baseline;margin-bottom:14px}.booking-process span{font:9px var(--mono);color:var(--muted)}.booking-confirmation-note{display:flex;gap:15px;align-items:flex-start;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.booking-confirmation-note p{font-size:11px;line-height:1.8;color:var(--muted)}.booking-confirmation-note strong{display:block;font-weight:500;color:var(--ink);margin-bottom:3px}.booking-overview>.booking-demo-note{font:8px/1.8 var(--mono);letter-spacing:.015em;margin-top:18px;max-width:360px}.booking-widget{min-width:0;border:1px solid var(--line);padding:30px;background:var(--paper-alt);align-self:start}.booking-steps{display:flex;gap:12px;justify-content:space-between;list-style:none;padding:0 0 25px;margin:0 0 26px;border-bottom:1px solid var(--line)}.booking-steps li{font-size:10px;color:var(--muted);display:flex;gap:7px;align-items:center}.booking-steps li>span{font:8px var(--mono);height:23px;width:23px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%}.booking-steps li.current{color:var(--ink)}.booking-steps li.current>span,.booking-steps li.complete>span{background:var(--accent);color:var(--inverse);border-color:var(--accent)}.booking-step fieldset{margin:0;padding:0;border:0;min-width:0}.booking-step legend{font-size:12px;padding:0;margin-bottom:14px;font-weight:500}.visit-types{display:grid;grid-template-columns:1fr 1fr;gap:12px}.visit-types legend{margin-bottom:16px}.visit-type{display:flex;position:relative;gap:12px;padding:17px 13px;border:1px solid var(--line);cursor:pointer;align-items:center}.visit-type input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.visit-type:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.visit-type:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.visit-type strong{display:block;font-size:13px;font-weight:500;letter-spacing:-.01em}.visit-type small{display:block;font-size:9px;color:var(--muted);line-height:1.5;margin-top:5px}.visit-radio{width:12px;height:12px;border:1px solid var(--muted);border-radius:50%;margin-left:auto;flex-shrink:0}.visit-type:has(input:checked) .visit-radio{border:3px solid var(--accent);background:var(--paper)}.calendar-heading{display:flex;align-items:center;justify-content:space-between;margin:26px 0 17px}.calendar-heading h3{font-size:20px;letter-spacing:-.025em}.calendar-heading>div{display:flex;gap:7px}.calendar-arrow{width:30px;height:30px;background:none;border:1px solid var(--line);font-size:16px}.calendar-arrow:disabled{opacity:.25;cursor:default}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}.calendar-weekdays{font:9px var(--mono);color:var(--muted);margin-bottom:10px}.calendar-day,.calendar-blank{width:100%;aspect-ratio:1.15;display:grid;place-items:center;font-size:12px;background:transparent;border:1px solid transparent;position:relative;padding:0;min-width:0}.calendar-day:disabled{opacity:.22;cursor:default}.calendar-day:hover:not(:disabled){border-color:var(--line);background:var(--paper)}.calendar-day.selected,.calendar-day.selected:hover{background:var(--accent);color:var(--inverse);border-color:var(--accent)}.calendar-day.today:not(.selected):after{content:'';position:absolute;bottom:5px;left:calc(50% - 1px);height:3px;width:3px;background:var(--ink);border-radius:50%}.time-selection{padding-top:24px!important;margin-top:19px!important;border-top:1px solid var(--line)!important}.time-selection legend{float:left;display:block;width:100%;margin-bottom:14px}.time-selection legend>span{font:8px var(--mono);color:var(--muted);float:right;margin-top:3px}.time-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;clear:both}.time-slot{background:none;border:1px solid var(--line);font-size:11px;padding:9px 4px}.time-slot:hover:not(:disabled){border-color:var(--accent)}.time-slot:disabled{opacity:.25;cursor:default}.time-slot.selected{background:var(--accent);color:var(--inverse);border-color:var(--accent)}.custom-time-label{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:10px;color:var(--muted);margin-top:15px}.custom-time-label input{font:11px var(--sans);color:var(--ink);background:var(--paper);border:1px solid var(--line);padding:8px 10px;max-width:115px;min-height:34px}.selection-message{font-size:10px;line-height:1.7;margin:19px 0 14px;min-height:18px}.booking-next{display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;font-size:12px;padding:16px 18px;background:var(--accent);color:var(--inverse);border:1px solid var(--accent);min-height:49px}.booking-next:disabled{opacity:.35;cursor:default}.calendar-footnote{font-size:9px;line-height:1.8;color:var(--muted);margin-top:12px}.booking-step-heading{margin-bottom:25px}.booking-step-heading>.eyebrow{font-size:8px}.booking-step-heading h3{font-size:28px;line-height:1.12;margin:13px 0}.booking-step-heading p{font-size:11px;color:var(--muted);line-height:1.8}.booking-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px 14px}.booking-form-grid label{display:block;font-size:10px;line-height:1.5;min-width:0}.booking-form-grid input,.booking-form-grid textarea{font:12px/1.5 var(--sans);width:100%;min-width:0;margin-top:7px;display:block;background:var(--paper);border:1px solid var(--line);border-radius:0;padding:12px;color:var(--ink)}.booking-form-grid input::placeholder,.booking-form-grid textarea::placeholder{color:var(--muted);opacity:.75}.booking-form-grid input:focus-visible,.booking-form-grid textarea:focus-visible,.custom-time-label input:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.full-field,.booking-address-field{grid-column:1/-1}.booking-form-grid textarea{resize:vertical;min-height:100px}.booking-acknowledgement{display:flex;align-items:flex-start;gap:10px;margin:22px 0;font-size:10px;line-height:1.8}.booking-acknowledgement input{margin:4px 0 0;accent-color:var(--accent);flex-shrink:0}.booking-bottom-actions{display:flex;gap:20px;align-items:center;justify-content:space-between}.booking-bottom-actions>.booking-next{width:auto;flex:1}.booking-back{background:none;font-size:10px;padding:12px 0;text-align:left}.booking-error{font-size:11px;line-height:1.7;color:#a14123;margin:15px 0}.booking-review{margin:0;padding:0}.booking-review>div{display:flex;gap:20px;justify-content:space-between;border-bottom:1px solid var(--line);padding:13px 0;font-size:11px}.booking-review dt{color:var(--muted);font-size:10px;min-width:100px}.booking-review dd{margin:0;text-align:right;overflow-wrap:anywhere;max-width:65%}.review-total{display:flex;justify-content:space-between;align-items:center;padding:24px 0;border-bottom:1px solid var(--line);gap:20px}.review-total>span{font-size:13px}.review-total small{font-size:9px;display:block;margin-top:4px;color:var(--muted)}.review-total strong{font-size:40px;letter-spacing:-.05em;font-weight:400}.request-status{font:8px/1.6 var(--mono);letter-spacing:.025em;display:flex;align-items:center;gap:9px;margin:20px 0}.request-status>.status-dot{background:var(--ink);box-shadow:none;width:4px;height:4px}.payment-button{font-size:11px;gap:12px}.payment-button>.icon{width:17px;height:17px}.payment-button>span{margin-left:auto}.payment-preview-price{display:flex;align-items:center;gap:30px;justify-content:space-between;padding:23px 0;margin:5px 0 22px;border-top:1px solid #ccd2c3;border-bottom:1px solid #ccd2c3}.payment-preview-price>span{font-size:12px;max-width:220px}.payment-preview-price strong{font-size:46px;line-height:1;letter-spacing:-.06em;font-weight:400}.small-modal .booking-next{background:#3d5545;color:#f3f2ec;border-color:#3d5545;margin-top:22px}body[data-theme="tecnico"] .booking-section,body[data-theme="portfolio"] .booking-section{order:5}body[data-theme="tecnico"] .contact-section,body[data-theme="portfolio"] .contact-section{order:6}body[data-theme="tecnico"] .booking-error{color:#ffc59c}body[data-theme="tecnico"] .booking-step input[type="time"]{color-scheme:dark}body[data-theme="portfolio"] .booking-price>span{font-family:var(--serif)}
@media(max-width:1150px){.booking-section{gap:40px;grid-template-columns:.8fr 1.2fr}.booking-widget{padding:24px}.booking-overview h2{font-size:45px}.booking-overview>p{font-size:13px}.booking-price>span{font-size:65px}}
@media(max-width:860px){.booking-section{grid-template-columns:1fr;gap:35px}.booking-overview{display:grid;grid-template-columns:1fr 1fr;column-gap:40px;align-items:start}.booking-overview>.section-index,.booking-overview>h2,.booking-overview>p:not(.booking-demo-note){grid-column:1}.booking-overview>.booking-price{grid-column:2;grid-row:1/4;margin:15px 0 0;align-self:center}.booking-process{grid-column:1;margin:25px 0 0}.booking-confirmation-note{grid-column:2;grid-row:4;margin-top:25px}.booking-overview>.booking-demo-note{grid-column:1/-1;max-width:100%}.booking-widget{padding:30px}.calendar-day{aspect-ratio:1.8}.booking-overview h2{font-size:44px}.calendar-heading{margin-top:28px}.visit-type{padding:20px}.visit-type strong{font-size:15px}.visit-type small{font-size:10px}.booking-steps li{font-size:12px}.booking-form-grid input{min-height:47px}}
@media(max-width:600px){.booking-section{padding-top:58px;padding-bottom:60px;gap:28px}.booking-overview{display:block}.booking-overview>.eyebrow{font-size:8px;margin-bottom:20px}.booking-overview h2{font-size:43px}.booking-overview>p{font-size:12px;margin-top:22px;max-width:100%}.booking-overview>.booking-price{margin:27px 0 24px;padding-bottom:22px;display:flex;gap:22px;align-items:center}.booking-price>span{font-size:63px}.booking-price small{margin-top:0;font-size:7px;line-height:1.9}.booking-process{margin:0 0 20px}.booking-process li{font-size:11px;margin-bottom:11px}.booking-confirmation-note{margin-top:0;padding:17px 0}.booking-confirmation-note p{font-size:10px}.booking-overview>.booking-demo-note{font-size:8px;margin-top:15px;line-height:1.8}.booking-widget{padding:20px 16px}.booking-steps{gap:5px;padding-bottom:20px;margin-bottom:23px}.booking-steps li{font-size:9px;gap:5px}.booking-steps li>span{width:21px;height:21px;font-size:7px}.visit-types{gap:9px}.visit-types legend{font-size:11px}.visit-type{padding:14px 10px;gap:5px}.visit-type strong{font-size:13px}.visit-type small{font-size:8px;line-height:1.5;max-width:112px}.visit-radio{height:10px;width:10px}.calendar-heading h3{font-size:19px}.calendar-heading{margin-top:24px}.calendar-days{gap:3px}.calendar-day{aspect-ratio:1.05;font-size:12px}.calendar-weekdays{font-size:9px}.time-selection{margin-top:15px!important;padding-top:20px!important}.time-selection legend{font-size:11px}.time-selection legend>span{font-size:7px}.time-slot{font-size:10px;padding:10px 3px}.custom-time-label{font-size:9px;gap:10px}.custom-time-label input{max-width:107px;font-size:10px}.selection-message{font-size:10px;line-height:1.8;margin-top:20px}.booking-next{font-size:11px;padding:15px;gap:15px}.calendar-footnote{font-size:8px;line-height:1.8}.booking-step-heading h3{font-size:28px}.booking-step-heading p{font-size:10px}.booking-form-grid{grid-template-columns:1fr;gap:17px}.booking-form-grid label{font-size:10px}.booking-form-grid input,.booking-form-grid textarea{font-size:16px;min-height:46px;padding:11px}.booking-form-grid input::placeholder,.booking-form-grid textarea::placeholder{font-size:12px}.booking-acknowledgement{font-size:9px}.booking-bottom-actions{gap:14px;flex-direction:column-reverse;align-items:stretch}.booking-bottom-actions>.booking-next{width:100%}.booking-back{font-size:10px}.booking-review>div{font-size:10px;gap:13px}.booking-review dt{font-size:9px;min-width:82px}.booking-review dd{max-width:62%}.review-total>span{font-size:12px}.review-total strong{font-size:38px}.request-status{font-size:7px;gap:8px;letter-spacing:0}.payment-button{font-size:10px;gap:8px}.payment-button>.icon{height:15px;width:15px}.payment-preview-price{gap:20px}.payment-preview-price strong{font-size:42px}.payment-preview-price>span{font-size:11px;max-width:180px}}

.material-payment-brief{border-top:1px solid #ccd3c2;padding:20px 0 0}.material-payment-brief h3{font-size:19px;margin-bottom:8px}.material-payment-brief p{font-size:12px;line-height:1.8;color:#5d6b56}
/* Contenuti reali caricati il 16 ottobre 2026. */
body[data-theme="editoriale"] .hero-art{mix-blend-mode:normal;object-position:48% 50%}
body[data-theme="editoriale"] .hero-visual{background:#d9ddd1}
body[data-theme="editoriale"] .visual-annotation{display:none}
body[data-theme="editoriale"] .visual-coordinate{color:#fff;background:#263b31b3;padding:5px 8px}
body[data-theme="editoriale"] .demo-caption{color:white;background:#263b31c9;padding:6px 9px;right:auto;max-width:85%}
body[data-theme="tecnico"] .hero-art{filter:none;mix-blend-mode:normal;opacity:1;object-position:center}
body[data-theme="portfolio"] .hero{background:#132424;color:#f5f3e8}
body[data-theme="portfolio"] .hero-visual{width:100%;height:100%;opacity:1;background:#132424}
body[data-theme="portfolio"] .hero-art{mix-blend-mode:normal;object-position:62% 48%;transform:none}
body[data-theme="portfolio"] .hero-visual:after{background:linear-gradient(90deg,#101f25f2 0%,#101f25b8 32%,#101f2552 66%,#101f250a 100%)}
body[data-theme="portfolio"] .hero-description{color:#e7e9df;text-shadow:none}
body[data-theme="portfolio"] .hero .small-line{background:#f4f0df}
body[data-theme="portfolio"] .hero-actions .primary{background:#eeeee4;color:#263b31;border-color:#eeeee4}
body[data-theme="portfolio"] .hero .demo-caption{color:#f5f3e8;background:#11251dbd;padding:6px 9px;max-width:none}
.real-project-grid{grid-template-columns:1fr;gap:0}
.project-card.project-featured{display:grid;grid-template-columns:1.55fr .8fr;align-items:stretch;padding:0;width:100%;border:1px solid var(--line)}
.project-featured .project-image{aspect-ratio:1.6;min-height:340px}
.project-featured .project-meta{padding:32px;align-items:center;background:var(--paper-alt)}
.project-featured .project-meta strong{font-size:clamp(36px,4vw,61px);line-height:.98;margin-top:25px;letter-spacing:-.055em}
.project-featured .project-meta small{font-size:10px;margin-top:20px;line-height:1.8}
.project-featured .project-meta .eyebrow{font-size:8px;color:var(--muted)}
.project-teaser{display:block;font-size:12px;line-height:1.8;margin-top:20px;color:var(--muted)}
.project-featured .project-meta .text-link{font-size:11px;margin-top:27px}
.project-photo-strip,.studio-photo-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:23px}
.project-photo-strip>button,.studio-photo-strip>button{background:none;padding:0;text-align:left;min-width:0}
.project-photo-strip img,.studio-photo-strip img{width:100%;aspect-ratio:1.7;object-fit:cover}
.project-photo-strip>button>span,.studio-photo-strip>button>span{display:flex;justify-content:space-between;align-items:center;font-size:10px;margin-top:10px;gap:15px}
.project-photo-strip>button:hover img,.studio-photo-strip>button:hover img{filter:brightness(1.06)}
.studio-main-photo{display:block;position:relative;width:100%;padding:0;background:none;text-align:left}
.studio-main-photo>img{width:100%;aspect-ratio:1.04;object-fit:cover;object-position:center 54%}
.studio-main-photo .studio-photo-index{color:white;background:#283d33a8;padding:5px 8px}
.studio-photo-open{position:absolute;left:21px;right:21px;bottom:21px;display:flex;justify-content:space-between;align-items:center;padding:14px 17px;font-size:11px;background:#f3f2ecef;color:#283d33}
.studio-photo-strip{grid-column:1/-1;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:-30px;gap:18px}
.studio-photo-strip img{aspect-ratio:1.1}
.studio-photo-strip>button>span{font-size:9px;line-height:1.6;align-items:flex-start}
.people-grid{row-gap:45px}
.person-info h3{font-size:25px;line-height:1.08;overflow-wrap:anywhere}
.person-info .person-qualification{font-size:10px;margin-bottom:11px;line-height:1.7}
.person-info .person-bio{font-size:11px;line-height:1.75;margin-top:12px}
.person-contact-links{border-top:1px solid var(--line);padding-top:12px;margin-top:15px;display:flex;flex-direction:column;gap:9px}
.person-contact-links a{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;font-size:10px;line-height:1.5;overflow-wrap:anywhere}
.person-contact-links a:hover{text-decoration:underline}
.person-contact-links a>span{flex-shrink:0}
.person-pec{font-size:9px;margin-top:14px}
.person-pec summary{cursor:pointer;display:flex;justify-content:space-between;list-style:none;padding:4px 0}
.person-pec summary::-webkit-details-marker{display:none}
.person-pec a{overflow-wrap:anywhere;font-size:9px;display:block;line-height:1.8;padding:8px 0}
.person-pec[open] summary>span{transform:rotate(45deg)}
.person .person-photo{height:300px}
.person .person-photo:before{top:50px}
.contact-direct{margin:20px 0;display:flex;flex-direction:column;gap:17px}
.contact-direct>a{font-size:12px;overflow-wrap:anywhere;display:block}
.contact-direct>a>span{display:block;font:8px/1.7 var(--mono);color:var(--muted);margin-bottom:4px}
.contact-direct>a:hover{text-decoration:underline}
.real-gallery-modal{max-width:1080px}
.gallery-stage{background:#14211b;display:grid;place-items:center;min-height:220px}
.gallery-stage>img{width:100%;max-height:59dvh;height:auto;object-fit:contain;background:#14211b;aspect-ratio:16/9}
.gallery-navigation{display:flex;gap:18px;align-items:center;padding:17px 0;border-bottom:1px solid #cdd3c3}
.gallery-navigation>button{width:36px;height:36px;background:none;border:1px solid #b5c0aa;flex-shrink:0}
.gallery-navigation>p{font-size:11px;line-height:1.7;flex:1}
.gallery-navigation>#gallery-counter{font:9px var(--mono);white-space:nowrap;color:#65745c}
.gallery-thumbnails{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;padding-top:15px}
.gallery-thumbnails>button{padding:3px;background:none;border:1px solid transparent;min-width:0}
.gallery-thumbnails>button.active{border-color:#3d5545}
.gallery-thumbnails img{width:100%;aspect-ratio:1.65;object-fit:cover}
.gallery-pending-note{font-size:11px;line-height:1.85;color:#65705d;border-top:1px solid #ccd2c2;padding-top:16px}
.real-gallery-modal .project-dialog-copy{padding-top:26px}
.real-gallery-modal .project-facts{font-size:11px}
body[data-theme="tecnico"] .real-project-grid,body[data-theme="portfolio"] .real-project-grid{grid-template-columns:1fr;gap:0}
body[data-theme="tecnico"] .project-featured .project-image,body[data-theme="portfolio"] .project-card.project-featured .project-image{aspect-ratio:1.6}
body[data-theme="portfolio"] .project-featured .project-meta strong{font-size:64px}
@media(max-width:1150px){.project-card.project-featured{grid-template-columns:1.45fr .8fr}.project-featured .project-meta{padding:24px}.project-featured .project-meta strong{font-size:45px}.project-featured .project-image{min-height:340px}.project-photo-strip{gap:18px}.studio-photo-strip{margin-top:-15px;gap:13px}.person .person-photo{height:260px}.person-info h3{font-size:25px}}
@media(max-width:860px){.project-card.project-featured{grid-template-columns:1.2fr 1fr}.project-featured .project-image{min-height:330px}.project-featured .project-meta strong{font-size:42px}.project-featured .project-meta{padding:24px}.project-featured .project-meta .eyebrow{font-size:7px}.project-featured .project-meta small{font-size:9px}.project-teaser{font-size:11px}.studio-photo-strip{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0;gap:20px}.person-info h3{font-size:26px}.person .person-photo{height:280px}body[data-theme="portfolio"] .hero-visual{width:100%}body[data-theme="portfolio"] .project-featured .project-meta strong{font-size:48px}}
@media(max-width:600px){body[data-theme="editoriale"] .hero-art{object-position:50% 50%}body[data-theme="editoriale"] .hero .demo-caption{font-size:8px;bottom:15px}body[data-theme="editoriale"] .hero .coord-bottom{bottom:51px}.project-card.project-featured{display:block}.project-featured .project-image{min-height:0;aspect-ratio:1.5}.project-featured .project-meta{padding:25px}.project-featured .project-meta strong{font-size:46px;margin-top:18px}.project-featured .project-meta strong br{display:none}.project-featured .project-meta strong br:after{content:' '}.project-featured .project-meta small{font-size:10px;margin-top:14px}.project-teaser{font-size:12px;margin-top:13px}.project-featured .project-meta .text-link{margin-top:20px;font-size:11px}.project-photo-strip{grid-template-columns:1fr;gap:22px;margin-top:23px}.project-photo-strip>button>span{font-size:10px}.project-photo-strip img{aspect-ratio:1.9}.studio-main-photo>img{aspect-ratio:1.05;object-position:center 52%}.studio-photo-open{left:16px;right:16px;bottom:16px;font-size:10px;padding:13px}.studio-photo-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px;margin-top:0}.studio-photo-strip>button>span{font-size:8px}.studio-photo-strip img{aspect-ratio:1.2}.studio-section .studio-photo-strip{width:100%}.person .person-photo{height:270px}.person .person-photo:before{top:55px}.person-info h3{font-size:22px;overflow-wrap:normal}.person-info .person-qualification{font-size:9px;margin-bottom:7px}.person-info .person-bio{font-size:10px;line-height:1.8}.person-contact-links{gap:8px;margin-top:12px;padding-top:11px}.person-contact-links a{font-size:9px;gap:7px}.person-pec{font-size:8px;margin-top:10px}.person-pec a{font-size:8px}.person-info .inline-note{font-size:8px}.contact-direct>a{font-size:12px}.gallery-stage>img{max-height:51dvh;aspect-ratio:auto;min-height:180px;object-fit:contain}.gallery-navigation{gap:9px;padding:14px 0}.gallery-navigation>button{width:32px;height:32px}.gallery-navigation>p{font-size:9px;line-height:1.6}.gallery-navigation>#gallery-counter{font-size:8px}.gallery-thumbnails{gap:5px;padding-top:12px}.gallery-thumbnails>button{padding:2px}.gallery-thumbnails img{aspect-ratio:1}.real-gallery-modal .project-dialog-copy{padding:22px 3px 0}.real-gallery-modal .project-dialog-copy h2{font-size:34px}.gallery-pending-note{font-size:10px}body[data-theme="portfolio"] .hero{min-height:720px}body[data-theme="portfolio"] .hero-visual{height:100%;width:100%;top:0;bottom:0;opacity:1}body[data-theme="portfolio"] .hero-art{object-position:62% 50%;transform:none}body[data-theme="portfolio"] .hero-visual:after{background:linear-gradient(180deg,#101f25ed 0%,#101f25bf 43%,#101f2566 74%,#101f2544 100%)}body[data-theme="portfolio"] .hero h1{font-size:clamp(65px,14vw,88px)}body[data-theme="portfolio"] .hero .hero-description{color:#e9ebdf;max-width:290px}body[data-theme="portfolio"] .hero .demo-caption{font-size:7px;bottom:22px;right:18px;max-width:250px}body[data-theme="portfolio"] .project-card.project-featured .project-image{aspect-ratio:1.5}body[data-theme="portfolio"] .project-featured .project-meta strong{font-size:48px}}
@media(max-width:365px){.person{grid-template-columns:30% 1fr;gap:15px}.person .person-photo{height:295px}.person-info h3{font-size:21px}.person-contact-links a{font-size:8px}.person-photo:before{width:65px;left:calc(50% - 32.5px)}}
/* Mappa e schede progetto con descrizione e attribuzioni. */
.project-entry.project-featured{grid-template-columns:1.25fr 1fr;text-align:left;cursor:default}
.project-cover{display:block;width:100%;height:100%;padding:0;background:none;overflow:hidden;text-align:left}
.project-entry .project-cover>.project-image{height:100%;aspect-ratio:auto;min-height:440px}
.project-entry .project-cover .project-image>img{width:100%;height:100%;object-fit:cover;min-height:440px}
.project-summary{padding:clamp(25px,3vw,46px);background:var(--paper-alt);min-width:0}
.project-summary>.eyebrow{font-size:8px;color:var(--muted)}
.project-summary>h3{font-size:clamp(34px,3.4vw,53px);line-height:1.05;letter-spacing:-.045em;margin:18px 0 20px;font-weight:400}
.project-cover-description{font-size:12px;line-height:1.85;color:var(--muted);max-width:470px}
.project-credits{margin:25px 0 22px;padding:0;border-top:1px solid var(--line);display:block}
.project-credits>div{padding:15px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1.25fr;gap:18px;align-items:start}
.project-credits dt{font:8px/1.8 var(--mono);letter-spacing:.025em;color:var(--muted);text-transform:uppercase}
.project-credits dd{margin:0;font-size:11px;line-height:1.7;overflow-wrap:anywhere}
.project-credits dd.credit-pending{color:var(--muted);font-size:10px}
.project-credits ul{list-style:none;padding:0;margin:0}
.project-credits li+li{margin-top:10px}
.project-credits li>span{display:block}
.project-credits li>small{display:block;font-size:9px;color:var(--muted);margin-top:3px;line-height:1.7}
.project-gallery-link{margin-top:0;font-size:11px}
.gallery-project-credits{--line:#cbd1c4;--muted:#65715f;margin:25px 0}
.gallery-project-credits>div{grid-template-columns:200px 1fr}
.gallery-project-credits dd{font-size:12px}
.contact-map{margin-top:55px;min-width:0}
.contact-map-heading{display:flex;gap:30px;justify-content:space-between;align-items:end;margin-bottom:22px}
.contact-map-heading .eyebrow{font-size:8px;color:var(--muted);display:block;margin-bottom:9px}
.contact-map-heading h3{font-size:28px;line-height:1.2;letter-spacing:-.035em}
.contact-map-heading .text-link{font-size:11px;flex-shrink:0}
.google-map-frame{width:100%;min-height:420px;border:1px solid var(--line);background:var(--paper);overflow:hidden}
.google-map-frame iframe{display:block;width:100%;height:420px;border:0;min-width:200px}
.map-address-caption{font-size:10px;color:var(--muted);line-height:1.7;margin-top:12px}
body[data-theme="portfolio"] .project-summary>h3{font-family:var(--serif);font-size:57px}
body[data-theme="tecnico"] .project-entry .project-image,body[data-theme="portfolio"] .project-entry.project-featured .project-image{aspect-ratio:auto}
@media(max-width:1150px){.project-entry.project-featured{grid-template-columns:1.1fr 1fr}.project-summary{padding:27px}.project-summary>h3{font-size:39px}.project-credits>div{grid-template-columns:1fr;gap:4px;padding:12px 0}.project-credits{margin-top:20px}.gallery-project-credits>div{grid-template-columns:180px 1fr;gap:20px}}
@media(max-width:860px){.project-entry.project-featured{grid-template-columns:1fr 1fr}.project-entry .project-cover>.project-image,.project-entry .project-cover .project-image>img{min-height:470px}.project-summary{padding:25px}.project-summary>h3{font-size:36px}.project-cover-description{font-size:11px}.project-credits dd{font-size:10px}.contact-map-heading h3{font-size:26px}.contact-map{margin-top:43px}.google-map-frame{min-height:360px}.google-map-frame iframe{height:360px}.gallery-project-credits>div{grid-template-columns:170px 1fr}body[data-theme="portfolio"] .project-summary>h3{font-size:45px}}
@media(max-width:600px){.project-entry.project-featured{display:block}.project-entry .project-cover>.project-image{height:auto;min-height:0;aspect-ratio:1.55}.project-entry .project-cover .project-image>img{height:100%;min-height:0;aspect-ratio:1.55}.project-summary{padding:25px}.project-summary>h3{font-size:37px;margin:17px 0}.project-cover-description{font-size:12px;line-height:1.85}.project-credits>div{grid-template-columns:1fr 1.2fr;gap:15px;padding:14px 0}.project-credits dt{font-size:7px;line-height:1.9}.project-credits dd{font-size:10px;line-height:1.8}.project-credits dd.credit-pending{font-size:9px}.project-gallery-link{font-size:11px}.gallery-project-credits>div{grid-template-columns:1fr;gap:6px}.gallery-project-credits dt{font-size:8px}.gallery-project-credits dd{font-size:11px}.contact-map{margin-top:37px}.contact-map-heading{display:block;margin-bottom:18px}.contact-map-heading h3{font-size:28px}.contact-map-heading .text-link{margin-top:13px;font-size:10px}.google-map-frame{min-height:330px}.google-map-frame iframe{height:330px}.map-address-caption{font-size:9px;line-height:1.8}body[data-theme="portfolio"] .project-entry.project-featured .project-image{aspect-ratio:1.55}body[data-theme="portfolio"] .project-summary>h3{font-size:43px}}

.map-view-controls{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 12px}.map-view-controls button{font:12px var(--sans);padding:11px 18px;border:1px solid currentColor;color:inherit;background:transparent;cursor:pointer;min-height:44px}.map-view-controls button[aria-pressed="true"]{background:#103f46;color:#fff8ef;border-color:#103f46}.map-view-controls button:focus-visible{outline:2px solid #efb857;outline-offset:3px}

/* Keep the reading canvas comfortable on large and ultrawide displays. */
@media screen{html{background:#e5e2d9}body{width:100%;max-width:1440px;margin-inline:auto}}
