
:root{--wood:#5a3e2b;--wood2:#8c5e32;--gold:#b88a4a;--paper:#f7f3ed;--ink:#272522;--white:#fff;--line:rgba(39,37,34,.13);--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.65}img{max-width:100%;height:auto}.container{width:min(calc(100% - 40px),var(--max));margin:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:12px;top:12px;background:#fff;padding:10px;z-index:9999}.site-header{position:fixed;z-index:1000;top:0;left:0;right:0;background:rgba(20,17,14,.78);backdrop-filter:blur(12px);transition:.25s}.site-header.scrolled{background:rgba(255,255,255,.96);box-shadow:0 5px 25px rgba(0,0,0,.08)}.header-inner{min-height:86px;display:flex;align-items:center;gap:28px}.brand img{width:150px;display:block}.site-nav{margin-left:auto}.site-nav ul{display:flex;gap:25px;list-style:none;margin:0;padding:0}.site-nav a{color:#fff;text-decoration:none;font-weight:700;font-size:.92rem}.site-header.scrolled .site-nav a{color:var(--ink)}.header-phone{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.5);padding:9px 14px;border-radius:999px;font-weight:700;font-size:.9rem}.site-header.scrolled .header-phone{color:var(--wood);border-color:var(--wood)}.menu-toggle{display:none}.hero{min-height:760px;background-image:var(--hero-image);background-size:cover;background-position:center;display:flex;align-items:center;position:relative;color:#fff}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,10,8,.78),rgba(12,10,8,.25) 65%,rgba(12,10,8,.15))}.hero-content{position:relative;z-index:1;padding-top:90px;max-width:850px}.eyebrow{letter-spacing:.18em;font-size:.74rem;font-weight:800;margin:0 0 16px}.eyebrow.dark{color:var(--wood2)}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.12}h1{font-size:clamp(3rem,7vw,6.2rem);max-width:850px;margin:0 0 24px}.hero-lead{font-size:1.2rem;max-width:650px;margin:0 0 32px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:13px 22px;border-radius:999px;font-weight:800;transition:.2s}.btn-primary{background:var(--gold);color:#fff}.btn-primary:hover{background:#d09d55;transform:translateY(-2px)}.btn-ghost{border:1px solid rgba(255,255,255,.7);color:#fff}.btn-ghost:hover{background:#fff;color:var(--wood)}.btn-light{background:#fff;color:var(--wood)}.section{padding:105px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px}.split h2,.section-heading h2,.contact h2{font-size:clamp(2.2rem,4vw,4rem);margin:0}.split p{font-size:1.08rem}.text-link{color:var(--wood);font-weight:800;text-decoration:none}.section-dark{background:var(--wood);color:#fff}.section-heading{max-width:800px;margin-bottom:50px}.section-heading.light .eyebrow{color:#e0bd85}.section-heading.light h2{color:#fff}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.2)}.service-card{padding:30px 24px 20px;border-right:1px solid rgba(255,255,255,.2)}.service-card:last-child{border-right:0}.service-card span{color:#d4ae74;font-weight:800}.service-card h3{font-size:1.65rem;margin:25px 0 10px}.portfolio{background:#fff}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.portfolio-card{position:relative;margin:0;overflow:hidden;min-height:390px;background:#ddd}.portfolio-card img{width:100%;height:100%;min-height:390px;object-fit:cover;display:block;transition:transform .6s}.portfolio-card:hover img{transform:scale(1.04)}.portfolio-card figcaption{position:absolute;left:18px;right:18px;bottom:18px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.8));padding:50px 14px 12px}.portfolio-card figcaption span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.portfolio-card figcaption strong{font-family:Georgia,serif;font-size:1.45rem}.section-paper{background:var(--paper)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.process-grid>div{border-top:2px solid var(--wood);padding-top:20px}.process-grid b{color:var(--gold)}.process-grid h3{font-size:1.5rem}.cta{background:linear-gradient(120deg,var(--wood),#3c281d);color:#fff}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.cta h2{font-size:clamp(2.2rem,4vw,4rem);margin:0 0 15px}.cta p{max-width:700px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-intro{font-size:1.1rem}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-details a,.contact-details div{padding:20px;border-top:1px solid var(--line);text-decoration:none;color:var(--ink)}.contact-details small{display:block;text-transform:uppercase;letter-spacing:.12em;color:#777}.contact-details strong{font-size:1.05rem}.site-footer{background:#201a16;color:#eee;padding:60px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer-logo{width:150px;filter:brightness(0) invert(1);margin-bottom:15px}.site-footer a{color:#eee;text-decoration:none}.site-footer h3{color:#d8b57c}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:40px;padding-top:18px;display:flex;justify-content:space-between;font-size:.8rem;color:#aaa}.whatsapp{position:fixed;right:20px;bottom:20px;width:56px;height:56px;border-radius:50%;background:#1fa463;color:#fff;display:grid;place-items:center;font-weight:900;text-decoration:none;z-index:1200;box-shadow:0 10px 25px rgba(0,0,0,.25)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.component-view,.error-page{padding-top:140px;padding-bottom:100px}.offline-logo{width:180px}
@media(max-width:980px){.header-phone{display:none}.site-nav ul{gap:14px}.service-grid,.process-grid{grid-template-columns:repeat(2,1fr)}.service-card:nth-child(2){border-right:0}.portfolio-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.container{width:min(calc(100% - 28px),var(--max))}.header-inner{min-height:72px}.brand img{width:125px}.menu-toggle{display:flex;margin-left:auto;background:transparent;border:0;flex-direction:column;gap:5px;padding:8px}.menu-toggle span:not(.sr-only){width:25px;height:2px;background:#fff;display:block}.site-header.scrolled .menu-toggle span:not(.sr-only){background:var(--ink)}.site-nav{position:absolute;top:72px;left:0;right:0;background:rgba(32,26,22,.98);padding:15px;display:none}.site-nav.open{display:block}.site-nav ul{flex-direction:column;gap:0}.site-nav li a{display:block;padding:12px;color:#fff!important}.hero{min-height:690px}.hero-content{padding-top:70px}.split,.contact-grid{grid-template-columns:1fr;gap:35px}.service-grid,.process-grid,.portfolio-grid{grid-template-columns:1fr}.service-card{border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}.portfolio-card,.portfolio-card img{min-height:300px}.cta-inner{display:block}.cta .btn{margin-top:18px}.contact-details{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:6px}}

.fv-module{padding:60px 0}.portfolio-module>p{max-width:680px}.portfolio-module h2{font-family:Georgia,serif;font-size:clamp(2.2rem,4vw,4rem);margin:0 0 12px}


/* FVWood 0.5 — stable home layout */
.site-header{position:absolute;z-index:1000;top:0;left:0;right:0;background:rgba(20,17,14,.72);box-shadow:none}
.site-header.scrolled{position:fixed;background:rgba(255,255,255,.97);box-shadow:0 5px 25px rgba(0,0,0,.08)}
.site-nav .fv-fallback-nav{display:flex;list-style:none;margin:0;padding:0;gap:25px}
.site-nav .fv-fallback-nav a{color:#fff;text-decoration:none;font-weight:700;font-size:.92rem}
.site-header.scrolled .site-nav .fv-fallback-nav a{color:var(--ink)}
.footer-logo{width:105px;height:auto;display:block;margin-bottom:15px;filter:none!important;background:transparent}
.portfolio-filters{display:flex;flex-wrap:wrap;gap:9px;margin:-20px 0 28px}
.portfolio-filter{appearance:none;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:9px 14px;font:inherit;font-weight:700;cursor:pointer}
.portfolio-filter:hover,.portfolio-filter.is-active{background:var(--wood);color:#fff;border-color:var(--wood)}
.portfolio-card-extra{display:none}
.portfolio-grid.is-expanded .portfolio-card-extra{display:block}
.portfolio-more{text-align:center;margin-top:34px}
.portfolio-more-toggle{border:1px solid var(--wood);background:transparent;color:var(--wood)}
.portfolio-more-toggle:hover{background:var(--wood);color:#fff}
@media(max-width:980px){.site-nav .fv-fallback-nav{gap:14px}}
@media(max-width:760px){
 .site-header{position:absolute}
 .site-header.scrolled{position:fixed}
 .site-nav .fv-fallback-nav{display:flex;flex-direction:column;gap:0}
 .site-nav .fv-fallback-nav li a{display:block;padding:12px;color:#fff!important}
 .portfolio-filters{overflow-x:visible;flex-wrap:wrap;padding-bottom:5px}
 .portfolio-filter{white-space:normal}
}


/* FVWood 0.6 — Joomla managed pages */
.fv-inner .site-header{position:absolute;background:rgba(24,18,14,.88)}
.inner-hero{min-height:390px;display:flex;align-items:flex-end;padding:150px 0 72px;color:#fff;background:linear-gradient(110deg,rgba(32,21,14,.94),rgba(90,62,43,.88)),url('../images/portfolio/laboratorio.jpg') center/cover no-repeat}
.inner-hero h1{font-size:clamp(2.8rem,6vw,5.4rem);margin:0;max-width:900px}
.inner-content{padding-top:80px}.article-shell{max-width:980px}.article-shell .page-header{display:none}.article-shell .item-page>p:first-of-type{font-size:1.18rem;color:#5a554f}
.fv-page-lead{font-size:1.24rem;max-width:760px;color:#5c554e;margin:0 0 46px}
.fv-content-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin:42px 0}.fv-content-card{background:var(--paper);padding:32px;border-top:3px solid var(--wood)}
.fv-content-card h2,.fv-content-card h3{margin-top:0;font-size:1.7rem}.fv-story{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:start}.fv-story-aside{background:var(--wood);color:#fff;padding:34px}.fv-story-aside h3{color:#fff;margin-top:0}.fv-points{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:45px 0}.fv-point{border-top:1px solid var(--line);padding-top:18px}.fv-point strong{font-family:Georgia,serif;font-size:1.35rem;display:block;margin-bottom:8px}
.fv-contact-box{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:38px 0}.fv-contact-box>a,.fv-contact-box>div{display:block;background:var(--paper);padding:28px;text-decoration:none;color:var(--ink);border-top:3px solid var(--wood)}.fv-contact-box small{display:block;letter-spacing:.12em;text-transform:uppercase;color:#7b6e62}.fv-contact-box strong{font-size:1.05rem}
.fv-callout{background:var(--wood);color:#fff;padding:42px;margin:48px 0}.fv-callout h2{color:#fff;margin-top:0;font-size:2.2rem}.fv-callout a{color:#fff}.section-action{margin-top:38px}.section-action.center{text-align:center}.btn-outline{border:1px solid var(--wood);color:var(--wood)}.btn-outline:hover{background:var(--wood);color:#fff}.btn-outline-light{border:1px solid rgba(255,255,255,.55);color:#fff}.btn-outline-light:hover{background:#fff;color:var(--wood)}
.fv-full-portfolio{margin-top:30px}.fv-full-portfolio .portfolio-card{cursor:zoom-in}.fv-lightbox{position:fixed;inset:0;z-index:3000;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center;padding:30px}.fv-lightbox.open{display:flex}.fv-lightbox img{max-width:min(1200px,94vw);max-height:88vh;object-fit:contain}.fv-lightbox-close{position:absolute;right:24px;top:18px;border:0;background:transparent;color:#fff;font-size:2.3rem;cursor:pointer}
@media(max-width:760px){.inner-hero{min-height:300px;padding:125px 0 52px}.fv-content-grid,.fv-story,.fv-points,.fv-contact-box{grid-template-columns:1fr}.inner-content{padding-top:55px}.home-portfolio{grid-template-columns:1fr}}


/* FVWood 0.7 — pagine interne e modulo preventivo */
.fv-inner .article-info,
.fv-inner .article-info-term,
.fv-inner .icons,
.fv-inner .pagenavigation,
.fv-inner nav.pagenavigation,
.fv-inner .pager,
.fv-inner dd.modified,
.fv-inner dd.published,
.fv-inner dd.createdby,
.fv-inner dd.category-name,
.fv-inner dd.hits {display:none!important}
.fv-inner .com-content-article__body{max-width:none}
.fv-inner .fv-full-portfolio{margin-top:22px}
.fv-inner .fv-full-portfolio .portfolio-card{min-height:360px}
.fv-inner .fv-full-portfolio .portfolio-card img{min-height:360px}
.fv-quote-wrap{max-width:900px;margin:28px 0 20px}
.fv-quote-form{background:var(--paper);padding:34px;border:1px solid var(--line)}
.fv-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.fv-field{display:flex;flex-direction:column;gap:7px}
.fv-field.fv-span-2{grid-column:1/-1}
.fv-field label{font-weight:800;font-size:.92rem}
.fv-field input,.fv-field textarea,.fv-field select{
  width:100%;border:1px solid rgba(39,37,34,.22);background:#fff;color:var(--ink);
  border-radius:3px;padding:12px 13px;font:inherit
}
.fv-field textarea{min-height:150px;resize:vertical}
.fv-field input:focus,.fv-field textarea:focus,.fv-field select:focus{outline:2px solid var(--gold);outline-offset:1px}
.fv-help{font-size:.82rem;color:#6d675f}
.fv-check{display:flex;gap:10px;align-items:flex-start}
.fv-check input{width:auto;margin-top:5px}
.fv-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.fv-quote-submit{border:0;cursor:pointer}
.fv-form-note{margin-top:18px;font-size:.86rem;color:#625c55}
.fv-alert{padding:14px 16px;margin:0 0 20px;border-left:4px solid var(--wood2);background:#fff}
.fv-alert.success{border-left-color:#2f7a4b}
.fv-alert.error{border-left-color:#a33}
@media(max-width:760px){
  .fv-form-grid{grid-template-columns:1fr}
  .fv-field.fv-span-2{grid-column:auto}
  .fv-quote-form{padding:22px 18px}
  .fv-inner .fv-full-portfolio .portfolio-card,.fv-inner .fv-full-portfolio .portfolio-card img{min-height:300px}
}


/* FVWood 0.8 — header interno, contatti e rifiniture */
.fv-inner .site-header,
.fv-inner .site-header.scrolled{background:rgba(26,20,16,.94);box-shadow:none}
.fv-inner .site-header .site-nav a,
.fv-inner .site-header.scrolled .site-nav a{color:#fff!important}
.fv-inner .site-header .header-phone,
.fv-inner .site-header.scrolled .header-phone{color:#fff;border-color:rgba(255,255,255,.55)}
.fv-inner .site-header .menu-toggle span:not(.sr-only),
.fv-inner .site-header.scrolled .menu-toggle span:not(.sr-only){background:#fff}
.fv-inner .article-shell{max-width:1080px}
.fv-inner .fv-full-portfolio{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.fv-contact-panel{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;margin:34px 0 10px}
.fv-contact-main,.fv-contact-side{background:var(--paper);padding:34px;border-top:3px solid var(--wood)}
.fv-contact-main h2,.fv-contact-side h2{margin-top:0}
.fv-contact-list{display:grid;gap:14px;margin-top:24px}
.fv-contact-link{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px 0;border-top:1px solid var(--line);text-decoration:none;color:var(--ink)}
.fv-contact-link small{display:block;text-transform:uppercase;letter-spacing:.12em;color:#776c63}
.fv-contact-link strong{font-size:1.05rem;text-align:right}
.fv-contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.fv-contact-actions .btn{min-width:180px}
.fv-contact-note{margin-top:28px;padding-top:20px;border-top:1px solid var(--line);color:#625c55}
@media(max-width:760px){
  .fv-contact-panel{grid-template-columns:1fr}
  .fv-contact-link{display:block}
  .fv-contact-link strong{display:block;text-align:left;margin-top:4px}
  .fv-inner .fv-full-portfolio{grid-template-columns:1fr}
}


/* FVWood 0.9 — logo/header, privacy e SEO */
.header-inner{min-height:112px}
.brand{display:flex;align-items:center;align-self:stretch}
.brand img{width:auto;height:104px;max-height:104px;object-fit:contain}
.fv-inner .inner-hero{padding-top:180px}
.fv-legal-note{background:#fff4d8;border-left:4px solid var(--gold);padding:18px 20px;margin:0 0 30px}
.fv-legal-content{max-width:860px}
.fv-legal-content h2{margin-top:42px;font-size:2rem}
.fv-legal-content h3{margin-top:28px;font-size:1.35rem}
.fv-legal-content ul{padding-left:22px}
.fv-legal-content a{color:var(--wood);font-weight:700}
@media(max-width:760px){
  .header-inner{min-height:88px}
  .brand img{height:80px;max-height:80px}
  .site-nav{top:88px}
  .fv-inner .inner-hero{padding-top:145px}
}


/* FVWood 1.1 — contenuti e menu gestiti da Joomla */
.site-nav li.active > a{color:var(--gold)!important}
.fv-home .com-content-article,
.fv-home .item-page{margin:0;padding:0}
.fv-home .com-content-article__body{margin:0}
.fv-home .page-header,
.fv-home .article-info,
.fv-home .icons,
.fv-home .pagenavigation{display:none!important}
.fv-edit-note{background:#fff4d8;border-left:4px solid var(--gold);padding:14px 18px;margin:18px 0}


/* FVWood 1.2 — realizzazioni gestite come articoli Joomla */
.fv-managed-portfolio .portfolio-card a{display:block;color:inherit;text-decoration:none;height:100%}
.fv-managed-portfolio .portfolio-card figcaption strong{display:block}
.fv-project-description{font-size:.82rem;line-height:1.35;margin-top:5px;opacity:.88}
.fv-portfolio-empty{padding:28px;background:var(--paper);border-left:4px solid var(--gold)}
.fv-project-note{background:#fff4d8;border-left:4px solid var(--gold);padding:16px 18px;margin:25px 0}


/* FVWood 1.2.1 — ripristino menu e Home a tutta larghezza */
.fv-home > main > .com-content-article,
.fv-home > main > .item-page,
.fv-home #main-content > .com-content-article,
.fv-home #main-content > .item-page{width:100%;max-width:none;margin:0;padding:0}
.fv-home .com-content-article__body{width:100%;max-width:none}


/* FVWood 1.2.2 — menu principale completo dal backend Joomla */
.site-nav .fv-fallback-nav{align-items:center;flex-wrap:wrap}
.site-nav .fv-fallback-nav li{white-space:nowrap}
@media(min-width:761px) and (max-width:1100px){
  .site-nav .fv-fallback-nav{gap:14px}
  .site-nav .fv-fallback-nav a{font-size:.82rem}
  .header-phone{font-size:.82rem;padding:8px 11px}
}


/* FVWood 1.2.4 — pagina singola realizzazione */
.fv-inner .item-page .item-image,
.fv-inner .com-content-article__body .item-image{margin:0 0 30px}
.fv-inner .item-page .item-image img,
.fv-inner .com-content-article__body .item-image img{
  display:block;
  width:100%;
  max-width:900px;
  max-height:720px;
  object-fit:contain;
  object-position:center;
  margin:0 auto;
}
.fv-inner .item-page > img,
.fv-inner .com-content-article__body > img{
  display:block;
  max-width:900px;
  width:100%;
  height:auto;
  margin:0 auto 30px;
}
.fv-inner .article-shell{padding-top:0}


/* FVWood 1.3 — Realizzazioni gestibili dal backend */
.fv-managed-portfolio .portfolio-card.is-featured::after{
  content:none;
  position:absolute;top:10px;right:10px;
  background:rgba(196,144,61,.95);color:#fff;
  font-size:.68rem;letter-spacing:.08em;font-weight:700;
  padding:6px 8px;border-radius:2px
}
.fv-managed-portfolio .portfolio-card{position:relative}
@media (max-width: 600px) {
  .whatsapp {
    width: 46px;
    height: 46px;
    right: 12px;
    bottom: 12px;
    font-size: 14px;
  }
}
@media (max-width: 600px) {
  body .portfolio-filters {
    display: flex !important;
    flex-wrap: wrap !important;
    overflow-x: visible !important;
    gap: 8px !important;
    padding-bottom: 0 !important;
  }

  body .portfolio-filters .portfolio-filter {
    flex: 0 0 auto !important;
    white-space: normal !important;
  }
}
.fv-managed-portfolio .portfolio-card.is-featured::after{
  display:none!important;
}
