/* Configuratore cucina Michael Films Interiors: stile isolato sotto .ck (generato da tools/ck_scope.py) */
.ck{
  --bg: #ffffff;
  --band: #F5F6EF;
  --card: #ffffff;
  --fg: #1F2018;
  --muted: #686B76;
  --line: #d2d2d7;
  --line-soft: #e8e8ed;
  --accent: #6B6C52;
  --accent-hover: #4F5040;
  --accent-soft: #F3F5E4;
  --ok: #1a7f45;
  --ok-soft: #e9f6ee;
  --warn: #9a5b00;
  --warn-soft: #fdf4e3;
  --font: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --r: 18px;
  --gut: clamp(16px, 4vw, 40px);
  --nav: 76px;
  color-scheme: light;
}
.ck *{box-sizing: border-box;}
.ck [hidden]{display: none !important;}
.ck{margin: 0; background: var(--bg); color: var(--fg); font-family: var(--font); font-size: 16px; line-height: 1.55; -webkit-font-smoothing: antialiased; font-variant-numeric: tabular-nums;}
.ck img{max-width: 100%;}
.ck a{color: var(--accent); text-decoration: none;}
.ck a:hover{text-decoration: underline;}
.ck h1, .ck h2, .ck h3, .ck h4{font-family: var(--font); margin: 0; text-wrap: balance; letter-spacing: -.025em; color: var(--fg);}
.ck p{margin: 0;}
.ck button, .ck input, .ck select, .ck textarea{font-family: var(--font);}
.ck :focus-visible{outline: 2px solid var(--accent); outline-offset: 2px;}
.ck .wrap{max-width: 1280px; margin: 0 auto; padding-inline: var(--gut);}
.ck .narrow{max-width: 980px; margin: 0 auto; padding-inline: var(--gut);}
.ck .eyebrow{font-size: .82rem; font-weight: 600; color: var(--muted); letter-spacing: .01em;}
.ck .btn{display: inline-flex; align-items: center; justify-content: center; gap: .4em; font: 500 1rem var(--font); padding: .78em 1.4em; border-radius: 980px; border: 0; cursor: pointer; text-decoration: none !important; transition: background .2s, transform .2s; white-space: nowrap;}
.ck .btn-primary{background: var(--accent); color: #fff;}
.ck .btn-primary:hover{background: var(--accent-hover);}
.ck .btn-primary:disabled{background: var(--line); color: var(--muted); cursor: not-allowed;}
.ck .btn-dark{background: var(--fg); color: #fff;}
.ck .btn-light{background: var(--band); color: var(--fg);}
.ck .btn-sm{font-size: .8rem; padding: .5em 1em;}
.ck .btn-block{width: 100%;}
.ck .link{font-size: 1.05rem; font-weight: 500;}
.ck .link::after{content: " ›";}
@media (max-width: 860px){.ck .top .btn{margin-left: auto;}}
.ck .hero{text-align: center; padding-block: clamp(44px, 7vw, 88px) clamp(24px, 3vw, 36px);}
.ck .hero .eyebrow{font-size: 1.05rem; color: var(--fg); font-weight: 600;}
.ck .hero h1{font-size: clamp(2.6rem, 7.4vw, 5.4rem); font-weight: 700; line-height: 1.02; margin-top: 10px;}
.ck .hero .lead{font-size: clamp(1.1rem, 2vw, 1.45rem); color: var(--muted); max-width: 40ch; margin: 18px auto 0; font-weight: 500; line-height: 1.4;}
.ck .hero .ctas{display: flex; gap: 14px 30px; justify-content: center; flex-wrap: wrap; margin-top: 26px; align-items: center;}
.ck .facts{display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 40px auto 0; max-width: 900px;}
.ck .facts div{display: flex; flex-direction: column; align-items: center;}
.ck .facts strong{font-size: clamp(1.3rem, 2.6vw, 1.8rem); font-weight: 700; letter-spacing: -.03em;}
.ck .facts span{font-size: .78rem; color: var(--muted); text-align: center;}
@media (max-width: 640px){.ck .facts{grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 20px;}}
.ck .cfg{padding-block: 10px 80px;}
.ck .cfg-grid{display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(340px, 1fr); gap: 36px; align-items: start;}
.ck .stage-wrap{position: sticky; top: calc(var(--nav) + 14px);}
.ck .stage{position: relative; height: calc(100vh - var(--nav) - 110px); min-height: 460px; max-height: 820px; border-radius: 28px; overflow: hidden; background: var(--band);}
.ck .stage canvas{display: block; width: 100%; height: 100%; position: absolute; inset: 0; touch-action: none; cursor: grab;}
.ck .stage canvas:active{cursor: grabbing;}
.ck .nogl{position: absolute; inset: 0; display: grid; place-items: center; text-align: center; padding: 24px; color: var(--muted);}
@media (max-width: 980px){.ck .cfg-grid{grid-template-columns: minmax(0, 1fr); gap: 0;}
.ck .stage-wrap{top: var(--nav); z-index: 20; margin-inline: calc(var(--gut) * -1);}
.ck .stage{height: 44vh; min-height: 300px; border-radius: 0;}}
.ck .overlay{position: absolute; left: 14px; right: 14px; display: flex; gap: 8px; pointer-events: none; flex-wrap: wrap; align-items: center;}
.ck .overlay > *{pointer-events: auto;}
.ck .overlay.top{top: 14px; justify-content: space-between;}
.ck .overlay.bottom{bottom: 14px; justify-content: space-between; align-items: flex-end;}
.ck .pill-group{display: inline-flex; background: rgba(255, 255, 255, .82); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border-radius: 980px; padding: 3px; box-shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 4px 18px rgba(0, 0, 0, .06);}
.ck .pill-group button{font: 600 .74rem var(--font); color: var(--fg); background: none; border: 0; padding: .55em 1em; border-radius: 980px; cursor: pointer; white-space: nowrap;}
.ck .pill-group button[aria-pressed="true"]{background: var(--fg); color: #fff;}
.ck .tag{font-size: .74rem; font-weight: 600; background: rgba(255, 255, 255, .86); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); padding: .5em .9em; border-radius: 980px; box-shadow: 0 1px 2px rgba(0, 0, 0, .06);}
.ck .hint{font-size: .74rem; color: var(--muted);}
@media (max-width: 560px){.ck .hint{display: none;}
.ck .pill-group button{padding: .5em .75em; font-size: .7rem;}}
.ck .split{position: absolute; top: 0; bottom: 0; width: 44px; margin-left: -22px; cursor: ew-resize; touch-action: none; z-index: 5;}
.ck .split::before{content: ""; position: absolute; left: 21px; top: 0; bottom: 0; width: 2px; background: #fff; box-shadow: 0 0 0 1px rgba(0, 0, 0, .08);}
.ck .split span{position: absolute; top: 50%; left: 50%; width: 40px; height: 40px; margin: -20px; border-radius: 50%; background: #fff; box-shadow: 0 2px 10px rgba(0, 0, 0, .18); display: grid; place-items: center; font-size: .8rem; font-weight: 700; color: var(--fg);}
.ck .split-label{position: absolute; top: 60px; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; background: rgba(29, 29, 31, .72); color: #fff; padding: .35em .8em; border-radius: 980px; pointer-events: none;}
.ck .split-label.l{left: 14px;}
.ck .split-label.r{right: 14px;}
.ck .prima-pick{display: flex; gap: 6px; flex-wrap: wrap; align-items: center; background: rgba(255, 255, 255, .88); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border-radius: 16px; padding: 8px 10px; box-shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 4px 18px rgba(0, 0, 0, .06); max-width: 100%;}
.ck .prima-pick b{font-size: .72rem; margin-right: 4px;}
.ck .prima-pick button{width: 26px; height: 26px; border-radius: 50%; border: 2px solid #fff; box-shadow: 0 0 0 1px var(--line); cursor: pointer; background-size: cover;}
.ck .prima-pick button[aria-pressed="true"]{box-shadow: 0 0 0 2px var(--accent);}
.ck .opts{display: flex; flex-direction: column; min-width: 0;}
@media (max-width: 980px){.ck .opts{padding-top: 22px;}}
.ck .opts-head h2{font-size: clamp(1.9rem, 3vw, 2.5rem); font-weight: 700; line-height: 1.08;}
.ck .opts-head p{color: var(--muted); margin-top: 8px; font-size: .95rem;}
.ck .step{padding-block: 30px; border-top: 1px solid var(--line-soft); display: flex; flex-direction: column; gap: 14px;}
.ck .opts-head + .step{border-top: 0;}
.ck .step h3{font-size: 1.32rem; font-weight: 600; line-height: 1.25;}
.ck .step h3 b{font-weight: 700;}
.ck .step h3 span{color: var(--muted); font-weight: 600;}
.ck .choices{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px;}
.ck .choices.three{grid-template-columns: repeat(3, minmax(0, 1fr));}
.ck .choice{background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: 14px; cursor: pointer; text-align: left; color: var(--fg); display: flex; flex-direction: column; gap: 10px; transition: border-color .15s, box-shadow .15s; min-width: 0;}
.ck .choice:hover{border-color: #86868b;}
.ck .choice[aria-pressed="true"]{border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent);}
.ck .choice:disabled{opacity: .4; cursor: not-allowed;}
.ck .choice svg{width: 100%; height: 54px;}
.ck .choice b{font-size: .95rem; font-weight: 600; display: block;}
.ck .choice small{color: var(--muted); font-size: .76rem; line-height: 1.35; display: block;}
.ck .choice .ico{stroke: var(--fg); fill: none; stroke-width: 1.6;}
.ck .choice .ico .f{fill: var(--line-soft);}
.ck .choice[aria-pressed="true"] .ico .f{fill: var(--accent-soft);}
.ck .choice[aria-pressed="true"] .ico{stroke: var(--accent);}
.ck .plan .wall{fill: #c7c7cc;}
.ck .plan .cab{fill: #1F2018;}
.ck .plan .tall{fill: #86868b;}
.ck .plan .isl{fill: #6e6e73;}
.ck .choice[aria-pressed="true"] .plan .cab{fill: var(--accent);}
@media (max-width: 420px){.ck .choices.three{grid-template-columns: minmax(0, 1fr);}
.ck .choices.three .choice{flex-direction: row; align-items: center;}
.ck .choices.three .choice svg{width: 64px; flex: none;}}
.ck .chips{display: flex; flex-wrap: wrap; gap: 8px;}
.ck .chip{font: 500 .88rem var(--font); background: var(--card); color: var(--fg); border: 1px solid var(--line); border-radius: 980px; padding: .55em 1.1em; cursor: pointer;}
.ck .chip:hover{border-color: #86868b;}
.ck .chip[aria-pressed="true"]{border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); color: var(--accent); font-weight: 600;}
.ck .chip:disabled{opacity: .4; cursor: not-allowed;}
.ck .measure{display: flex; align-items: center; gap: 12px; background: var(--band); border-radius: 14px; padding: 12px 14px;}
.ck .measure input[type=range]{flex: 1; accent-color: var(--accent); min-width: 0;}
.ck .measure output{font-weight: 700; font-size: 1.05rem; min-width: 72px; text-align: right;}
.ck .measure .lbl{font-size: .78rem; color: var(--muted); font-weight: 600; min-width: 74px;}
.ck .toggles{display: grid; gap: 8px;}
.ck .tog{display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; font-size: .92rem; font-weight: 500; cursor: pointer;}
.ck .tog small{display: block; color: var(--muted); font-size: .76rem; font-weight: 500;}
.ck .tog input{appearance: none; width: 46px; height: 28px; border-radius: 980px; background: #e9e9ea; position: relative; cursor: pointer; flex: none; transition: background .2s; margin: 0;}
.ck .tog input::after{content: ""; position: absolute; top: 2px; left: 2px; width: 24px; height: 24px; border-radius: 50%; background: #fff; box-shadow: 0 2px 4px rgba(0, 0, 0, .2); transition: transform .2s;}
.ck .tog input:checked{background: #34c759;}
.ck .tog input:checked::after{transform: translateX(18px);}
.ck .note{font-size: .82rem; color: var(--muted); line-height: 1.45;}
.ck .notice{border-radius: 14px; padding: 14px 16px; font-size: .86rem; line-height: 1.45; display: flex; gap: 10px;}
.ck .notice b{display: block; margin-bottom: 2px;}
.ck .notice.warn{background: var(--warn-soft); color: #5c3a00;}
.ck .notice.ok{background: var(--ok-soft); color: #0f4d2a;}
.ck .notice.info{background: var(--accent-soft); color: #00396f;}
.ck .notice .ic{flex: none; width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; font-size: .72rem; font-weight: 800; color: #fff; margin-top: 1px;}
.ck .notice.warn .ic{background: #c27c0e;}
.ck .notice.ok .ic{background: var(--ok);}
.ck .notice.info .ic{background: var(--accent);}
.ck .zones{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px;}
.ck .zone{display: flex; gap: 10px; align-items: center; background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: 8px; cursor: pointer; text-align: left; color: var(--fg); min-width: 0;}
.ck .zone img{width: 36px; height: 36px; border-radius: 9px; flex: none; object-fit: cover;}
.ck .zone span{display: block; min-width: 0;}
.ck .zone b{display: block; font-size: .8rem; font-weight: 600;}
.ck .zone em{display: block; font-style: normal; font-size: .72rem; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.ck .zone[aria-pressed="true"]{border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent);}
.ck .presets{display: flex; gap: 8px; overflow-x: auto; padding: 2px 2px 6px; scrollbar-width: none;}
.ck .preset{flex: none; display: flex; gap: 8px; align-items: center; background: var(--band); border: 0; border-radius: 980px; padding: 6px 14px 6px 6px; color: var(--fg); font: 600 .78rem var(--font); cursor: pointer;}
.ck .preset:hover{background: var(--line-soft);}
.ck .preset .dots{display: flex;}
.ck .preset .dots i{width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--band); margin-left: -7px; background-size: cover;}
.ck .preset .dots i:first-child{margin-left: 0;}
.ck .current{display: flex; gap: 14px; align-items: center; background: var(--band); border-radius: 16px; padding: 12px;}
.ck .current img{width: 64px; height: 64px; border-radius: 12px; flex: none;}
.ck .current b{display: block; font-size: 1rem;}
.ck .current span{font-size: .78rem; color: var(--muted);}
.ck .fams{display: flex; gap: 6px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none;}
.ck .fams button{flex: none; font: 600 .76rem var(--font); background: none; border: 1px solid var(--line); color: var(--fg); border-radius: 980px; padding: .45em .9em; cursor: pointer;}
.ck .fams button[aria-pressed="true"]{background: var(--fg); color: #fff; border-color: var(--fg);}
.ck .fams button span{font-weight: 500; margin-left: 4px; opacity: .6;}
.ck .search{width: 100%; font: 500 .9rem var(--font); background: var(--band); color: var(--fg); border: 1px solid transparent; border-radius: 12px; padding: .75em 1em;}
.ck .search:focus{border-color: var(--accent); outline: none; background: #fff;}
.ck .swatches{display: grid; grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); gap: 12px 10px; max-height: 520px; overflow: auto; padding: 4px; margin: -4px;}
.ck .sw{background: none; border: 0; padding: 0; text-align: left; cursor: pointer; color: var(--fg); min-width: 0;}
.ck .sw img{width: 100%; aspect-ratio: 1; border-radius: 12px; display: block; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .06); transition: transform .2s;}
.ck .sw:hover img{transform: scale(1.04);}
.ck .sw[aria-pressed="true"] img{outline: 2px solid var(--accent); outline-offset: 2px;}
.ck .sw b{display: block; font-size: .72rem; font-weight: 600; line-height: 1.25; margin-top: 6px;}
.ck .sw small{display: block; font-size: .64rem; color: var(--muted);}
.ck .sum{background: var(--band); border-radius: 22px; padding: 22px; display: flex; flex-direction: column; gap: 14px;}
.ck .sum .price{font-size: 2.3rem; font-weight: 700; letter-spacing: -.04em; line-height: 1.05;}
.ck .sum .price small{font-size: .95rem; font-weight: 600; color: var(--muted); letter-spacing: 0;}
.ck .sum dl{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0;}
.ck .sum dt{font-size: .72rem; color: var(--muted); font-weight: 600;}
.ck .sum dd{margin: 0; font-weight: 600;}
.ck .sum ul{margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; font-size: .86rem;}
.ck .sum li::before{content: "✓"; color: var(--ok); font-weight: 800; margin-right: 8px;}
.ck .sum-rows{display: grid; gap: 0; border-top: 1px solid var(--line);}
.ck .sum-row{display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--line); font-size: .82rem;}
.ck .sum-row img{width: 30px; height: 30px; border-radius: 8px;}
.ck .sum-row b{font-weight: 600;}
.ck .sum-row span{color: var(--muted);}
.ck .buybar{position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; background: rgba(255, 255, 255, .86); backdrop-filter: saturate(1.8) blur(20px); -webkit-backdrop-filter: saturate(1.8) blur(20px); border-top: 1px solid rgba(0, 0, 0, .08); padding-bottom: env(safe-area-inset-bottom, 0px); transform: translateY(110%); transition: transform .35s cubic-bezier(.2, .8, .2, 1);}
.ck .buybar.on{transform: none;}
.ck .buybar .wrap{display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 70px; padding-block: 10px;}
.ck .buybar .what{min-width: 0;}
.ck .buybar .what span{display: block; font-size: .76rem; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.ck .buybar .what strong{font-size: 1.15rem; font-weight: 700; letter-spacing: -.02em;}
.ck .buybar .what em{font-style: normal; font-size: .78rem; color: var(--muted); margin-left: 6px;}
.ck section.band{background: var(--band);}
.ck section.block{padding-block: clamp(70px, 10vw, 130px);}
.ck .sec-title{text-align: center; max-width: 820px; margin: 0 auto 48px;}
.ck .sec-title h2{font-size: clamp(2rem, 4.6vw, 3.4rem); font-weight: 700; line-height: 1.06;}
.ck .sec-title p{color: var(--muted); font-size: clamp(1rem, 1.6vw, 1.2rem); margin-top: 14px; font-weight: 500;}
.ck .tiles{display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px;}
@media (max-width: 960px){.ck .tiles{grid-template-columns: repeat(2, minmax(0, 1fr));}}
@media (max-width: 520px){.ck .tiles{grid-template-columns: minmax(0, 1fr);}}
.ck .tile{background: var(--card); border-radius: 24px; padding: 28px 24px; display: flex; flex-direction: column; gap: 10px;}
.ck .band .tile{background: #fff;}
.ck .tile .n{font-size: 2.6rem; font-weight: 700; letter-spacing: -.05em; color: var(--accent); line-height: 1;}
.ck .tile h3{font-size: 1.18rem; font-weight: 700;}
.ck .tile p{font-size: .9rem; color: var(--muted);}
.ck .compo{display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px;}
@media (max-width: 960px){.ck .compo{grid-template-columns: repeat(2, minmax(0, 1fr));}}
@media (max-width: 520px){.ck .compo{grid-template-columns: minmax(0, 1fr);}}
.ck .compo .tile svg{width: 100%; height: auto; background: var(--band); border-radius: 14px;}
.ck .compo .chips .chip{font-size: .78rem; padding: .4em .85em;}
.ck .compare-t{width: 100%; border-collapse: collapse; font-size: .95rem;}
.ck .tbl{overflow-x: auto; background: #fff; border-radius: 24px;}
.ck .compare-t th, .ck .compare-t td{padding: 18px 22px; text-align: left; border-top: 1px solid var(--line-soft); vertical-align: top;}
.ck .compare-t thead th{border-top: 0; font-size: .8rem; color: var(--muted); font-weight: 600;}
.ck .compare-t td:nth-child(2){font-weight: 600;}
.ck .compare-t td:nth-child(3){color: var(--muted);}
.ck .compare-t th[scope=row]{font-weight: 600; white-space: nowrap;}
.ck .co-grid{display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(300px, 1fr); gap: 40px; align-items: start;}
@media (max-width: 960px){.ck .co-grid{grid-template-columns: minmax(0, 1fr);}}
.ck .co-step{border-top: 1px solid var(--line-soft); padding-block: 28px; display: flex; flex-direction: column; gap: 14px;}
.ck .co-step:first-child{border-top: 0; padding-top: 0;}
.ck .co-step h3{font-size: 1.4rem; font-weight: 700; display: flex; gap: 12px; align-items: baseline;}
.ck .co-step h3 i{font-style: normal; font-size: .85rem; color: var(--muted); font-weight: 600;}
.ck .co-step > p{color: var(--muted); font-size: .92rem;}
.ck .cap-row{display: flex; gap: 10px; flex-wrap: wrap;}
.ck .field{display: flex; flex-direction: column; gap: 6px; min-width: 0;}
.ck .field label{font-size: .78rem; font-weight: 600; color: var(--muted);}
.ck .field input, .ck .field textarea, .ck .field select{width: 100%; font: 500 1rem var(--font); background: #fff; color: var(--fg); border: 1px solid var(--line); border-radius: 12px; padding: .85em 1em;}
.ck .field input:focus, .ck .field textarea:focus, .ck .field select:focus{outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft);}
.ck .field textarea{min-height: 96px; resize: vertical;}
.ck .field.bad input{border-color: #d70015;}
.ck .fgrid{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px;}
.ck .fgrid .full{grid-column: 1 / -1;}
@media (max-width: 560px){.ck .fgrid{grid-template-columns: minmax(0, 1fr);}}
.ck .cap-row .field{flex: 1; min-width: 160px; max-width: 220px;}
.ck .drop{border: 2px dashed var(--line); border-radius: 18px; padding: 26px; text-align: center; cursor: pointer; transition: border-color .2s, background .2s; display: flex; flex-direction: column; gap: 6px; align-items: center;}
.ck .drop:hover, .ck .drop.over{border-color: var(--accent); background: var(--accent-soft);}
.ck .drop b{font-size: 1rem;}
.ck .drop span{font-size: .82rem; color: var(--muted);}
.ck .shots{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px;}
.ck .shots .need{font-size: .78rem; color: var(--muted); background: var(--band); border-radius: 12px; padding: 10px; display: flex; flex-direction: column; gap: 4px;}
.ck .shots .need b{color: var(--fg); font-size: .82rem;}
.ck .thumbs{display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: 10px;}
.ck .thumbs figure{margin: 0; position: relative;}
.ck .thumbs img{width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 12px; display: block;}
.ck .thumbs button{position: absolute; top: 4px; right: 4px; width: 26px; height: 26px; border-radius: 50%; border: 0; background: rgba(29, 29, 31, .7); color: #fff; cursor: pointer; font-size: .9rem; line-height: 1;}
.ck .weeks{display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 8px;}
.ck .week{border: 1px solid var(--line); border-radius: 14px; padding: 12px; background: #fff; cursor: pointer; text-align: left; color: var(--fg);}
.ck .week b{display: block; font-size: .9rem;}
.ck .week span{font-size: .74rem; color: var(--muted);}
.ck .week[aria-pressed="true"]{border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent);}
.ck .checks{display: grid; gap: 10px;}
.ck .check{display: flex; gap: 10px; align-items: flex-start; font-size: .85rem; color: var(--fg);}
.ck .check input{margin-top: 3px; width: 18px; height: 18px; accent-color: var(--accent); flex: none;}
.ck .order{position: sticky; top: calc(var(--nav) + 20px); background: var(--band); border-radius: 26px; padding: 24px; display: flex; flex-direction: column; gap: 16px;}
.ck .order .shot{width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 16px; background: #e8e8ed; display: block;}
.ck .order h4{font-size: 1.15rem; font-weight: 700;}
.ck .order .lines{display: grid; gap: 8px; font-size: .88rem;}
.ck .order .line{display: flex; justify-content: space-between; gap: 12px;}
.ck .order .line span:first-child{color: var(--muted);}
.ck .order .line.total{font-size: 1.05rem; font-weight: 700; border-top: 1px solid var(--line); padding-top: 10px;}
.ck .order .line.total span:first-child{color: var(--fg);}
.ck .order .line.dep{color: var(--accent); font-weight: 700;}
.ck .order .line.dep span:first-child{color: var(--accent);}
.ck .pay{display: flex; flex-direction: column; gap: 10px;}
.ck #paypal-box{min-height: 0;}
.ck .status{font-size: .88rem;}
.ck .done{text-align: center; padding: 40px 20px; display: flex; flex-direction: column; gap: 12px; align-items: center;}
.ck .done .big{width: 64px; height: 64px; border-radius: 50%; background: var(--ok); color: #fff; display: grid; place-items: center; font-size: 1.8rem;}
.ck .done h3{font-size: 1.8rem;}
@media (prefers-reduced-motion: reduce){.ck *{transition: none !important; animation: none !important; scroll-behavior: auto !important;}}
.ck .ic{width: 1.25em; height: 1.25em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; vertical-align: -.22em;}
.ck .ib{width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; background: var(--accent-soft); color: var(--accent); flex: none;}
.ck .ib .ic{width: 24px; height: 24px;}
.ck .ib.dark{background: var(--fg); color: #fff;}
.ck .ph{background: linear-gradient(135deg, #ecebe7, #dcd8d0); position: relative; overflow: hidden;}
.ck .ph img{display: block; width: 100%; height: 100%; object-fit: cover;}
.ck .facts .ic{width: 22px; height: 22px; color: var(--accent); margin-bottom: 8px;}
.ck .gallery{display: grid; grid-auto-flow: column; grid-auto-columns: minmax(280px, 34%); gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 10px; scrollbar-width: none;}
.ck .gallery::-webkit-scrollbar{display: none;}
@media (max-width: 700px){.ck .gallery{grid-auto-columns: 82%;}}
.ck .gal{scroll-snap-align: start; border-radius: 26px; aspect-ratio: 4 / 5; color: #fff;}
.ck .gal figcaption{position: absolute; left: 0; right: 0; bottom: 0; padding: 60px 22px 22px; background: linear-gradient(to top, rgba(0, 0, 0, .62), transparent);}
.ck .gal figcaption b{display: block; font-size: 1.15rem; font-weight: 700; letter-spacing: -.02em;}
.ck .gal figcaption span{font-size: .82rem; opacity: .9;}
.ck .gal-nav{display: flex; gap: 8px; justify-content: flex-end; margin-top: 14px;}
.ck .gal-nav button{width: 40px; height: 40px; border-radius: 50%; border: 0; background: var(--band); cursor: pointer; display: grid; place-items: center; color: var(--fg);}
.ck .gal-nav button:hover{background: var(--line-soft);}
.ck .note-foto{font-size: .74rem; color: var(--muted); margin-top: 10px;}
.ck .tile.photo{padding: 0; overflow: hidden;}
.ck .tile.photo .ph{aspect-ratio: 4 / 3;}
.ck .tile.photo .tb{padding: 22px 22px 26px; display: flex; flex-direction: column; gap: 8px;}
.ck .tile .head{display: flex; align-items: center; gap: 12px;}
.ck .mats{display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px;}
@media (max-width: 960px){.ck .mats{grid-template-columns: repeat(2, minmax(0, 1fr));}}
.ck .mat{border-radius: 26px; aspect-ratio: 3 / 4; color: #fff; cursor: pointer; border: 0; padding: 0; text-align: left; font-family: var(--font);}
.ck .mat .ov{position: absolute; inset: auto 0 0 0; padding: 70px 20px 20px; background: linear-gradient(to top, rgba(0, 0, 0, .6), transparent); display: flex; flex-direction: column; gap: 2px;}
.ck .mat .ov b{font-size: 1.3rem; font-weight: 700; letter-spacing: -.02em;}
.ck .mat .ov span{font-size: .8rem; opacity: .9;}
.ck .mat .ov em{font-style: normal; font-size: .8rem; font-weight: 600; margin-top: 8px; display: inline-flex; gap: 4px; align-items: center;}
.ck .mat:hover img{transform: scale(1.04);}
.ck .mat img{transition: transform .6s cubic-bezier(.2, .8, .2, 1);}
.ck .split2{display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; align-items: stretch;}
@media (max-width: 900px){.ck .split2{grid-template-columns: minmax(0, 1fr);}}
.ck .split2 > .ph{border-radius: 28px; min-height: 360px;}
.ck .glist{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px;}
@media (max-width: 520px){.ck .glist{grid-template-columns: minmax(0, 1fr);}}
.ck .glist .tile{gap: 12px;}
.ck .compare-t th[scope=row] .ic{color: var(--accent); margin-right: 8px;}
.ck .co-step h3 .ic{color: var(--accent);}
.ck .surfaces{display: flex; flex-direction: column; gap: 12px;}
.ck .sgroup{display: flex; flex-direction: column; gap: 8px; border: 1px solid var(--line); border-radius: 18px; padding: 8px;}
.ck .sgl{font-size: .8rem; font-weight: 700; padding: 6px 8px 0;}
.ck .sgroup > .chips{padding: 0 6px 4px;}
.ck .srow{border-radius: 12px;}
.ck .srow.open{background: var(--band);}
.ck .shead{width: 100%; display: grid; grid-template-columns: 52px minmax(0, 1fr) auto auto; gap: 12px; align-items: center; background: none; border: 0; padding: 8px; text-align: left; cursor: pointer; color: var(--fg); border-radius: 12px; font-family: var(--font);}
.ck .shead:hover{background: var(--band);}
.ck .shead img{width: 52px; height: 52px; border-radius: 12px; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .06);}
.ck .shead .st{min-width: 0; display: flex; flex-direction: column;}
.ck .shead b{font-size: .92rem; font-weight: 700;}
.ck .shead em{font-style: normal; font-size: .8rem; color: var(--fg); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.ck .shead small{font-size: .72rem; color: var(--muted);}
.ck .shead .sp{font-size: .74rem; color: var(--muted); white-space: nowrap;}
.ck .shead .chev{font-size: .78rem; font-weight: 600; color: var(--accent); white-space: nowrap;}
@media (max-width: 420px){.ck .shead{grid-template-columns: 44px minmax(0, 1fr) auto;}
.ck .shead img{width: 44px; height: 44px;}
.ck .shead .sp{display: none;}}
.ck .picker{padding: 4px 10px 12px; display: flex; flex-direction: column; gap: 10px;}
.ck .picker .swatches{max-height: 380px;}
.ck .tog.small{padding: 8px 12px; font-size: .84rem; border: 0; background: transparent;}
.ck .tog.small input{width: 40px; height: 24px;}
.ck .tog.small input::after{width: 20px; height: 20px;}
.ck .tog.small input:checked::after{transform: translateX(16px);}
.ck .sum-row.tot{grid-template-columns: 0 minmax(0, 1fr) auto; font-size: .86rem;}
.ck .sum-row.tot b{font-weight: 600;}
.ck h1, .ck h2, .ck h3, .ck .opts-head h2, .ck .sec-title h2{text-transform: uppercase; letter-spacing: -.01em;}
.ck .hero h1{font-size: clamp(2.2rem, 6.2vw, 4.6rem); line-height: 1.04;}
.ck .sec-title h2, .ck .why h2, .ck .opts-head h2{line-height: 1.1;}
.ck .step h3, .ck .co-step h3, .ck .tile h3, .ck .card h3, .ck .level h3, .ck .signup h3{font-size: 1.05rem; letter-spacing: .01em;}
.ck .step h3 span{text-transform: none; letter-spacing: 0;}
.ck #distinta{display: flex; flex-direction: column; gap: 12px;}
.ck .dist-intro{background: var(--accent-soft); border-radius: 14px; padding: 12px 14px; font-size: .82rem; line-height: 1.45; display: flex; flex-direction: column; gap: 3px;}
.ck .dist-intro b{font-size: .78rem; text-transform: uppercase; letter-spacing: .04em;}
.ck .dist-intro em{font-style: normal; font-weight: 700;}
.ck .dsec{border: 1px solid var(--line); border-radius: 16px; padding: 12px; display: flex; flex-direction: column; gap: 6px;}
.ck .dsec-h{display: flex; justify-content: space-between; align-items: baseline; gap: 8px;}
.ck .dsec-h b{font-size: .84rem; text-transform: uppercase; letter-spacing: .04em;}
.ck .dsec-h span{font-size: .76rem; font-weight: 700; color: var(--accent); white-space: nowrap;}
.ck .dhint{font-size: .74rem; color: var(--muted); line-height: 1.4; margin-bottom: 4px;}
.ck .drow{display: grid; grid-template-columns: minmax(0, 1.25fr) 46px auto minmax(0, 1fr) auto minmax(0, 1fr) 26px; gap: 5px; align-items: center;}
.ck .drow .dx{font-size: .78rem; color: var(--muted); font-weight: 500;}
.ck .drow.dhead span{font-size: .66rem; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .04em;}
.ck .drow select, .ck .drow input{width: 100%; min-width: 0; font: 500 .86rem var(--font); color: var(--fg); background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: .5em .55em;}
.ck .drow select{padding-right: 1.6em; appearance: none; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236e6e73' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right .55em center;}
.ck .drow input{text-align: center; -moz-appearance: textfield;}
.ck .drow input::-webkit-inner-spin-button, .ck .drow input::-webkit-outer-spin-button{-webkit-appearance: none; margin: 0;}
.ck .drow select:focus, .ck .drow input:focus{outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft);}
.ck .drow.lat select{background-color: var(--warn-soft); border-color: #ecd3a6;}
.ck .ddel{width: 28px; height: 28px; border-radius: 50%; border: 0; background: var(--band); color: var(--muted); font-size: 1rem; cursor: pointer; line-height: 1;}
.ck .ddel:hover{background: var(--line-soft); color: var(--fg);}
.ck .dadd{align-self: flex-start; background: none; border: 0; padding: 6px 0 0; font: 600 .82rem var(--font); color: var(--accent); cursor: pointer;}
.ck .btn-pdf{display: inline-flex; align-items: center; justify-content: center; gap: 8px;}
.ck .btn-pdf svg{width: 18px; height: 18px;}
.ck{
  --glow-blu: rgba(107, 108, 82, .14);
  --glow-sabbia: rgba(214, 168, 116, .22);
  --glow-salvia: rgba(122, 160, 136, .16);
  --grad-band: linear-gradient(180deg, #F5F6EF 0%, #f1f2f5 100%);
  --grad-line: linear-gradient(90deg, transparent, rgba(107, 108, 82, .35) 30%, rgba(214, 168, 116, .45) 70%, transparent);
}
.ck .hero{background:
    radial-gradient(42% 60% at 14% 6%, var(--glow-blu), transparent 72%),
    radial-gradient(40% 55% at 88% 12%, var(--glow-sabbia), transparent 72%),
    radial-gradient(36% 50% at 55% 70%, var(--glow-salvia), transparent 75%);}
.ck section.band{background:
    radial-gradient(50% 40% at 100% 0%, var(--glow-sabbia), transparent 70%),
    radial-gradient(45% 40% at 0% 100%, var(--glow-blu), transparent 70%),
    var(--grad-band);}
.ck .btn-primary{background: linear-gradient(180deg, #8A6D49 0%, #6B6C52 100%); box-shadow: 0 6px 16px -8px rgba(107, 108, 82, .7);}
.ck .btn-primary:hover{background: linear-gradient(180deg, #8B8C6C 0%, #4F5040 100%);}
.ck .btn-primary:disabled{background: var(--line); box-shadow: none;}
.ck .sum, .ck .order{background:
    radial-gradient(70% 50% at 100% 0%, rgba(107, 108, 82, .08), transparent 70%),
    radial-gradient(60% 45% at 0% 100%, rgba(214, 168, 116, .12), transparent 70%),
    var(--grad-band);}
.ck .sum .price{background: linear-gradient(100deg, #1F2018 40%, #0058b8); -webkit-background-clip: text; background-clip: text; color: transparent;}
.ck .sum .price small{-webkit-text-fill-color: var(--muted);}
.ck .dist-intro{background: linear-gradient(120deg, #F3F5E4 0%, #F1F3E2 100%);}
.ck .buybar::before{content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: var(--grad-line);}
.ck .stage{background: radial-gradient(80% 70% at 50% 35%, #fbfbfd 0%, #eceef2 100%);}
.ck .hero{padding: 0; background: none; text-align: left;}
.ck .hero .facts{margin-top: clamp(28px, 4vw, 44px);}
.ck .hero-slider{position: relative; height: min(calc(100svh - var(--nav)), 900px); min-height: 580px; overflow: hidden; isolation: isolate; background: linear-gradient(135deg, #3a3f48, #8c8478); touch-action: pan-y;}
.ck .hs-track{position: absolute; inset: 0;}
.ck .hs-slide{position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity 1.2s cubic-bezier(.4, 0, .2, 1); background: transparent;}
.ck .hs-slide.is-on{opacity: 1; z-index: 1;}
.ck .hs-slide img{transform: scale(1.08); transition: transform 8s cubic-bezier(.2, .6, .3, 1); will-change: transform;}
.ck .hs-slide.is-on img{transform: scale(1);}
.ck .hs-slide::after{content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(90deg, rgba(8, 10, 16, .66) 0%, rgba(8, 10, 16, .34) 42%, rgba(8, 10, 16, 0) 72%), linear-gradient(0deg, rgba(8, 10, 16, .5) 0%, rgba(8, 10, 16, 0) 38%), linear-gradient(180deg, rgba(8, 10, 16, .25) 0%, rgba(8, 10, 16, 0) 22%);}
.ck .hero-in{position: absolute; inset: 0; z-index: 2; display: flex; align-items: center; pointer-events: none; color: #fff;}
.ck .hero-in .wrap{width: 100%;}
.ck .hero-in .wrap > *{pointer-events: auto;}
.ck .hero-in .eyebrow{color: rgba(255, 255, 255, .86); font-size: 1rem; font-weight: 600;}
.ck .hero .hero-in h1{background: none; -webkit-text-fill-color: #fff; color: #fff; text-align: left; max-width: none; font-size: clamp(2.6rem, 5.2vw, 5rem); line-height: 1.02; margin-top: 12px; text-shadow: 0 2px 30px rgba(0, 0, 0, .22);}
.ck .hero-in .lead{color: rgba(255, 255, 255, .9); margin: 20px 0 0; max-width: 34ch; text-align: left;}
.ck .hero-in .ctas{justify-content: flex-start; margin-top: 30px;}
.ck .btn-glass{background: rgba(255, 255, 255, .16); color: #fff !important; border: 1px solid rgba(255, 255, 255, .38); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);}
.ck .btn-glass:hover{background: rgba(255, 255, 255, .26);}
.ck .hs-cap{position: absolute; right: clamp(18px, 4vw, 56px); bottom: 92px; z-index: 3; width: min(340px, calc(100% - 36px)); color: #fff; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 16px 18px; border-radius: 22px; background: rgba(14, 17, 24, .34); border: 1px solid rgba(255, 255, 255, .16); backdrop-filter: blur(18px) saturate(1.3); -webkit-backdrop-filter: blur(18px) saturate(1.3);}
.ck .hs-cap > *{opacity: 0; transform: translateY(10px); transition: opacity .7s ease, transform .7s cubic-bezier(.2, .8, .2, 1);}
.ck .hs-slide.is-on .hs-cap > *{opacity: 1; transform: none;}
.ck .hs-slide.is-on .hs-cap > :nth-child(2){transition-delay: .1s;}
.ck .hs-slide.is-on .hs-cap > :nth-child(3){transition-delay: .18s;}
.ck .hs-slide.is-on .hs-cap > :nth-child(4){transition-delay: .26s;}
.ck .hs-eye{font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: rgba(255, 255, 255, .78);}
.ck .hs-cap b{font-size: 1.2rem; font-weight: 700; letter-spacing: -.01em; text-transform: uppercase;}
.ck .hs-txt{font-size: .86rem; font-weight: 500; color: rgba(255, 255, 255, .88); line-height: 1.4;}
.ck .hs-try{margin-top: 8px; display: inline-flex; align-items: center; gap: 4px; font: 600 .84rem var(--font); color: var(--fg); background: rgba(255, 255, 255, .92); border: 0; border-radius: 980px; padding: .6em 1em .6em 1.15em; cursor: pointer; transition: background .2s, transform .2s;}
.ck .hs-try:hover{background: #fff; transform: translateY(-1px);}
.ck .hs-try .ic{width: 16px; height: 16px;}
.ck .hs-nav{position: absolute; top: 50%; z-index: 3; width: 48px; height: 48px; margin-top: -24px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .3); background: rgba(255, 255, 255, .16); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); color: #fff; display: grid; place-items: center; cursor: pointer; opacity: 0; transition: opacity .25s, background .2s;}
.ck .hs-nav .ic{width: 22px; height: 22px;}
.ck .hs-prev{left: 14px;}
.ck .hs-prev .ic{transform: rotate(180deg);}
.ck .hs-next{right: 14px;}
.ck .hero-slider:hover .hs-nav, .ck .hs-nav:focus-visible{opacity: 1;}
.ck .hs-nav:hover{background: rgba(255, 255, 255, .3);}
.ck .hs-bar{position: absolute; z-index: 3; left: 50%; bottom: 26px; transform: translateX(-50%); display: flex; align-items: center; gap: 8px; padding: 8px 10px 8px 14px; border-radius: 980px; background: rgba(14, 17, 24, .32); backdrop-filter: blur(16px) saturate(1.4); -webkit-backdrop-filter: blur(16px) saturate(1.4);}
.ck .hs-dots{display: flex; gap: 6px;}
.ck .hs-dot{position: relative; width: 8px; height: 8px; padding: 0; border: 0; border-radius: 980px; background: rgba(255, 255, 255, .45); cursor: pointer; overflow: hidden; transition: width .4s cubic-bezier(.2, .8, .2, 1), background .3s;}
.ck .hs-dot[aria-current="true"]{width: 34px; background: rgba(255, 255, 255, .35);}
.ck .hs-dot i{position: absolute; inset: 0; width: 0; background: #fff; border-radius: inherit;}
.ck .hs-dot[aria-current="true"] i{animation: ck-hs-fill var(--hs-durata, 6s) linear forwards;}
.ck .hero-slider.paused .hs-dot[aria-current="true"] i{animation-play-state: paused;}
.ck .hero-slider.stopped .hs-dot[aria-current="true"] i{animation: none; width: 100%;}
@keyframes ck-hs-fill{ to { width: 100%; } }
.ck .hs-pause{width: 26px; height: 26px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .18); color: #fff; display: grid; place-items: center; cursor: pointer;}
.ck .hs-pause svg{width: 12px; height: 12px; fill: currentColor;}
.ck .hs-pause .i-pl, .ck .hero-slider.stopped .hs-pause .i-pa{display: none;}
.ck .hero-slider.stopped .hs-pause .i-pl{display: inline;}
@media (max-width: 760px){.ck .hero-slider{height: min(calc(100svh - var(--nav)), 760px); min-height: 600px;}
.ck .hero-in{align-items: flex-start; padding-top: clamp(36px, 9vh, 72px);}
.ck .hs-slide::after{background: linear-gradient(180deg, rgba(8, 10, 16, .62) 0%, rgba(8, 10, 16, .25) 45%, rgba(8, 10, 16, .55) 100%);}
.ck .hero .hero-in h1{font-size: clamp(1.9rem, 9vw, 3rem);}
.ck .hero-in .lead{font-size: 1.02rem;}
.ck .hero-in .ctas{gap: 10px;}
.ck .hero-in .ctas .btn{padding-inline: 1.1em;}
.ck .hs-cap{left: 16px; right: 16px; width: auto; bottom: 74px; padding: 12px 14px; flex-direction: row; flex-wrap: wrap; align-items: center; column-gap: 10px;}
.ck .hs-cap b{font-size: 1rem; flex: 1 1 auto;}
.ck .hs-eye{width: 100%;}
.ck .hs-txt{display: none;}
.ck .hs-try{margin-top: 0;}
.ck .hs-nav{display: none;}
.ck .hs-bar{bottom: 20px;}}
@media (prefers-reduced-motion: reduce){.ck .hs-slide, .ck .hs-slide img, .ck .hs-cap > *{transition: none !important;}
.ck .hs-slide img{transform: none !important;}}
.ck .wiz{list-style: none; margin: 18px 0 4px; padding: 4px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; background: var(--band); border-radius: 16px; position: sticky; top: calc(var(--nav) + 8px); z-index: 5; box-shadow: 0 8px 20px -16px rgba(0, 0, 0, .4);}
@media (max-width: 980px){.ck .wiz{position: static;}}
.ck .wiz button{width: 100%; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 9px 4px; border: 0; border-radius: 12px; background: none; font: 600 .74rem var(--font); color: var(--muted); cursor: pointer; transition: background .2s, color .2s;}
.ck .wiz button i{font-style: normal; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font-size: .76rem; background: #fff; color: var(--muted); box-shadow: inset 0 0 0 1px var(--line);}
.ck .wiz button.done i{background: var(--ok-soft); color: var(--ok); box-shadow: none;}
.ck .wiz button[aria-current="step"]{background: #fff; color: var(--fg); box-shadow: 0 2px 8px -4px rgba(0, 0, 0, .25);}
.ck .wiz button[aria-current="step"] i{background: var(--accent); color: #fff; box-shadow: none;}
.ck .pane{display: flex; flex-direction: column;}
.ck .pane > .step:first-child{border-top: 0;}
.ck .pane-nav{display: flex; justify-content: space-between; gap: 10px; padding: 18px 0 8px; border-top: 1px solid var(--line-soft);}
.ck .pane-nav .btn-primary{flex: 1 1 auto; max-width: 280px; margin-left: auto;}
.ck .pane-nav .ic{width: 18px; height: 18px;}
.ck .cfg{padding-top: 24px;}
.ck .kicker{font-size: .8rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--accent); margin-bottom: 12px;}
.ck .sec-cta{margin-top: 14px;}
.ck .ctas.center{justify-content: center; display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px;}
.ck .pillars{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px;}
.ck .pillar{position: relative; border-radius: 28px; padding: 32px 28px 30px; display: flex; flex-direction: column; gap: 10px; overflow: hidden; border: 1px solid var(--line-soft);
  background: radial-gradient(90% 70% at 100% 0%, var(--pg, rgba(107, 108, 82, .10)), transparent 70%), linear-gradient(180deg, #fff, #f7f7f9);}
.ck .pillar.p-materia{--pg: rgba(214, 168, 116, .26);}
.ck .pillar.p-metodo{--pg: rgba(107, 108, 82, .16);}
.ck .pillar.p-mani{--pg: rgba(122, 160, 136, .24);}
.ck .pillar .pk{font-size: .76rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin-top: 8px;}
.ck .pillar h3{font-size: 1.35rem; font-weight: 700; line-height: 1.15;}
.ck .pillar p:last-child{color: var(--muted); font-size: .95rem;}
.ck .forme-alt{text-align: center; margin-top: 28px; font-weight: 500; color: var(--muted);}
.ck .forme-alt a{font-weight: 600; display: inline-flex; align-items: center; gap: 4px;}
.ck .forme-alt .ic{width: 16px; height: 16px;}
.ck a.chip{display: inline-block; text-decoration: none !important;}
.ck a.chip:hover{border-color: var(--accent); color: var(--accent);}
.ck a.mat{display: block; position: relative; text-decoration: none !important;}
.ck .dark-band{color: #fff; background:
  radial-gradient(50% 80% at 0% 0%, rgba(107, 108, 82, .35), transparent 70%),
  radial-gradient(45% 80% at 100% 100%, rgba(214, 168, 116, .30), transparent 70%),
  linear-gradient(160deg, #15171c 0%, #23262d 100%);}
.ck .dark-band h2{font-size: clamp(2rem, 4.2vw, 3.2rem); font-weight: 700; line-height: 1.06;}
.ck .dark-band p{color: rgba(255, 255, 255, .78); font-size: 1.08rem; margin-top: 16px; max-width: 46ch;}
.ck .dark-band .kicker{color: #8fc2ff;}
.ck .dark-band .ctas{display: flex; margin-top: 30px;}
.ck .pd-grid{display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(30px, 6vw, 80px); align-items: center;}
.ck .pd-steps{list-style: none; margin: 0; padding: 0; display: grid; gap: 12px;}
.ck .pd-steps li{display: flex; gap: 16px; align-items: flex-start; padding: 20px 22px; border-radius: 22px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .1); backdrop-filter: blur(8px);}
.ck .pd-steps span{flex: none; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; background: #fff; color: var(--fg);}
.ck .pd-steps b{display: block; font-size: 1.02rem; margin-bottom: 2px;}
.ck .pd-steps div{color: rgba(255, 255, 255, .72); font-size: .92rem;}
.ck .price-grid{display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: stretch;}
.ck .pcard{border-radius: 26px; padding: 30px 26px; background: var(--grad-band); display: flex; flex-direction: column; gap: 10px;}
.ck .pcard h3{font-size: 1.2rem; font-weight: 700;}
.ck .pcard p{color: var(--muted); font-size: .94rem;}
.ck .pcard .big{color: var(--fg); font-size: 1.6rem; letter-spacing: -.02em;}
.ck .band .pcard{background: #fff;}
.ck .band .pcard.alt{background: linear-gradient(150deg, #fff 0%, #F1F3E2 100%); border: 1px solid #ece3d6;}
.ck .pcard .link{margin-top: auto; font-size: .95rem; font-weight: 600; display: inline-flex; align-items: center; gap: 4px;}
.ck .pcard .link::after, .ck .forme-alt a::after, .ck .sec-cta .link::after{content: none;}
.ck .pcard .link .ic, .ck .sec-cta .ic{width: 16px; height: 16px;}
.ck .sec-cta .link{display: inline-flex; align-items: center; gap: 4px; font-weight: 600;}
.ck .pplus{align-self: center; font-size: 2rem; font-weight: 300; color: var(--muted);}
.ck .rete-card{display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: clamp(28px, 5vw, 56px); border-radius: 32px; color: #fff;
  background: radial-gradient(60% 120% at 100% 0%, rgba(122, 160, 136, .45), transparent 70%), radial-gradient(60% 120% at 0% 100%, rgba(107, 108, 82, .35), transparent 70%), linear-gradient(140deg, #1d2128, #2b2f36);}
.ck .rete-card h2{font-size: clamp(1.6rem, 3.2vw, 2.4rem); font-weight: 700; line-height: 1.1; max-width: 22ch;}
.ck .rete-card p{color: rgba(255, 255, 255, .78); margin-top: 12px; max-width: 56ch;}
.ck .rete-card .kicker{color: #b9e0c6;}
.ck .rete-card .btn{flex: none;}
.ck .rete-card .btn .ic{width: 18px; height: 18px;}
.ck .final-cta{text-align: center; padding-block: clamp(80px, 12vw, 150px); background:
  radial-gradient(40% 70% at 20% 30%, var(--glow-blu), transparent 70%),
  radial-gradient(40% 70% at 80% 40%, var(--glow-sabbia), transparent 70%),
  radial-gradient(40% 60% at 50% 100%, var(--glow-salvia), transparent 70%);}
.ck .final-cta h2{font-size: clamp(2.2rem, 5.6vw, 4.4rem); font-weight: 700; line-height: 1.04; max-width: 16ch; margin: 0 auto;}
.ck .final-cta p{color: var(--muted); font-size: 1.15rem; margin-top: 16px;}
.ck .btn-glass.dark{color: var(--fg) !important; background: rgba(255, 255, 255, .7); border-color: var(--line);}
.ck .btn-glass.dark:hover{background: #fff;}
.ck #garanzie{padding-top: 0;}
@media (max-width: 960px){.ck .pillars{grid-template-columns: minmax(0, 1fr);}
.ck .pd-grid{grid-template-columns: minmax(0, 1fr);}
.ck .price-grid{grid-template-columns: minmax(0, 1fr);}
.ck .pplus{justify-self: center; line-height: 1; margin: -6px 0;}
.ck .rete-card{flex-direction: column; align-items: flex-start;}}
.ck .dark-band h2, .ck .rete-card h2, .ck .hero-in h1{color: #fff;}
.ck ol.dist-intro{list-style: none; margin: 0; padding: 14px; display: grid; gap: 8px; border-radius: 16px; background: linear-gradient(120deg, #F3F5E4 0%, #F1F3E2 100%);}
.ck ol.dist-intro li{display: flex; gap: 10px; align-items: center; font-size: .86rem; line-height: 1.35;}
.ck ol.dist-intro i{flex: none; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font: 700 .72rem var(--font); background: var(--accent); color: #fff;}
.ck .dist-unit{font-size: .76rem; color: var(--muted); margin: -2px 0 2px;}
.ck .dsec{transition: border-color .25s, box-shadow .25s;}
.ck .dsec.ok{border-color: #b9dcc6; box-shadow: 0 0 0 3px rgba(26, 127, 69, .06);}
.ck .dok{display: inline-grid; place-items: center; width: 18px; height: 18px; margin-right: 8px; border-radius: 50%; font-style: normal; font-size: .62rem; background: var(--line-soft); color: transparent; vertical-align: 1px; transition: background .25s, color .25s;}
.ck .dsec.ok .dok{background: var(--ok); color: #fff;}
.ck .drow input::placeholder{color: #b0b0b5; font-weight: 500;}
.ck .empty-hint{position: absolute; z-index: 4; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(340px, calc(100% - 40px)); text-align: center; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 22px 20px; border-radius: 22px; background: rgba(255, 255, 255, .86); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); box-shadow: 0 20px 40px -24px rgba(0, 0, 0, .35); pointer-events: none;}
.ck .empty-hint b{font-size: 1rem; text-transform: uppercase; letter-spacing: .02em;}
.ck .empty-hint > span:last-child{font-size: .84rem; color: var(--muted); line-height: 1.4;}
.ck .build-sec{padding-top: clamp(40px, 6vw, 70px);}
.ck .build-box{position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); align-items: center; padding: clamp(28px, 5vw, 60px); border-radius: 34px; color: #fff;
  background: radial-gradient(60% 90% at 100% 100%, rgba(226, 178, 122, .85), transparent 65%), radial-gradient(55% 80% at 0% 0%, rgba(107, 108, 82, .9), transparent 70%), linear-gradient(125deg, #0a4fc2 0%, #2a66d9 45%, #6f86c9 75%, #c79a6c 100%);
  box-shadow: 0 40px 80px -40px rgba(10, 60, 160, .55);}
.ck .build-box::after{content: ""; position: absolute; inset: 0; background: radial-gradient(40% 50% at 60% 0%, rgba(255, 255, 255, .18), transparent 70%); pointer-events: none;}
.ck .build-txt{position: relative; z-index: 1;}
.ck .build-box .kicker{color: #cfe4ff;}
.ck .build-box h2{color: #fff; font-size: clamp(2rem, 4.2vw, 3.4rem); font-weight: 700; line-height: 1.04;}
.ck .build-box p{color: rgba(255, 255, 255, .88); font-size: 1.06rem; margin-top: 16px; max-width: 48ch;}
.ck .build-pts{list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 10px;}
.ck .build-pts li{display: flex; align-items: center; gap: 10px; font-weight: 600; font-size: .95rem;}
.ck .build-pts .ic{width: 20px; height: 20px; flex: none; padding: 6px; box-sizing: content-box; border-radius: 10px; background: rgba(255, 255, 255, .16);}
.ck .build-box .ctas{display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px;}
.ck .btn-white{background: #fff; color: var(--fg) !important; box-shadow: 0 10px 24px -12px rgba(0, 0, 0, .45);}
.ck .btn-white:hover{background: #F5F6EF; transform: translateY(-1px);}
.ck .btn-white .ic{width: 18px; height: 18px;}
.ck .build-art{position: relative; z-index: 1; border-radius: 26px; padding: 18px; background: rgba(255, 255, 255, .9); box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .45);}
.ck .kb{display: block; width: 100%; height: auto;}
.ck .kb-floor{stroke: #d2d2d7; stroke-width: 2;}
.ck .kb-d{fill: #fff; stroke: #c7c7cc; stroke-width: 1.5;}
.ck .kb line{stroke: #8e8e93; stroke-width: 2; stroke-linecap: round;}
.ck .kb-top{fill: #e5e2dc; stroke: #c7c7cc; stroke-width: 1.2;}
.ck .kb-m, .ck .kb-p, .ck .kb-top, .ck .kb-dim, .ck .kb-tag{transform-box: fill-box; transform-origin: 50% 100%; animation-duration: 10s; animation-iteration-count: infinite; animation-timing-function: cubic-bezier(.2, .8, .2, 1);}
.ck .kb-m{animation-name: ck-kb-in; animation-delay: calc(var(--i) * .32s);}
.ck .kb-top{animation-name: ck-kb-top; animation-delay: 1.7s; transform-origin: 0 50%;}
.ck .kb-p{animation-name: ck-kb-drop; animation-delay: calc(2.2s + var(--i) * .25s); transform-origin: 50% 0;}
.ck .kb-dim{animation-name: ck-kb-fade; animation-delay: 2.1s;}
.ck .kb-dim line{stroke: var(--accent); stroke-width: 1.5;}
.ck .kb-dim rect, .ck .kb-tag rect{fill: var(--accent);}
.ck .kb text{fill: #fff; font: 700 11px var(--font); text-anchor: middle;}
.ck .kb-tag{animation-name: ck-kb-tag; animation-delay: .2s;}
.ck .kb-m .kb-d{animation: ck-kb-fin 10s infinite; animation-delay: calc(var(--i) * .32s);}
.ck .kb-p .kb-d{animation: ck-kb-fin2 10s infinite; animation-delay: calc(2.2s + var(--i) * .25s);}
@keyframes ck-kb-in{ 0% { opacity: 0; transform: translateY(14px) scaleY(.6); } 6%, 90% { opacity: 1; transform: none; } 96%, 100% { opacity: 0; transform: none; } }
@keyframes ck-kb-top{ 0% { opacity: 0; transform: scaleX(0); } 7%, 88% { opacity: 1; transform: none; } 94%, 100% { opacity: 0; } }
@keyframes ck-kb-drop{ 0% { opacity: 0; transform: translateY(-14px); } 6%, 86% { opacity: 1; transform: none; } 92%, 100% { opacity: 0; } }
@keyframes ck-kb-fade{ 0%, 2% { opacity: 0; } 8%, 40% { opacity: 1; } 46%, 100% { opacity: 0; } }
@keyframes ck-kb-tag{ 0%, 3% { opacity: 0; transform: scale(.7); } 8%, 22% { opacity: 1; transform: none; } 27%, 100% { opacity: 0; } }
@keyframes ck-kb-fin{ 0%, 42% { fill: #fff; } 50%, 66% { fill: #c79d70; } 72%, 100% { fill: #9fb4a5; } }
@keyframes ck-kb-fin2{ 0%, 40% { fill: #fff; } 48%, 64% { fill: #ece7df; } 70%, 100% { fill: #f4f1ec; } }
@media (max-width: 900px){.ck .build-box{grid-template-columns: minmax(0, 1fr);}}
@media (prefers-reduced-motion: reduce){.ck .kb *{animation: none !important; opacity: 1 !important; transform: none !important;}
.ck .kb-tag{display: none;}}
.ck .fcards-wrap{--pad: max(var(--gut), calc((100vw - 1280px) / 2 + var(--gut)));}
.ck .fcards{display: grid; grid-auto-flow: column; grid-auto-columns: clamp(270px, 26vw, 340px); gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--pad); padding: 6px var(--pad) 30px; scrollbar-width: none; outline: none;}
.ck .fcards::-webkit-scrollbar{display: none;}
.ck .fcard{position: relative; scroll-snap-align: start; display: flex; flex-direction: column; min-height: 520px; border-radius: 30px; overflow: hidden; background: #fff; box-shadow: 0 2px 4px rgba(0, 0, 0, .03), 0 18px 40px -26px rgba(0, 0, 0, .35); transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s;}
.ck .fcard:hover{transform: translateY(-4px) scale(1.01); box-shadow: 0 2px 4px rgba(0, 0, 0, .03), 0 30px 60px -30px rgba(0, 0, 0, .45);}
.ck .fcard-link{position: absolute; inset: 0; z-index: 1;}
.ck .fc-top{padding: 28px 26px 18px; display: flex; flex-direction: column; gap: 6px;}
.ck .fc-eye{font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted);}
.ck .fcard h3{font-size: 1.75rem; font-weight: 700; line-height: 1.05; letter-spacing: -.02em;}
.ck .fc-txt{font-size: .95rem; color: var(--muted); line-height: 1.4;}
.ck .fc-lens{position: relative; z-index: 2; display: flex; gap: 6px; flex-wrap: wrap; margin-top: 10px;}
.ck .fc-lens a{font: 600 .8rem var(--font); color: var(--fg); background: var(--band); border-radius: 980px; padding: .45em .95em; text-decoration: none !important; transition: background .2s, color .2s;}
.ck .fc-lens a:hover{background: var(--fg); color: #fff;}
.ck .fc-img{position: relative; flex: 1 1 auto; min-height: 250px; margin-top: auto;}
.ck .fc-img img{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2, .8, .2, 1);}
.ck .fcard:hover .fc-img img{transform: scale(1.05);}
.ck .fc-img .plan{position: absolute; z-index: 1; right: 14px; bottom: 14px; width: 92px; height: auto; padding: 8px; border-radius: 14px; background: rgba(255, 255, 255, .86); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); box-shadow: 0 6px 16px -8px rgba(0, 0, 0, .3);}
.ck .fnav{display: flex; gap: 10px; justify-content: flex-end; margin: 0 0 clamp(40px, 6vw, 70px);}
.ck .fnav button{width: 44px; height: 44px; border-radius: 50%; border: 0; background: #fff; box-shadow: 0 4px 12px -6px rgba(0, 0, 0, .3); cursor: pointer; display: grid; place-items: center; color: var(--fg);}
.ck .fnav button:hover{background: var(--fg); color: #fff;}
.ck .fnav .ic{width: 20px; height: 20px;}
.ck .bp-box{display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(24px, 4vw, 56px); align-items: center; padding: clamp(28px, 5vw, 56px); border-radius: 34px; color: #fff; overflow: hidden;
  background: radial-gradient(60% 80% at 100% 0%, rgba(107, 108, 82, .35), transparent 70%), linear-gradient(150deg, #3D2F1F 0%, #10305f 55%, #173a6e 100%); box-shadow: 0 40px 80px -40px rgba(6, 40, 34, .7);}
.ck .bp-box h2{color: #fff; font-size: clamp(1.9rem, 3.8vw, 3rem); font-weight: 700; line-height: 1.05;}
.ck .bp-box p{color: rgba(255, 255, 255, .82); font-size: 1.04rem; margin-top: 14px; max-width: 46ch;}
.ck .bp-box .kicker{color: #C9CBA8;}
.ck .bp-box .ctas{display: flex; margin-top: 26px;}
.ck .bp-art{border-radius: 24px; overflow: hidden; background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .12);}
.ck .bp{display: block; width: 100%; height: auto;}
.ck .bp-floor{stroke: rgba(255, 255, 255, .5); stroke-width: 1.5;}
.ck .bp-m, .ck .bp-p, .ck .bp-col, .ck .bp-top{fill: transparent; stroke: rgba(255, 255, 255, .85); stroke-width: 1.6; stroke-dasharray: 6 5; animation: ck-bp-dash 1.6s linear infinite;}
.ck .bp-dim line{stroke: #C9CBA8; stroke-width: 1.4;}
.ck .bp-tag rect{fill: #fff;}
.ck .bp-tag text{font: 700 11px var(--font); text-anchor: middle;}
.ck .bp-tag .q{fill: #3D2F1F; animation: ck-bp-q 9s infinite; animation-delay: calc(var(--i) * .5s);}
.ck .bp-tag .v{fill: #0a5bd3; opacity: 0; animation: ck-bp-v 9s infinite; animation-delay: calc(var(--i) * .5s);}
.ck .bp-tag rect{animation: ck-bp-r 9s infinite; animation-delay: calc(var(--i) * .5s);}
.ck .bp-m{animation: ck-bp-dash 1.6s linear infinite, ck-bp-fill 9s infinite; animation-delay: 0s, calc((var(--i) + 1) * .5s);}
.ck .bp-top{animation: ck-bp-dash 1.6s linear infinite, ck-ck-bp-fill-top 9s infinite;}
.ck .bp-col{animation: ck-bp-dash 1.6s linear infinite, ck-bp-fill 9s infinite; animation-delay: 0s, 2.5s;}
.ck .bp-p{animation: ck-bp-dash 1.6s linear infinite, ck-ck-bp-fill-p 9s infinite; animation-delay: 0s, calc(3s + var(--i) * .3s);}
@keyframes ck-bp-dash{ to { stroke-dashoffset: -22; } }
@keyframes ck-bp-q{ 0%, 10% { opacity: 1; } 14%, 86% { opacity: 0; } 92%, 100% { opacity: 1; } }
@keyframes ck-bp-v{ 0%, 12% { opacity: 0; } 16%, 84% { opacity: 1; } 90%, 100% { opacity: 0; } }
@keyframes ck-bp-r{ 0%, 10% { fill: #fff; } 16%, 84% { fill: #F3F5E4; } 92%, 100% { fill: #fff; } }
@keyframes ck-bp-fill{ 0%, 14% { fill: rgba(255, 255, 255, 0); stroke-dasharray: 6 5; } 22%, 80% { fill: #c9a27a; stroke: #c9a27a; stroke-dasharray: none; } 90%, 100% { fill: rgba(255, 255, 255, 0); stroke: rgba(255, 255, 255, .85); } }
@keyframes ck-bp-fill-top{ 0%, 12% { fill: rgba(255, 255, 255, 0); } 20%, 82% { fill: #ece9e3; stroke: #ece9e3; stroke-dasharray: none; } 90%, 100% { fill: rgba(255, 255, 255, 0); } }
@keyframes ck-bp-fill-p{ 0%, 14% { fill: rgba(255, 255, 255, 0); } 22%, 78% { fill: #F2F3EA; stroke: #F2F3EA; stroke-dasharray: none; } 88%, 100% { fill: rgba(255, 255, 255, 0); } }
@media (max-width: 900px){.ck .bp-box{grid-template-columns: minmax(0, 1fr);}}
@media (prefers-reduced-motion: reduce){.ck .bp *{animation: none !important;}}
.ck .btn-lg{font-size: 1.05rem; padding: .9em 1.8em;}
.ck .btn-xl{font-size: 1.15rem; padding: 1em 2.1em; font-weight: 600;}
.ck .btn-xl .ic{width: 20px; height: 20px; transition: transform .25s;}
.ck .btn-xl:hover .ic{transform: translateX(3px);}
.ck .intro-in{text-align: center; padding-top: clamp(56px, 11vh, 120px);}
.ck .intro-in h1{font-size: clamp(2.8rem, 8.4vw, 7.2rem); font-weight: 800; line-height: .98; letter-spacing: -.035em; text-transform: none;
  background: linear-gradient(100deg, #1F2018 30%, #3d4d63 65%, #8a6a48 100%); -webkit-background-clip: text; background-clip: text; color: transparent;}
.ck .intro-sub{font-size: clamp(1.3rem, 2.6vw, 2rem); font-weight: 600; color: var(--muted); margin-top: 18px; letter-spacing: -.01em;}
.ck .intro-in .btn-xl{margin-top: 38px;}
.ck .intro-trust{margin-top: 18px; font-size: .86rem; color: var(--muted); font-weight: 500;}
.ck .intro-img{margin: clamp(40px, 7vh, 70px) auto 0; width: min(1280px, calc(100% - 2 * var(--gut))); height: clamp(200px, 34vh, 420px); border-radius: 32px 32px 0 0; flex: none;}
.ck .intro-img img{object-position: 50% 62%;}
.ck .intro-in > *{animation: ck-intro-up .9s cubic-bezier(.2, .8, .2, 1) both;}
.ck .intro-in > :nth-child(2){animation-delay: .12s;}
.ck .intro-in > :nth-child(3){animation-delay: .24s;}
.ck .intro-in > :nth-child(4){animation-delay: .34s;}
.ck .intro-img{animation: ck-intro-up 1.1s .3s cubic-bezier(.2, .8, .2, 1) both;}
@keyframes ck-intro-up{ from { opacity: 0; transform: translateY(24px); } }
.ck html.flow-open, .ck html.flow-open body{overflow: hidden;}
.ck .flow{position: fixed; inset: 0; z-index: 200; background: #fff; display: grid; grid-template-rows: auto 1fr; opacity: 0; transition: opacity .35s ease;}
.ck .flow.in{opacity: 1;}
.ck .flow-bar{display: flex; align-items: center; justify-content: space-between; padding: 14px clamp(14px, 3vw, 28px); position: relative; z-index: 5;}
.ck .flow-back, .ck .flow-x{width: 44px; height: 44px; border-radius: 50%; border: 0; background: var(--band); color: var(--fg); display: grid; place-items: center; cursor: pointer; font-size: 1.5rem; line-height: 1;}
.ck .flow-back .ic{width: 20px; height: 20px;}
.ck .flow-back:hover, .ck .flow-x:hover{background: var(--line-soft);}
.ck .flow-dots{display: flex; gap: 6px;}
.ck .flow-dots i{width: 28px; height: 4px; border-radius: 4px; background: var(--line-soft); transition: background .4s;}
.ck .flow-dots i.on{background: var(--fg);}
.ck .fstep{grid-row: 2; grid-column: 1; overflow-y: auto; display: flex; flex-direction: column; align-items: center; padding: clamp(10px, 4vh, 40px) clamp(16px, 4vw, 40px) 40px; text-align: center; opacity: 0; visibility: hidden; transform: translateY(26px); transition: opacity .45s ease, transform .55s cubic-bezier(.2, .8, .2, 1), visibility 0s .45s;}
.ck .fstep.on{opacity: 1; visibility: visible; transform: none; transition: opacity .45s ease .05s, transform .55s cubic-bezier(.2, .8, .2, 1) .05s, visibility 0s;}
.ck .fk{font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--accent);}
.ck .fstep h2{font-size: clamp(2rem, 5.2vw, 3.8rem); font-weight: 700; line-height: 1.04; margin-top: 10px; text-transform: none; letter-spacing: -.03em;}
.ck .fsub{color: var(--muted); font-size: 1.05rem; margin-top: 12px;}
.ck .fforme{margin-top: clamp(24px, 5vh, 48px); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; width: min(1000px, 100%);}
.ck .fforma{display: flex; flex-direction: column; gap: 12px; align-items: center; padding: 22px 14px 18px; border-radius: 24px; border: 1px solid var(--line-soft); background: var(--band); cursor: pointer; font: 600 .95rem var(--font); color: var(--fg); transition: transform .25s, background .25s, border-color .25s, box-shadow .25s;}
.ck .fforma .plan{width: 100%; height: auto; max-width: 150px;}
.ck .fforma:hover, .ck .fforma[aria-pressed="true"]{transform: translateY(-3px); background: #fff; border-color: var(--accent); box-shadow: 0 16px 34px -20px rgba(107, 108, 82, .55);}
.ck .fforma:hover .plan .cab, .ck .fforma[aria-pressed="true"] .plan .cab{fill: var(--accent);}
.ck .fmeter{margin-top: clamp(28px, 6vh, 56px); display: flex; align-items: baseline; gap: 12px;}
.ck .fmeter output{font-size: clamp(5rem, 14vw, 9rem); font-weight: 800; letter-spacing: -.05em; line-height: 1; font-variant-numeric: tabular-nums;}
.ck .fmeter span{font-size: 1.4rem; font-weight: 600; color: var(--muted);}
.ck #fRange{width: min(640px, 100%); margin-top: 26px; accent-color: var(--accent); height: 28px;}
.ck .fchips{display: flex; gap: 8px; margin: 18px 0 30px;}
.ck .fchips button{font: 600 .95rem var(--font); padding: .6em 1.2em; border-radius: 980px; border: 1px solid var(--line); background: #fff; cursor: pointer; color: var(--fg);}
.ck .fchips button[aria-pressed="true"]{background: var(--fg); color: #fff; border-color: var(--fg);}
.ck .fstili{margin-top: clamp(24px, 5vh, 44px); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; width: min(1080px, 100%);}
.ck .fstile{display: flex; flex-direction: column; text-align: left; padding: 0; border: 0; border-radius: 24px; overflow: hidden; background: var(--band); cursor: pointer; font-family: var(--font); color: var(--fg); transition: transform .3s, box-shadow .3s;}
.ck .fstile:hover, .ck .fstile[aria-pressed="true"]{transform: translateY(-4px); box-shadow: 0 24px 44px -26px rgba(0, 0, 0, .5);}
.ck .fstile[aria-pressed="true"]{outline: 2px solid var(--accent); outline-offset: 2px;}
.ck .fs-img{position: relative; display: block; aspect-ratio: 16 / 10;}
.ck .fs-img img{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2, .8, .2, 1);}
.ck .fstile:hover .fs-img img{transform: scale(1.05);}
.ck .fs-white{position: absolute; inset: 0; background: linear-gradient(145deg, #ffffff, #ecebe8);}
.ck .fs-tx{display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2px 10px; padding: 14px 16px 16px;}
.ck .fs-tx b{font-size: 1.05rem;}
.ck .fs-tx small{grid-column: 1; color: var(--muted); font-size: .82rem;}
.ck .fs-dots{grid-column: 2; grid-row: 1 / 3; display: flex;}
.ck .fs-dots i{width: 20px; height: 20px; border-radius: 50%; border: 2px solid #fff; margin-left: -6px; box-shadow: 0 0 0 1px rgba(0, 0, 0, .1);}
.ck .freveal{padding: 0; display: block; position: relative; text-align: left; overflow: hidden;}
.ck .frame-wrap{position: absolute; inset: 0; background: #e9e7e3;}
.ck .frame-wrap iframe{width: 100%; height: 100%; border: 0; display: block; opacity: 0; transform: scale(1.04); transition: opacity 1s ease .2s, transform 1.4s cubic-bezier(.2, .8, .2, 1) .2s;}
.ck .fstep.on .frame-wrap iframe{opacity: 1; transform: none;}
.ck .frame-load{position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 14px; color: var(--muted); font-weight: 600; background: #e9e7e3; transition: opacity .6s;}
.ck .frame-load span{width: 36px; height: 36px; border-radius: 50%; border: 3px solid rgba(0, 0, 0, .1); border-top-color: var(--accent); animation: ck-spin 1s linear infinite;}
.ck .frame-load.via{opacity: 0; pointer-events: none;}
@keyframes ck-spin{ to { transform: rotate(360deg); } }
.ck .fres{position: absolute; left: clamp(14px, 3vw, 36px); bottom: clamp(14px, 3vw, 36px); width: min(420px, calc(100% - 28px)); padding: 22px 24px; border-radius: 26px; background: rgba(255, 255, 255, .86); backdrop-filter: blur(20px) saturate(1.5); -webkit-backdrop-filter: blur(20px) saturate(1.5); box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .45); transform: translateY(30px); opacity: 0; transition: opacity .7s ease 1.6s, transform .8s cubic-bezier(.2, .8, .2, 1) 1.6s;}
.ck .fstep.on .fres{opacity: 1; transform: none;}
.ck .fres h2{font-size: clamp(1.8rem, 3.4vw, 2.6rem); margin-top: 6px;}
.ck .fprice{font-size: 2.2rem; font-weight: 800; letter-spacing: -.03em; margin-top: 10px;}
.ck .fprice small{font-size: .95rem; font-weight: 600; color: var(--muted); letter-spacing: 0;}
.ck .fdet{color: var(--muted); font-size: .88rem; margin-top: 2px;}
.ck .fbtns{display: flex; gap: 8px; flex-wrap: wrap; margin-top: 16px;}
.ck .fbtns .btn{flex: 1 1 auto;}
.ck .fnote{font-size: .74rem; color: var(--muted); margin-top: 12px;}
.ck .flow[data-step="4"] .flow-bar{position: absolute; left: 0; right: 0; top: 0;}
.ck .flow[data-step="4"] .flow-dots{opacity: 0;}
@media (max-width: 760px){.ck .fforme{grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px;}
.ck .fforma{padding: 16px 10px 14px; border-radius: 20px; font-size: .86rem;}
.ck .fstili{grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px;}
.ck .fs-tx{grid-template-columns: 1fr; padding: 10px 12px 12px;}
.ck .fs-dots{grid-column: 1; grid-row: auto; margin: 6px 0 0 6px;}
.ck .fs-tx small{display: none;}
.ck .frame-wrap{bottom: 46%;}
.ck .fres{left: 0; right: 0; bottom: 0; width: auto; border-radius: 26px 26px 0 0; top: 52%; overflow-y: auto; padding: 18px 18px 24px; background: #fff;}
.ck .fprice{font-size: 1.9rem;}
.ck .intro-img{height: 30vh; border-radius: 24px 24px 0 0;}}
@media (prefers-reduced-motion: reduce){.ck .fstep, .ck .fres, .ck .frame-wrap iframe, .ck .intro-in > *, .ck .intro-img{transition: none !important; animation: none !important;}}
.ck .page-head{text-align: center; padding-block: clamp(56px, 9vw, 110px) clamp(40px, 6vw, 70px);
  background: radial-gradient(40% 70% at 15% 0%, var(--glow-blu), transparent 70%), radial-gradient(40% 70% at 85% 10%, var(--glow-sabbia), transparent 70%);}
.ck .page-head h1{font-size: clamp(2.4rem, 6vw, 4.8rem); font-weight: 800; line-height: 1.02; max-width: 16ch; margin: 0 auto;}
.ck .page-head p:not(.kicker){color: var(--muted); font-size: clamp(1.05rem, 1.8vw, 1.3rem); max-width: 54ch; margin: 18px auto 0; font-weight: 500;}
.ck .days-grid{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; max-width: 900px; margin: 0 auto;}
.ck .day{background: #fff; border-radius: 26px; padding: 30px 24px; text-align: center;}
.ck .day strong{font-size: 4rem; font-weight: 800; letter-spacing: -.05em; line-height: 1; color: var(--accent);}
.ck .day span{display: block; font-weight: 700; margin-top: 4px;}
.ck .day p{color: var(--muted); font-size: .92rem; margin-top: 6px;}
.ck .days-note{text-align: center; color: var(--muted); max-width: 60ch; margin: 26px auto 0; font-size: .95rem;}
@media (max-width: 640px){.ck .days-grid{grid-template-columns: minmax(0, 1fr);}}
.ck .intro-links{display: none;}
@media (max-width: 760px){.ck .intro-links{display: flex; justify-content: center; gap: 18px; margin-top: 14px; font-size: .9rem; font-weight: 600;}
.ck .intro-img{margin-top: 36px;}}
/* --- integrazione Michael Films Interiors --- */
.ck .btn{font-weight:700;letter-spacing:.01em}
.ck h2,.ck h3{text-transform:uppercase;letter-spacing:.005em}
.ck .step h3{text-transform:none;letter-spacing:-.01em}
.ck .step h3 b{text-transform:uppercase;letter-spacing:.02em}
.ck .btn-block{white-space:normal;text-align:center;line-height:1.25}
.ck img.shot:not([src]){display:none}
.ck .ck-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:opacity .4s}
.ck .btn{border-radius:2px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;font-size:.82rem}

