@font-face{font-family:system-ui;src:local("Arial")} :root{--pine:#17483d;--pine-2:#286957;--coral:#e46f58;--cream:#f7f0dc;--paper:#fffaf0;--ink:#1b302a;--moss:#dbe5d0;--ochre:#deb369;--line:#d7c9a7;--shadow:0 18px 40px rgba(19,57,49,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.58;overflow-x:hidden}h1,h2,h3,h4,.display-font{font-family:Georgia,'Times New Roman',serif;color:var(--pine);font-weight:700;letter-spacing:-.03em;line-height:1.06}h1{font-size:clamp(2.65rem,6vw,5.7rem)}h2{font-size:clamp(2rem,3.8vw,3.7rem)}h3{font-size:clamp(1.35rem,2.2vw,1.85rem)}a{color:var(--pine);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--coral)}.skip-link{position:absolute;left:12px;top:-58px;z-index:300;background:var(--coral);color:#fff;padding:12px 16px;border-radius:0 0 8px 8px;font-weight:700}.skip-link:focus{top:0;color:#fff}.site-header{background:rgba(247,240,220,.96);border-bottom:1px solid rgba(23,72,61,.14);backdrop-filter:blur(12px)}.brand{display:inline-flex;align-items:center;gap:11px;font-size:1.02rem;font-weight:700;color:var(--pine);text-decoration:none;letter-spacing:.03em}.brand img{width:36px;height:36px}.navbar-toggler{min-width:48px;min-height:44px;border-color:var(--pine)}.navbar-toggler:focus{box-shadow:0 0 0 .2rem rgba(228,111,88,.35)}.nav-link{font-weight:700;color:var(--pine)!important;padding:.75rem .75rem!important}.nav-link:hover,.nav-link.active{color:var(--coral)!important}.header-mail{font-weight:700;font-size:.93rem;white-space:nowrap}.button-coral,.button-outline{font-size:1rem;min-height:46px;padding:.65rem 1.05rem;border-radius:0;border:2px solid var(--coral);font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none}.button-coral{background:var(--coral);color:#fff}.button-coral:hover{background:#c95540;border-color:#c95540;color:#fff}.button-outline{background:transparent;color:var(--pine);border-color:var(--pine)}.button-outline:hover{background:var(--pine);color:#fff}.eyebrow{display:inline-flex;gap:.55rem;align-items:center;text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;font-weight:800;color:var(--pine-2)}.eyebrow:before{content:"";width:28px;height:2px;background:var(--coral)}.hero{position:relative;overflow:hidden;background:var(--cream);padding:7rem 0 4.5rem}.hero:after{content:"";position:absolute;right:-11rem;top:-8rem;width:34rem;height:34rem;border:42px solid var(--moss);border-radius:50%;opacity:.72}.hero-copy{position:relative;z-index:1}.hero-lead{font-size:clamp(1.08rem,1.8vw,1.35rem);max-width:38rem}.choice-window{position:relative;z-index:1;min-height:475px;background:var(--pine);border:12px solid var(--paper);box-shadow:var(--shadow);overflow:hidden}.choice-window img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;mix-blend-mode:screen;opacity:.84}.window-grid{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;z-index:2}.window-grid span{border:2px solid rgba(247,240,220,.94)}.window-note{position:absolute;z-index:3;right:1.4rem;bottom:1.4rem;background:var(--cream);padding:1rem 1.2rem;width:min(80%,275px);box-shadow:10px 10px 0 var(--coral);font-family:Georgia,serif;font-size:1.1rem;line-height:1.2}.floor-line{height:1px;background:var(--line);margin:0}.section-space{padding:5.7rem 0}.paper-panel{background:var(--paper);padding:clamp(1.3rem,4vw,3.4rem);box-shadow:var(--shadow);border:1px solid rgba(125,104,62,.13)}.room-heading{max-width:51rem}.marker{display:inline-block;background:linear-gradient(transparent 58%,#f2c789 58%);padding:0 .05em}.chapter-index{font:700 1rem Georgia,serif;color:var(--coral);border-top:2px solid var(--coral);padding-top:.45rem;width:4rem}.decision-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.decision-card{position:relative;min-height:215px;padding:1.5rem;border:1px solid var(--line);background:var(--paper);overflow:hidden}.decision-card:nth-child(2){background:var(--pine);color:var(--cream)}.decision-card:nth-child(2) h3{color:var(--cream)}.decision-card:nth-child(3){background:#f6ce8e}.decision-card:nth-child(4){background:#dbe7d2}.decision-card .card-number{font:700 3.7rem Georgia,serif;line-height:1;color:rgba(23,72,61,.13);position:absolute;bottom:.7rem;right:.8rem}.decision-card:nth-child(2) .card-number{color:rgba(247,240,220,.18)}.ribbon{background:var(--pine);color:var(--cream);padding:1.1rem 0;overflow:hidden}.ribbon-inner{display:flex;gap:2rem;justify-content:space-between;align-items:center;font-family:Georgia,serif;font-size:1.15rem;white-space:nowrap}.ribbon i{color:var(--coral)}.role-map{background:var(--pine);color:var(--cream);position:relative;overflow:hidden}.role-map h2,.role-map h3{color:var(--cream)}.role-map:after{content:"";position:absolute;width:45rem;height:45rem;border:1px solid rgba(247,240,220,.19);border-radius:50%;right:-16rem;bottom:-25rem}.map-board{position:relative;z-index:1;background:rgba(247,240,220,.07);border:1px solid rgba(247,240,220,.26);padding:1.1rem}.map-path{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.map-stop{flex:1 1 120px;padding:1rem;background:var(--cream);color:var(--ink);min-height:132px}.map-arrow{font-size:1.65rem;color:var(--coral)}.photo-frame{position:relative;padding:0 1.2rem 1.2rem 0}.photo-frame:after{content:"";position:absolute;z-index:0;right:0;bottom:0;width:76%;height:76%;background:var(--coral)}.photo-frame img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;min-height:380px}.note-stack{position:relative;min-height:350px}.note-card{position:absolute;background:var(--paper);padding:1.55rem;box-shadow:var(--shadow);border:1px solid var(--line);width:78%}.note-card:first-child{left:4%;top:5%;transform:rotate(-3deg)}.note-card:last-child{right:0;bottom:0;transform:rotate(3deg);background:#f3cb8b}.note-card ul{padding-left:1.1rem}.note-card li{margin-bottom:.45rem}.service-card{height:100%;padding:1.65rem;background:var(--paper);border-top:5px solid var(--pine);box-shadow:0 12px 30px rgba(19,57,49,.08)}.service-card:nth-child(2){border-color:var(--coral)}.service-card:nth-child(3){border-color:var(--ochre)}.service-icon{font-size:1.7rem;color:var(--coral)}.tab-wrap{background:#e4ead9}.nav-pills{gap:.55rem}.nav-pills .nav-link{background:transparent!important;border:1px solid rgba(23,72,61,.35);border-radius:0;color:var(--pine)!important;min-height:44px}.nav-pills .nav-link.active{background:var(--pine)!important;color:var(--cream)!important;border-color:var(--pine)}.tab-pane{background:var(--paper);padding:1.75rem;margin-top:1.4rem;min-height:260px;border-left:6px solid var(--coral)}.agenda-list{list-style:none;padding:0;margin:0}.agenda-list li{display:flex;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.agenda-list i{color:var(--coral)}.checklist-card{background:var(--paper);border:1px solid var(--line);padding:clamp(1.3rem,3vw,2.2rem)}.checklist-item{display:flex;align-items:center;gap:.75rem;padding:.85rem 0;border-bottom:1px dashed var(--line)}.checklist-item input{appearance:none;width:25px;height:25px;flex:0 0 25px;border:2px solid var(--pine);border-radius:0;background:#fff;cursor:pointer}.checklist-item input:checked{background:var(--coral);border-color:var(--coral);box-shadow:inset 0 0 0 4px var(--paper)}.counter-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--pine);color:var(--cream);width:46px;height:46px;border-radius:50%;font-weight:700}.reset-button{min-height:44px;border:0;background:transparent;color:var(--pine);font-weight:700;text-decoration:underline}.accordion{--bs-accordion-bg:var(--paper);--bs-accordion-border-color:var(--line);--bs-accordion-btn-color:var(--pine);--bs-accordion-active-color:var(--pine);--bs-accordion-active-bg:#eef1e4;--bs-accordion-btn-focus-box-shadow:0 0 0 .2rem rgba(228,111,88,.25)}.accordion-button{font-weight:700;font-size:1.06rem;padding:1.25rem}.accordion-body{padding:1.2rem 1.25rem 1.5rem}.contact-sheet{background:var(--pine);color:var(--cream);position:relative;overflow:hidden}.contact-sheet h2{color:var(--cream)}.contact-sheet:before{content:"";position:absolute;width:32rem;height:32rem;border:1px solid rgba(247,240,220,.25);border-radius:50%;left:-12rem;top:-12rem}.contact-sheet .container{position:relative;z-index:1}.form-card{background:var(--paper);color:var(--ink);padding:clamp(1.2rem,4vw,2.4rem);box-shadow:var(--shadow)}.form-label{font-weight:700}.form-control,.form-select{font-size:16px;min-height:48px;border:1px solid #9fae9c;border-radius:0}.form-control:focus,.form-select:focus{border-color:var(--coral);box-shadow:0 0 0 .2rem rgba(228,111,88,.2)}textarea.form-control{min-height:130px}.form-help{font-size:.91rem}.form-alert{display:none}.form-alert.show{display:block}.footer{background:#123a31;color:var(--cream);padding:3.4rem 0 1.8rem}.footer h2{color:var(--cream);font-size:1.2rem}.footer a{color:var(--cream)}.footer a:hover{color:#f4c985}.footer-rule{border-color:rgba(247,240,220,.25)}.legal-main{padding:8rem 0 5rem}.legal-copy{max-width:52rem}.legal-copy h2{font-size:1.8rem;margin-top:2.6rem}.notfound{min-height:72vh;display:flex;align-items:center;background:linear-gradient(125deg,var(--cream) 0 50%,var(--moss) 50%)}.notfound-window{width:100%;padding:2rem;background:var(--paper);border:9px solid var(--pine);box-shadow:var(--shadow)}.visually-hidden-focusable:not(:focus){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:991px){.header-mail{margin:.5rem .75rem 1rem}.hero{padding-top:6.2rem}.choice-window{min-height:380px}.section-space{padding:4.25rem 0}.photo-frame img{min-height:290px}}@media(max-width:575px){.hero{padding:5.5rem 0 3.5rem}.hero .button-coral,.hero .button-outline{width:100%;margin-bottom:.55rem}.choice-window{min-height:330px;border-width:8px}.window-note{right:1rem;bottom:1rem;padding:.8rem;width:78%;font-size:1rem}.decision-grid{grid-template-columns:1fr}.ribbon-inner{justify-content:flex-start}.map-arrow{transform:rotate(90deg);width:100%;text-align:center}.map-stop{flex-basis:100%}.photo-frame{padding-right:.7rem;padding-bottom:.7rem}.note-stack{min-height:395px}.note-card{width:92%;padding:1.1rem}.tab-pane{padding:1.15rem}.legal-main{padding-top:6rem}.notfound{min-height:68vh}}
/* Correzioni QA: ritaglio decorazioni fuori campo e conserva i gutter Bootstrap alle piccole viewport. */
.hero,.role-map{overflow:clip}
.note-heading{font:700 1.35rem Georgia,serif;color:var(--pine);line-height:1.1;margin:0 0 .85rem}.note-heading+ul,.note-heading+p{margin-top:0}
@media(max-width:575px){
  .container{padding-right:calc(var(--bs-gutter-x, 1.5rem) * .5);padding-left:calc(var(--bs-gutter-x, 1.5rem) * .5)}
  .ribbon-inner{white-space:normal;flex-wrap:wrap;gap:.45rem 1rem;font-size:1rem}
  .ribbon-inner span{white-space:nowrap}
}
@media(max-width:575px){.row.g-5{--bs-gutter-x:1.5rem}}
@media(min-width:431px) and (max-width:575px){.container{padding-left:1rem;padding-right:1rem}.row.g-5{--bs-gutter-x:2rem}}

.gallery-wall img{display:block;width:100%;height:174px;object-fit:cover;border:1px solid var(--line);box-shadow:0 9px 20px rgba(19,57,49,.10)}
@media(max-width:575px){.gallery-wall img{height:132px}}
