:root{--paper:#f5efe5;--white:#fffdf8;--navy:#102845;--ink:#18212b;--clay:#a04f31;--muted:#6f6d68;--tab:82px;--line:#1028451a}
[hidden]{display:none!important}
.club-projects-link{margin-top:20px}.shop-notice{padding:16px;background:#eae6dd;border-radius:8px;font-size:13px;line-height:1.5;margin-top:24px}.product-grid{display:grid;gap:22px;margin:24px 0}.product-card{background:var(--white);border:1px solid var(--line);border-radius:12px;overflow:hidden}.product-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:contain;background:#efeae1}.product-copy{padding:20px}.product-copy h3{font-family:Georgia,serif;font-size:28px;font-weight:400;margin:0}.product-price{font-size:20px;margin:12px 0}.product-copy details{border-top:1px solid var(--line);margin:16px 0}.product-copy summary{padding:16px 0;font-size:14px;cursor:pointer}.product-copy details p,.product-copy dl{font-size:14px;line-height:1.6;color:var(--muted)}.product-copy dt{font-weight:600;color:var(--ink)}.product-copy dd{margin:0 0 10px}.product-copy .btn{width:100%}@media(min-width:760px){.product-grid{grid-template-columns:1fr 1fr}.product-copy h3{font-size:25px}}
.visual img{aspect-ratio:auto;height:auto;object-fit:contain;background:#fffdf8}.project-image-link{display:block}.project-image-link span{display:block;padding:10px 15px;font-size:12px;text-align:right;color:var(--navy);background:var(--white)}
@media(min-width:760px){#detailGallery{grid-template-columns:1fr}}
html{scroll-behavior:smooth}button,a{-webkit-tap-highlight-color:transparent}button{text-align:left}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #b07a4f;outline-offset:4px}button:active,.btn:active{transform:translateY(1px)}.top{height:calc(72px + env(safe-area-inset-top));padding:calc(12px + env(safe-area-inset-top)) 22px 12px;background:#f5efe5f2}.brand-home{border:0;background:none;padding:0;font-weight:650;font-size:23px;letter-spacing:.13em}.brand-home span{display:block;font-size:7px;letter-spacing:.32em;margin-top:4px}.lang,.profile{min-width:44px;min-height:44px}.profile svg{width:21px;height:21px}.hero{min-height:540px;height:calc(80svh - 72px);max-height:760px;margin:0;border-radius:0}.hero:before{background-image:linear-gradient(180deg,#0b1c2e00 20%,#0b1c2e44 48%,#0b1c2ee8 100%),url('assets/hero.webp');background-position:55% 30%}.hero-copy{text-align:left;padding:32px 24px;max-width:660px}.hero h1{font-family:Georgia,serif;font-weight:400;line-height:1.02;letter-spacing:-.055em;font-size:clamp(48px,8vw,84px);max-width:600px;margin:12px 0 18px;white-space:pre-line}.hero p{font-size:15px;max-width:350px;margin:0 0 24px;line-height:1.55}.eyebrow-inverse{font-size:9px;letter-spacing:.19em}.hero-buttons{display:flex;margin:0;max-width:400px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;border-radius:7px;font-weight:550;font-size:14px;padding:14px 20px;gap:12px}.hero .btn{width:100%}.pagehead{padding:36px 22px 18px}.pagehead h1{font-family:Georgia,serif;font-size:40px;line-height:1.06;font-weight:400;max-width:740px;margin-bottom:16px}.pagehead p{font-size:15px;max-width:580px;line-height:1.55}.eyebrow{font-size:9px;letter-spacing:.18em;margin-bottom:12px}.section{padding:12px 22px 30px}.home-content{padding-top:20px}.member-entry{display:flex;align-items:center;justify-content:space-between;width:100%;padding:20px;border:1px solid var(--line);border-radius:10px;background:#f0ebe2;color:var(--navy);gap:16px}.member-entry small{font-size:8px;letter-spacing:.15em;display:block;margin-bottom:7px}.member-entry strong{font-size:18px;font-weight:500}.member-entry>span:last-child{font-size:26px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:36px 0 20px}.section-heading h2,.consult h2,.contact-panel h2{font-family:Georgia,serif;font-size:31px;letter-spacing:-.04em;font-weight:400;margin:0}.section-heading .eyebrow{margin-bottom:8px}.text-link{padding:12px 0;border:0;background:none;font-size:12px;color:var(--navy);white-space:nowrap;min-height:44px}.home-projects{display:grid;grid-template-columns:1fr 1fr;gap:14px}.editorial-card{border:0;padding:0;background:none;color:var(--navy);min-width:0}.editorial-card img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:8px;display:block}.editorial-card span{display:block;padding:14px 0}.editorial-card small{font-size:8px;letter-spacing:.12em;color:var(--muted)}.editorial-card strong{display:block;font-size:17px;font-weight:500;margin:8px 0;line-height:1.2}.editorial-card em{font-size:11px;font-style:normal}.capsule-entry{display:block;width:100%;margin:24px 0 0;padding:24px;border:0;border-radius:10px;background:#eae6dd;color:var(--navy)}.capsule-entry strong{display:block;font-family:Georgia,serif;font-weight:400;font-size:28px;margin-bottom:24px}.capsule-entry>span:last-child{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.16em}.consult{margin-top:40px;padding:32px 0;border-top:1px solid var(--line)}.consult p,.contact-panel p{font-size:14px;color:var(--muted);line-height:1.6}.consult .btn{margin-top:10px}.grid{gap:22px}.menu-card{position:relative;display:block;border:0;border-radius:10px;box-shadow:none;background:var(--white);padding:0;text-align:left;width:100%}.menu-card .photo{width:100%;height:260px;background-position:center 35%}.menu-card .copy{padding:21px 45px 22px 20px}.menu-card h3{font-family:Georgia,serif;font-size:27px;font-weight:400;margin-bottom:8px}.menu-card p{font-size:14px;line-height:1.5;max-width:460px}.menu-card .chev{position:absolute;right:19px;bottom:28px;font-size:25px}.value-card{border-radius:8px;padding:18px}.value-card .icon{display:none}.method{gap:0}.step{background:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:20px 0}.num{border-radius:0;background:none;font-weight:500;color:var(--clay)}.project-card{min-height:350px;border:0;border-radius:10px;text-align:left}.project-card:before{background:linear-gradient(180deg,transparent 15%,#0d2033bb 72%,#0d2033ef)}.project-card h3{font-family:Georgia,serif;font-weight:400;font-size:34px}.project-card p{line-height:1.55}.project-card .copy{padding:24px}.projects-grid{gap:20px}.caps-card{min-height:480px;border-radius:10px}.caps-copy{text-align:left}.caps-copy .desc{margin:0 0 20px}.caps-copy h2{font-size:42px}.area-hero{border-radius:10px;background:linear-gradient(180deg,#0d203300,#0d2033e6 65%),url('assets/mtc.webp') center 25%/cover;padding:220px 22px 25px}.area-hero h2{font-family:Georgia,serif;font-size:36px}.area-actions a{border-radius:6px;font-size:14px}.external-note{font-size:12px!important;line-height:1.5;color:var(--muted);margin:8px 0 12px}.read-more{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:24px 0;padding:0}.read-more summary{padding:20px 0;cursor:pointer;font-size:14px;color:var(--navy);font-weight:600;min-height:52px}.read-more[open]{padding-bottom:24px}.area-benefits{margin-top:8px}.benefit,.note{border-radius:8px}.bottom{grid-template-columns:repeat(4,1fr);background:#f5efe5f5;padding-top:10px}.tab{position:relative;gap:4px;min-height:58px;font-size:11px;font-weight:550;color:#667079}.tab .ico{height:36px;width:52px;border-radius:13px;transition:background .18s ease,color .18s ease}.tab .ico svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tab.active .ico{background:#e9e5dc;color:var(--navy)}.tab.active{color:var(--navy)}.tab.active:after{content:none}.detail{padding-bottom:env(safe-area-inset-bottom);overscroll-behavior:contain}.detail-top{height:calc(64px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);background:#f5efe5f5}.detail-top .brand{font-size:12px;letter-spacing:.17em}.close{width:44px;height:44px}.detail-hero{height:38svh;min-height:260px;max-height:460px}.detail-body h2{font-family:Georgia,serif;font-weight:400;font-size:39px}.detail-body{padding:28px 22px}.detail-actions{display:grid;gap:10px;margin:24px 0}.fact{border-radius:8px}.back-btn{border-radius:7px;margin-top:8px;background:#eae6dd}.contact-image{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:10px}.contact-panel{padding:26px 0}.contact-panel .btn{width:100%;margin-top:12px}.sheet-wrap{z-index:110}.sheet{max-width:600px;margin:auto auto 0}.contact-panel{max-width:620px}
@media(min-width:760px){.hero-copy{padding:54px}.hero{margin:12px 22px;border-radius:12px;height:660px}.hero:before{background-position:center 35%}.section,.pagehead{padding-left:36px;padding-right:36px}.home-projects{gap:24px}.editorial-card img{aspect-ratio:16/10}.grid{grid-template-columns:1fr 1fr}.menu-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:center}.menu-card:last-child .photo{height:280px}.consult{display:block;max-width:620px}.area-wrap{max-width:750px;margin:auto}.detail{max-width:760px}.detail-actions{grid-template-columns:1fr 1fr}.project-card{min-height:420px}.pagehead h1{font-size:50px}.contact-image{max-height:420px}.contact-panel .btn{width:auto;margin-right:12px}.home-content{padding-top:12px}}
@media(max-width:359px){.hero h1{font-size:43px}.pagehead h1{font-size:35px}.section,.pagehead{padding-left:18px;padding-right:18px}.home-projects{gap:10px}.editorial-card strong{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.screen{animation:none}button:active,.btn:active{transform:none}}
/* Hero e tab bar allineate all'app pubblicata: testo centrato, cinque tab. */
.bottom{grid-template-columns:repeat(5,1fr)}
.hero{height:auto;min-height:min(560px,calc(100svh - 150px))}
.hero-copy{text-align:center;max-width:760px;margin:0 auto;padding:32px 22px}
.hero h1{margin-left:auto;margin-right:auto}
.hero p{margin-left:auto;margin-right:auto}
.hero-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:440px;margin:0 auto}
@media(max-width:399px){.hero-buttons{grid-template-columns:1fr}}
@media(min-width:760px){.hero-copy{padding:54px 32px}.hero{height:auto;min-height:min(660px,calc(100svh - 160px))}}

/* Scorciatoia al proprio club, evidenziata per chi arriva dal QR del club. */
.member-entry-club{background:var(--navy);border-color:var(--navy)}
.member-entry-club small{color:#cbb9a6}
.member-entry-club strong,.member-entry-club span{color:#fffdf8}
/* Collezione del club dentro l'app. */
.club-collection{display:block}
.club-lead{margin:0 0 16px;color:var(--muted);font-size:13.5px;line-height:1.5}
.club-products{display:grid;gap:14px}
.club-product{background:var(--white);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 8px 26px rgba(16,40,69,.04)}
.club-product img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;background:#efe9e0}
.club-product-copy{padding:16px}
.club-product-copy h3{margin:2px 0 6px;color:var(--navy);font-size:19px;letter-spacing:-.02em}
.club-product-price{margin:0 0 10px;color:var(--navy);font-size:17px;font-weight:750}
.club-product-meta{margin:0 0 6px;color:var(--muted);font-size:12px;line-height:1.45}
.club-product .btn{display:flex;align-items:center;justify-content:center;margin-top:12px;text-decoration:none}
@media(min-width:600px){.club-products{grid-template-columns:1fr 1fr}}
@media(min-width:960px){.club-products{grid-template-columns:repeat(4,1fr)}}
/* Carrello e scheda prodotto. */
.cart-btn{position:relative}
.cart-badge{position:absolute;top:-3px;right:-3px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--clay);color:#fff;font-size:10px;font-weight:800;display:grid;place-items:center}
.sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.sheet-head strong{color:var(--navy);font-size:18px}
.sheet-close{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--navy);font-size:20px;line-height:1;text-align:center}
.sheet-img{width:100%;max-height:230px;object-fit:contain;border-radius:14px;background:#efe9e0;margin-bottom:10px}
.sheet-price{margin:0 0 14px;color:var(--navy);font-size:20px;font-weight:750}
.sheet-label{margin:14px 0 8px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--clay);font-weight:800}
.chiprow{display:flex;flex-wrap:wrap;gap:8px}
.chip{min-height:42px;padding:0 14px;border-radius:11px;border:1px solid var(--line);background:transparent;color:var(--navy);font-size:13px;font-weight:650}
.chip.on{background:var(--navy);border-color:var(--navy);color:#fffdf8}
.sheet-add{width:100%;margin-top:18px}
.sheet-add[disabled]{opacity:.45}
.cart-empty{margin:0 0 16px;color:var(--muted)}
.cart-lines{display:grid;gap:12px}
.cart-line{display:grid;grid-template-columns:92px 1fr;gap:12px;background:var(--white);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.cart-line img{width:100%;height:100%;min-height:110px;object-fit:cover;background:#efe9e0}
.cart-line-copy{padding:13px 14px 13px 0;display:grid;gap:3px;align-content:start}
.cart-line-copy strong{color:var(--navy);font-size:15px}
.cart-line-copy span{color:var(--muted);font-size:12px}
.cart-line-price{color:var(--navy);font-weight:750;font-size:14px}
.qty{display:flex;align-items:center;gap:8px;margin-top:6px}
.qty button{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--navy);text-align:center;font-weight:700}
.qty span{min-width:20px;text-align:center;color:var(--navy);font-weight:700;font-size:13px}
.cart-remove{width:auto!important;margin-left:auto;border:0!important;background:none!important;color:var(--muted)!important;font-size:11px;text-decoration:underline}
.cart-summary{margin-top:20px;padding:18px;background:var(--white);border:1px solid var(--line);border-radius:18px}
.cart-summary .row{display:flex;justify-content:space-between;margin-bottom:9px;color:var(--muted);font-size:13.5px}
.cart-summary .row.total{margin:14px 0 16px;padding-top:13px;border-top:1px solid var(--line);color:var(--navy);font-size:17px;font-weight:800}
.cart-summary .btn{width:100%}
.app-version{margin:22px 0 0;text-align:center;color:var(--muted);font-size:10px;letter-spacing:.12em;text-transform:uppercase;opacity:.75}
/* Pagamento dentro l'app. */
.co-form{display:grid;gap:13px}
.co-form label{display:grid;gap:6px;color:var(--muted);font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:750}
.co-form input{min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink);font-size:16px;font-family:inherit}
.co-form input:focus{outline:2px solid var(--navy);outline-offset:1px}
.co-row{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.co-form .btn{width:100%;margin-top:6px}
.co-error{margin:4px 0 0;color:#a03225;font-size:13px}
#coPay{display:grid;gap:14px}
#payElement{min-height:60px}
#payBtn{width:100%}
.cart-back{width:100%;margin-top:10px}
.co-done{text-align:center;padding:28px 0}
.co-done h2{margin:0 0 10px;color:var(--navy);font-size:28px;letter-spacing:-.03em}
.co-done p{margin:0 0 20px;color:var(--muted);line-height:1.5}
/* Gli input hanno una larghezza minima propria: senza min-width:0 la
   griglia a due colonne sfora il bordo dello schermo. */
.co-form label,.co-row,.co-form{min-width:0}
.co-form input{width:100%;min-width:0;max-width:100%}
.co-row{gap:10px}
@media(max-width:379px){.co-row{grid-template-columns:1fr}}
/* La scheda prodotto eredita .sheet button{width:100%} dal foglio di base:
   le taglie finivano una per riga. Qui tornano a griglia compatta e la
   scheda scorre quando il contenuto supera l'altezza dello schermo. */
#productSheet .sheet{max-height:88svh;overflow-y:auto;-webkit-overflow-scrolling:touch}
#productSheet .chiprow{display:grid;grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:8px}
#productSheet .chiprow .chip{width:100%;min-height:46px;padding:0 8px;border:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:11px;text-align:center;display:flex;align-items:center;justify-content:center}
#productSheet .chiprow .chip.on{background:var(--navy);border-color:var(--navy);color:#fffdf8}
#productSheet .sheet-img{max-height:190px}
#productSheet .sheet-add{position:sticky;bottom:0;width:100%}
.co-form select{min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink);font-size:16px;font-family:inherit;width:100%;min-width:0;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--navy) 50%),linear-gradient(135deg,var(--navy) 50%,transparent 50%);background-position:calc(100% - 19px) 21px,calc(100% - 14px) 21px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.co-form select:focus{outline:2px solid var(--navy);outline-offset:1px}
