@font-face{font-family:Barlow;src:url('/assets/barlow-condensed-bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/manrope.ttf') format('truetype');font-weight:400 800;font-display:swap}
:root{--ink:#121d2e;--navy:#0d1726;--panel:#17273d;--slate:#516074;--line:#d5dae0;--paper:#f3f5f6;--white:#fff;--orange:#f29155;--rust:#9b391d;--gutter:clamp(20px,5vw,80px);--display:Barlow,'Arial Narrow',Impact,sans-serif}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:20px}
body{margin:0;color:var(--ink);background:var(--paper);font:500 16px/1.6 Manrope,system-ui,sans-serif}
img,video{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #ce6628;outline-offset:4px}
.shell{width:min(100%,1660px);padding-inline:var(--gutter);margin-inline:auto}
.skip{position:fixed;left:12px;top:12px;transform:translateY(-150%);padding:9px 13px;background:#fff;z-index:100}
.skip:focus{transform:none}
.top{min-height:96px;display:flex;justify-content:space-between;align-items:center;gap:24px;background:var(--paper);border-bottom:1px solid var(--line)}
.brand{display:inline-flex;flex-direction:column;align-items:flex-start;gap:5px;text-decoration:none;flex-shrink:0}
.brand img{width:180px;height:auto;background:#fff;padding:3px 6px;border-radius:4px}
.brand span{font-size:8px;letter-spacing:.19em;font-weight:800;color:var(--slate);padding-left:4px}
#site-menu{display:flex;align-items:center;gap:clamp(14px,2.2vw,36px);font-size:14px;font-weight:800}
#site-menu a,.top-call,.footer a{text-decoration:none}
#site-menu a:hover,.footer a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:.24em}
.top-call{border:1px solid #bbc3cf;padding:10px 15px;white-space:nowrap;font-weight:800;font-size:14px}
.top-call span{margin-left:8px;color:var(--rust)}
.menu-toggle{display:none}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;line-height:.99}
h2{font-size:clamp(46px,6.25vw,91px);letter-spacing:-.016em}
h3{font-size:clamp(28px,3.3vw,48px)}
h4{font-size:28px}
.kicker{font-size:11px;letter-spacing:.16em;font-weight:800;text-transform:uppercase;color:var(--rust);line-height:1.45}
.lead{max-width:650px;color:var(--slate);font-size:clamp(15px,1.35vw,20px);margin-top:18px;line-height:1.65}
.button,.text-link{display:inline-flex;align-items:center;justify-content:center;gap:18px;text-decoration:none;font-size:14px;font-weight:800;line-height:1.4}
.button{padding:14px 20px;background:var(--orange);border:1px solid var(--orange);color:var(--ink);min-height:48px}
.button:hover{background:#ffab74;border-color:#ffab74}
.button.outline{background:transparent;border-color:#8795a6}
.button.outline:hover{background:#e1e6ec}
.text-link{justify-content:flex-start;min-height:44px}
.text-link span,.project-more{color:var(--rust)}
.hero{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:center;gap:clamp(24px,4vw,62px);min-height:650px;padding-block:clamp(38px,6.4vw,105px);background:var(--navy);color:#f7fafc;position:relative}
.hero::before,.film-section::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--navy)}
.hero .kicker,.film-section .kicker{color:#ffc095}
.hero h1{font-size:clamp(64px,7.2vw,124px);line-height:.85;letter-spacing:-.017em;margin:18px 0 24px;overflow-wrap:anywhere}
.hero h1 em{color:var(--orange);font-style:normal}
.hero-lead{font-size:clamp(16px,1.35vw,20px);max-width:440px;color:#d4dfec}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 23px;margin-top:26px}
.hero-actions .text-link span{color:var(--orange)}
.hero-visual{min-width:0;aspect-ratio:1.32;position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:center;border:1px solid #4e627a;border-radius:10px;background:radial-gradient(ellipse at 55% 38%,#355370 0,#1c314a 54%,#131f31 100%)}
.model-grid{position:absolute;inset:0;background-image:linear-gradient(#a8c1d417 1px,transparent 1px),linear-gradient(90deg,#a8c1d417 1px,transparent 1px);background-size:35px 35px;mask-image:linear-gradient(to bottom,#000,#0005)}
.model-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%;filter:brightness(.75);transition:opacity .35s}
.hero-visual canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;cursor:grab;touch-action:pan-y;transition:opacity .35s}
.hero-visual canvas:active{cursor:grabbing}
.hero-visual.is-3d canvas{opacity:1}
.hero-visual.is-3d .model-fallback{opacity:0;pointer-events:none}
.model-caption,.model-help{position:absolute;color:#e9f1fa;z-index:1;font-size:11px;pointer-events:none;letter-spacing:.025em}
.model-caption{top:17px;left:16px;display:flex;align-items:center;gap:8px;background:#121d2bdc;padding:7px 10px;border-radius:4px}
.model-caption i{width:7px;height:7px;background:var(--orange);border-radius:50%}
.model-help{top:26px;right:15px;color:#d3e2f1}
.model-tools{position:absolute;bottom:12px;left:12px;right:12px;display:flex;justify-content:space-between;gap:7px}
.model-stages{display:flex;gap:4px;background:#0f1b2be8;padding:5px;border:1px solid #65819e88;border-radius:5px}
.model-tools button{border:1px solid transparent;color:#e5effa;background:transparent;padding:8px 10px;min-height:41px;font-size:12px;font-weight:800;border-radius:3px}
.model-tools button[aria-pressed=true]{background:#d9e7f3;color:#152235}
.model-tools .model-motion{background:#0f1b2be8;border:1px solid #65819e88;min-width:43px}
.section{padding-block:clamp(55px,8vw,118px)}
.section-heading .kicker{margin-bottom:10px}
.heading-with-action{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.heading-with-action>.button{flex-shrink:0}
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:35px}
.service{background:white;padding:clamp(21px,3vw,40px);display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.service-symbol{width:54px;height:54px;display:grid;place-items:center;background:#eaf0f6;border:1px solid #cdd7e0;color:#25405d;font-size:29px;line-height:1;margin-bottom:20px}
.service .kicker{font-size:9px;letter-spacing:.11em}
.service h3{margin:9px 0 13px}
.service p:not(.kicker){color:var(--slate);margin-bottom:16px}
.service .text-link{margin-top:auto}
.materials{margin-top:34px;padding:clamp(20px,3vw,34px);background:#e5eaf0}
.materials>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.5vw,39px);margin-top:23px}
.materials p{font-size:14px;color:var(--slate);margin-top:8px}
.metal-swatch{display:block;height:10px;margin-bottom:12px;border-radius:2px;background:repeating-linear-gradient(114deg,#aab7c3 0 2px,#ced7df 2px 4px,#b9c5d0 4px 6px)}
.metal-2{background:linear-gradient(90deg,#708397,#e8f2fc,#8fa5b8)}
.metal-3{background:repeating-linear-gradient(0deg,#adbcc9 0 2px,#d2bb91 2px 8px,#adbcc9 8px 10px)}
.film-section{background:var(--navy);color:#fff;position:relative}
.film-section .lead{color:#d4dfec}
.film{margin:33px 0 0;position:relative}
.film video{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#070d15;border:1px solid #4f6177}
.film-play{position:absolute;top:calc((100% - 28px)/2);left:50%;transform:translate(-50%,-50%);background:#0f1b2bec;border:1px solid #b1c7df;color:#fff;min-height:52px;padding:12px 18px;white-space:nowrap;font-size:14px;font-weight:800}
.film-play span{color:var(--orange);margin-right:9px}
.film figcaption{font-size:12px;color:#c6d2df;padding-top:10px}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.1vw,34px);margin-top:30px}
.project{background:#fff;border:1px solid var(--line);min-width:0}
.project>a{display:flex;flex-direction:column;height:100%;text-decoration:none}
.project-image{position:relative;aspect-ratio:1.58;overflow:hidden;background:#c9d3de}
.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.project:hover img{transform:scale(1.04)}
.project-image span{position:absolute;bottom:9px;left:9px;padding:4px 9px;background:#142137;color:#fff;font-size:12px}
.project-copy{padding:19px 18px;flex:1;display:flex;align-items:flex-start;flex-direction:column}
.project-meta{display:flex;gap:8px 12px;flex-wrap:wrap;color:#3f5268;font-size:12px;font-weight:800}
.project-meta span{color:var(--slate);font-weight:600}
.project h3{margin:8px 0 17px;font-size:clamp(27px,3vw,43px);overflow-wrap:anywhere}
.project-more{margin-top:auto;font-weight:800;font-size:13px}
.about-teaser{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(24px,6vw,94px);padding-bottom:clamp(48px,7vw,100px)}
.about-picture{height:clamp(300px,43vw,520px);overflow:hidden;background:#c9d3de}
.about-picture img{width:100%;height:100%;object-fit:cover}
.about-teaser .text-link{margin-top:20px}
.contact-banner{display:flex;gap:25px;align-items:center;justify-content:space-between;background:#dee6ee;padding-block:clamp(24px,4vw,63px)}
.contact-banner h2{font-size:clamp(40px,5vw,70px);margin-top:6px}
.contact-banner .button{flex-shrink:0}
.footer{background:var(--navy);color:#e0e9f2;padding-block:35px 19px}
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:30px;padding-bottom:27px}
.footer .brand span{color:#c8d5e4}
.footer p{margin-top:12px;font-size:14px;color:#c6d2df}
.foot-grid nav,.foot-contact{display:flex;flex-direction:column;gap:6px;font-size:14px}
.foot-end{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;border-top:1px solid #566982;padding-top:15px;font-size:12px;color:#c6d2df}
.foot-end strong{color:#fff}
.whatsapp{position:fixed;right:22px;bottom:20px;z-index:4;width:56px;height:56px;background:#167f49;border-radius:50%;display:grid;place-items:center;box-shadow:0 7px 23px #03121145}
.inner-hero{padding-block:clamp(43px,6vw,88px) 33px}
.inner-hero h1{font-size:clamp(54px,8.4vw,125px);letter-spacing:-.016em;max-width:1040px;overflow-wrap:anywhere}
.inner-hero .back{display:inline-block;margin-bottom:22px;text-decoration:none;font-size:13px;font-weight:800;color:var(--rust)}
.list-section{padding-top:0}
.list-section .services-grid,.list-section .project-grid{margin-top:14px}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:21px}
.filters button{border:1px solid #aab7c5;padding:8px 14px;min-height:41px;background:transparent;color:var(--ink);font-weight:800;font-size:13px}
.filters button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.project-detail{padding-bottom:65px}
.project-main-photo{display:block;overflow:hidden;background:#dce4ed}
.project-main-photo img{width:100%;max-height:640px;height:auto;aspect-ratio:1.85;object-fit:contain}
.project-detail h2{font-size:clamp(36px,5vw,63px);margin-top:32px}
.project-detail>.kicker,.project-detail>.project-meta{margin-top:15px}
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.photo-grid img{aspect-ratio:1.5;object-fit:cover;width:100%;height:auto;background:#dce4ed}
.photo-grid a:hover img{filter:brightness(.87)}
.lightbox{border:0;padding:44px 46px 16px;background:#111b2b;color:white;max-width:min(94vw,1100px);max-height:94vh;position:fixed}
.lightbox::backdrop{background:#06101aeb}
.lightbox img{max-height:76vh;object-fit:contain}
.lightbox button{position:absolute;color:white;background:#293b52;border:1px solid #72859a;min-width:36px;min-height:36px;line-height:1;font-size:25px}
.lightbox [data-close]{right:9px;top:6px}
.lightbox [data-prev]{left:6px;top:50%}
.lightbox [data-next]{right:6px;top:50%}
.lightbox p{margin-top:8px;font-size:13px}
.prose{max-width:790px;font-size:clamp(16px,1.45vw,20px);line-height:1.75}
.prose p{margin:15px 0}
.prose h2{font-size:38px;margin-top:26px}
.privacy-copy{max-width:1010px;padding-bottom:65px}
.about-full{padding-bottom:0}
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:22px}
.team-grid article{padding:16px;background:white;border:1px solid var(--line)}
.team-grid img{width:100%;height:auto;aspect-ratio:1.15;object-fit:cover;object-position:center 30%}
.team-grid h3{font-size:clamp(26px,3vw,43px);margin-top:12px}
.team-grid p{color:var(--slate);margin-top:5px}
.contact-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(20px,5vw,75px);align-items:start}
.contact-info,.contact-form{padding:clamp(19px,3.3vw,42px);background:white;border:1px solid var(--line)}
.contact-info h2,.contact-form h2{font-size:clamp(34px,4.7vw,61px);margin-bottom:15px}
.contact-method{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px 0;text-decoration:none;border-bottom:1px solid var(--line);font-size:15px;font-weight:800;overflow-wrap:anywhere}
.contact-method span{color:var(--rust)}
.contact-info h3{font-size:34px;margin:24px 0 9px}
.office-hours{margin:10px 0 0;font-size:13px}
.office-hours>div{display:flex;justify-content:space-between;gap:9px;padding:5px 0;border-top:1px solid var(--line)}
.office-hours dd{margin:0}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.contact-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:800;margin-bottom:13px}
.contact-form input,.contact-form select,.contact-form textarea{border:1px solid #9eabb9;border-radius:0;background:#f7f9fb;color:var(--ink);padding:10px;min-width:0;width:100%;font-size:16px}
.contact-form textarea{min-height:128px;resize:vertical}
.contact-form .privacy-check{flex-direction:row;align-items:flex-start;gap:9px}
.contact-form .privacy-check input{width:18px;height:18px;flex:none;margin:3px 0 0;accent-color:#24496a}
.contact-form .honey{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;clip-path:inset(50%)}
.delivery-note,#form-result{font-size:13px;margin:10px 0;color:var(--slate)}
#form-result.success{color:#12633c;font-weight:800}
#form-result.error{color:#a6261a;font-weight:800}
@media(max-width:1080px){.top-call{display:none}.hero{min-height:570px}.hero-visual{aspect-ratio:1.15}.model-help{display:none}}
@media(min-width:801px) and (max-height:760px){.hero{min-height:calc(100svh - 96px);padding-block:34px}.hero h1{font-size:clamp(56px,6.7vw,112px)}.hero-visual{max-height:calc(100svh - 162px)}.hero-lead{font-size:16px}.hero-actions{margin-top:18px}}
@media(max-width:800px){.hero{grid-template-columns:1fr;gap:26px;min-height:0}.hero h1{font-size:clamp(76px,14.5vw,111px);margin:14px 0 20px}.hero-lead{max-width:530px}.hero-visual{aspect-ratio:1.45}.hero-actions{margin-top:19px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-teaser{grid-template-columns:1fr 1fr}.contact-grid{gap:16px;grid-template-columns:1fr}.office-hours{max-width:480px}}
@media(max-width:660px){.top{min-height:76px;flex-wrap:wrap;gap:12px;padding-block:11px}.brand img{width:145px}.brand span{font-size:7px}.menu-toggle{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;min-height:42px;border:1px solid #b7c1cc;background:transparent;color:var(--ink);font-weight:800;font-size:13px}.menu-toggle span{font-size:19px;line-height:1}#site-menu{display:none;width:100%;flex-wrap:wrap;gap:7px 16px;padding:0 0 6px}#site-menu.open{display:flex}#site-menu a{padding:7px 0}.hero{padding-block:34px 28px}.hero h1{font-size:clamp(63px,14.5vw,96px)}.hero-visual{aspect-ratio:1.13}.model-caption{top:10px;left:10px}.model-tools{left:7px;right:7px;bottom:7px;gap:4px}.model-stages{padding:4px;gap:2px}.model-tools button{padding:7px 7px;font-size:11px}.services-grid,.materials>div,.team-grid,.about-teaser{grid-template-columns:1fr}.materials>div{gap:18px}.service h3{font-size:38px}.service-symbol{margin-bottom:12px}.heading-with-action,.contact-banner{flex-direction:column;align-items:flex-start;gap:14px}.project-grid{gap:13px}.project-copy{padding:12px}.project-meta{font-size:11px;gap:4px 8px}.project h3{font-size:28px}.project-more{font-size:12px}.about-picture{height:300px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.foot-grid{grid-template-columns:1fr 1fr;gap:19px}.foot-grid>div:first-child{grid-column:1/-1}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:1fr;gap:0}.lightbox{padding:45px 34px 14px}.lightbox button{min-width:30px}}
@media(max-width:370px){.hero-actions{gap:6px}.hero-actions .text-link{min-height:38px}.model-stages{gap:1px;padding:3px}.model-tools button{padding-inline:5px}.project-grid,.team-grid{grid-template-columns:1fr}.foot-grid{grid-template-columns:1fr}.foot-grid>div:first-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Palette Air Condotte: superfici chiare, azzurro tecnico e rame. */
:root{--paper:#f8fafb;--navy:#e9f0f5;--ink:#173552;--slate:#486278;--line:#cfdae3;--rust:#a14120;--orange:#f39b67}
.top{background:#fff}
.brand img{width:204px;padding:0;border-radius:0}
.hero{background:linear-gradient(122deg,#fbfcfd,#edf4f8);color:var(--ink);grid-template-columns:minmax(0,.79fr) minmax(0,1.21fr);min-height:0}
.hero .kicker,.film-section .kicker{color:var(--rust)}
.hero h1 em{color:#a94725}
.hero-lead,.film-section .lead{color:var(--slate)}
.hero-actions .text-link span{color:var(--rust)}
.hero-media{margin:0;min-width:0}
.hero-film{position:relative;border:1px solid #b5c6d4;background:#e4edf4;box-shadow:0 16px 40px #3562851a;overflow:hidden;border-radius:10px 10px 0 0}
.hero-film video{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.hero-video-toggle{position:absolute;right:12px;bottom:12px;min-width:44px;min-height:44px;background:#fffffff0;color:#153a59;border:1px solid #b8cbda;border-radius:50%;font-size:17px;font-weight:800;box-shadow:0 3px 12px #122a4a26}
.hero-chapters{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#fff;border:1px solid #b5c6d4;border-top:0;border-radius:0 0 10px 10px;color:#4a6580;font-size:14px}
.hero-chapters button{min-height:36px;padding:5px 9px;border:0;border-bottom:2px solid transparent;color:#35536d;background:none;font-weight:800}
.hero-chapters button[aria-pressed=true]{border-color:#b95b35;color:#913a21}
.film-section{color:var(--ink);background:#ebf2f7}
.film video{background:#dbe8f2;border-color:#a8bed0}
.film-play{background:#fffffff3;color:#193b58;border-color:#a8bed0}
.film-play span{color:var(--rust)}
.film figcaption{color:var(--slate)}
.model-section{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:center;gap:clamp(20px,4vw,60px);padding-top:0}
.model-section .hero-visual{aspect-ratio:1.55;max-height:none;background:radial-gradient(ellipse at 52% 40%,#e1eef7,#c8dceb 75%,#c0d4e5);border-color:#a3bfd3}
.model-grid{background-image:linear-gradient(#7399b541 1px,transparent 1px),linear-gradient(90deg,#7399b541 1px,transparent 1px)}
.model-caption,.model-help{color:#284b67}
.model-caption{background:#ffffffda}
.model-stages,.model-tools .model-motion{background:#f9fcffeb;border-color:#9db8cc}
.model-tools button{color:#254a68}
.model-tools button[aria-pressed=true]{background:#d7e7f3;color:#183c5d}
.footer{background:#e4edf4;color:var(--ink)}
.footer p,.footer .brand span,.foot-end,.foot-end strong{color:#365670}
.foot-end{border-color:#b8c9d7}
.quick-contact{display:none}
@media(max-width:800px){.hero,.model-section{grid-template-columns:1fr}.hero-media{max-width:710px}}
@media(max-width:660px){body{padding-bottom:64px}.brand img{width:162px}.hero-chapters{gap:4px;font-size:13px;padding:4px 7px}.hero-chapters button{font-size:12px}.model-section .hero-visual{aspect-ratio:1.19}.quick-contact{position:fixed;bottom:0;left:0;right:0;display:flex;gap:8px;padding:8px 12px max(8px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid #b4c6d5;z-index:5}.quick-contact a{display:flex;justify-content:center;align-items:center;gap:8px;min-height:45px;text-decoration:none;font-size:13px;font-weight:800;padding:8px 12px}.quick-call{border:1px solid #b4c6d5;flex:1}.quick-quote{background:var(--orange);flex:1.65}.whatsapp{bottom:76px}}
