/* Home (functions/home-experience.php, js/home-experience.js). Colori e pulsanti del resto del sito (site-uniform.css). */
body.ac-hx-page {
 --hx-ink:#342e29; --hx-muted:#665d54; --hx-accent:#715545; --hx-line:#ded3c4; --hx-paper:#fbf8f3; --hx-card:#f2ebe1; --hx-light:#fffdf9; --hx-dark:#2f2925;
 --hx-ease:cubic-bezier(.2,.8,.2,1); --hx-gutter:max(24px, calc((100% - 1200px) / 2)); --hx-space:clamp(76px, 9vw, 132px);
}
body.ac-hx-page #Content { padding:0!important; background:var(--hx-paper); }
body.ac-hx-page #Content :is(.content_wrapper,.sections_group,.entry-content) { width:100%!important; max-width:none!important; margin:0!important; padding:0!important; float:none!important; }
.ac-hx { color:var(--hx-ink); overflow-x:clip; }
.ac-hx > section { padding:var(--hx-space) var(--hx-gutter); }
.ac-hx-eyebrow, .ac-hx-hero__eyebrow { display:block; font:600 11px/1.6 'Open Sans',Arial,sans-serif; letter-spacing:.16em; text-transform:uppercase; color:var(--hx-muted); }
body.ac-hx-page .ac-hx h2 { margin:10px 0 0!important; font:400 clamp(32px, 3.6vw, 52px)/1.08 Georgia,'Times New Roman',serif!important; letter-spacing:-.025em!important; color:var(--hx-ink); }
.ac-hx-head { max-width:760px; margin:0 0 clamp(36px, 5vw, 64px); }
.ac-hx-head--split { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:20px 40px; max-width:none; }
.ac-hx-head--split h2 { max-width:620px; }
body.ac-hx-page .ac-hx a.ac-hx-textlink { display:inline-flex; align-items:center; gap:12px; min-height:44px; color:var(--hx-ink); font-size:15px; font-weight:600; text-decoration:none; }
.ac-hx-card__arrow { display:inline-flex; align-items:center; justify-content:center; flex:0 0 44px; width:44px; height:44px; border-radius:50%; box-shadow:inset 0 0 0 1px var(--hx-line); font-size:17px; line-height:1; transition:background-color .3s ease, color .3s ease, box-shadow .3s ease; }
@media (hover:hover) and (pointer:fine) {
 .ac-hx :is(.ac-hx-card a,.ac-hx-tile,.ac-hx-post,.ac-hx-team__grid a):hover .ac-hx-card__arrow { background:#181818; color:#fff; box-shadow:none; }
}
.ac-hx :is(.ac-hx-card a,.ac-hx-tile,.ac-hx-post,.ac-hx-team__grid a):focus-visible .ac-hx-card__arrow { background:#181818; color:#fff; box-shadow:none; }

/* ---------- Testata ---------- */
body.ac-hx-page #Header { background:var(--hx-paper); }
.ac-hx-hero { --mx:0; --my:0; position:relative; display:grid; place-items:center; min-height:clamp(600px, calc(100svh - var(--ac-header-height,88px)), 900px); overflow:hidden; isolation:isolate;
 background:radial-gradient(60% 55% at 50% 45%, #fffdf9 0%, rgb(255 253 249 / 0) 70%), var(--hx-paper); }
.ac-hx > .ac-hx-hero { padding:0; }
/* I disegni hanno lo sfondo trasparente (viso-trasparente.webp, corpo-trasparente.webp): nessuna fusione
   "moltiplica" da cui dipendere. Safari la perdeva mentre il disegno si tracciava e mostrava i riquadri bianchi. */
.ac-hx-hero__art { position:absolute; inset:0; z-index:-1; pointer-events:none; }
.ac-hx-hero__figure { position:absolute; top:50%; width:min(64vw, 926px); aspect-ratio:926 / 845; translate:0 -50%; }
.ac-hx-hero__figure--face { left:max(-170px, calc(50% - 860px)); }
/* Il corpo sta 60 px più verso il centro: senza le foglie c'è spazio e il busto si vede intero. */
.ac-hx-hero__figure--body { right:calc(max(-170px, 50% - 860px) + 60px); }
.ac-hx-hero__layer { position:absolute; inset:0; width:100%!important; height:100%!important; max-width:none!important; object-fit:contain; border-radius:0!important;
 translate:calc(var(--mx) * var(--d, 16) * 1px) calc(var(--my) * var(--d, 16) * 1px); transition:translate .9s var(--hx-ease); }
/* La matita serve solo all'ingresso: ferma (o con "riduci movimento") resta il disegno a colori. */
.ac-hx-hero__pencil { opacity:0; }
.ac-hx-hero__copy::before { content:""; position:absolute; z-index:-1; inset:-12% -18%; background:radial-gradient(closest-side, var(--hx-paper) 55%, rgb(251 248 243 / 0)); pointer-events:none; }
.ac-hx-hero__figure--face .ac-hx-hero__layer { --d:18; }
.ac-hx-hero__figure--body .ac-hx-hero__layer { --d:-14; }
.ac-hx-hero__copy { position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; width:min(600px, calc(100% - 48px)); padding:48px 0 72px; text-align:center; }
body.ac-hx-page .ac-hx-hero h1 { margin:0!important; font:inherit!important; letter-spacing:normal!important; }
.ac-hx-hero__title { display:block; margin-top:18px; font:400 clamp(40px, 4.6vw, 66px)/1.04 Georgia,'Times New Roman',serif; letter-spacing:-.03em; color:var(--hx-ink); }
.ac-hx-hero__title > span { display:block; }
.ac-hx-hero__title > span:last-child { font-style:italic; color:var(--hx-accent); }
.ac-hx-hero__lead { max-width:460px; margin:24px 0 0!important; font-size:17px; line-height:1.65; color:var(--hx-muted); }
.ac-hx-hero__actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:32px; }
.ac-hx-hero__trust { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px 22px; margin-top:28px; font-size:13px; line-height:1.4; color:var(--hx-muted); }
.ac-hx-hero__address { display:inline-flex; align-items:center; min-height:44px; }
.ac-hx-hero__scroll { position:absolute; left:50%; bottom:22px; translate:-50% 0; display:flex; flex-direction:column; align-items:center; gap:8px; min-height:44px; color:var(--hx-muted); font-size:11px; letter-spacing:.16em; text-transform:uppercase; text-decoration:none; }
.ac-hx-hero__scroll i { display:block; width:1px; height:34px; background:linear-gradient(var(--hx-accent), var(--hx-accent)) top / 100% 0 no-repeat, var(--hx-line); }
/* Logo nella testata (interruttore della scheda Testata): ALTA CLINIC e la riga, con sotto la scritta dell'H1 spaziata come
   quella del logo. In cima alla home il logo dell'header è nascosto e compare quando questo esce dallo schermo
   (home-experience.js); senza JavaScript il logo dell'header resta sempre visibile. */
.ac-hx-hero__brand { width:clamp(300px, 31vw, 440px); margin:0 auto 20px; color:#1b1916; }
.ac-hx-hero__brand .ac-logo { display:block; width:100%; height:auto; overflow:visible; }
.ac-hx-hero--brand .ac-hx-hero__eyebrow { padding-left:.4em; font-size:12px; letter-spacing:.4em; }
.ac-hx-hero--brand .ac-hx-hero__title { margin-top:30px; }
/* Portatili con schermo basso: logo un po' più piccolo, così "Scorri" non tocca il riquadro Google. */
@media (min-width:761px) and (max-height:820px) {
 .ac-hx-hero__brand { width:clamp(280px, 26vw, 370px); margin-bottom:14px; }
 .ac-hx-hero--brand .ac-hx-hero__title { margin-top:20px; }
}
@media (scripting:enabled) {
 body.ac-hx-brand #Top_bar #logo { transition:opacity .5s var(--hx-ease); }
 body.ac-hx-brand:not(.ac-hx-brand-out) #Top_bar #logo:not(:focus-visible) { opacity:0; pointer-events:none; }
}

/* Ingresso: il disegno si traccia a matita e prende colore, il titolo sale riga per riga. */
@keyframes ac-hx-rise { from { opacity:0; translate:0 28px; } }
@keyframes ac-hx-fade { from { opacity:0; } }
@keyframes ac-hx-pencil-out { from { opacity:1; } to { opacity:0; } }
@keyframes ac-hx-color-in { from { opacity:0; } to { opacity:1; } }
@keyframes ac-hx-scroll { 0% { background-size:100% 0, auto; background-position:top; } 50% { background-size:100% 100%, auto; background-position:top; } 100% { background-size:100% 0, auto; background-position:bottom; } }
@media (prefers-reduced-motion:no-preference) {
 .ac-hx-hero :is(.ac-hx-hero__pencil,.ac-hx-hero__line) { -webkit-mask-image:linear-gradient(118deg,#000 calc(var(--ac-hero-reveal) - 30%),transparent var(--ac-hero-reveal)); mask-image:linear-gradient(118deg,#000 calc(var(--ac-hero-reveal) - 30%),transparent var(--ac-hero-reveal)); }
 .ac-hx-hero__figure--body :is(.ac-hx-hero__pencil,.ac-hx-hero__line) { -webkit-mask-image:linear-gradient(-62deg,#000 calc(var(--ac-hero-reveal) - 30%),transparent var(--ac-hero-reveal)); mask-image:linear-gradient(-62deg,#000 calc(var(--ac-hero-reveal) - 30%),transparent var(--ac-hero-reveal)); }
 .ac-hx-hero__pencil { animation:ac-hero-draw 2.1s cubic-bezier(.45,.05,.3,1) .1s both, ac-hx-pencil-out 1.6s ease-out 1.3s both; }
 .ac-hx-hero__line { animation:ac-hero-draw 2.1s cubic-bezier(.45,.05,.3,1) .1s both, ac-hx-color-in 1.6s ease-out 1.3s both; }
 .ac-hx-hero__figure--body :is(.ac-hx-hero__pencil,.ac-hx-hero__line) { animation-delay:.35s, 1.5s; }
 .ac-hx-hero__eyebrow { animation:ac-hx-fade 1s ease .3s both; }
 /* Con il logo la scritta entra come quella del logo dell'header, dopo le lettere e la riga (site-uniform.css). */
 .ac-hx-hero--brand .ac-hx-hero__eyebrow { animation:ac-logo-tag .8s cubic-bezier(.2,.8,.2,1) .9s both; }
 .ac-hx-hero__title > span { animation:ac-hx-rise 1.1s var(--hx-ease) .45s both; }
 .ac-hx-hero__title > span:last-child { animation-delay:.62s; }
 .ac-hx-hero__lead { animation:ac-hx-rise 1s var(--hx-ease) .85s both; }
 .ac-hx-hero__actions { animation:ac-hx-rise 1s var(--hx-ease) 1s both; }
 .ac-hx-hero__trust { animation:ac-hx-fade 1.2s ease 1.3s both; }
 .ac-hx-hero__scroll { animation:ac-hx-fade 1s ease 2s both; }
 .ac-hx-hero__scroll i { animation:ac-hx-scroll 1.6s ease-in-out 2.2s 3; }
 /* Scorrendo la testata il disegno si allarga appena e si dissolve. */
 @supports (animation-timeline:view()) {
  @keyframes ac-hx-hero-out { to { opacity:.35; scale:1.06; } }
  .ac-hx-hero__art { animation:ac-hx-hero-out linear both; animation-timeline:view(); animation-range:exit 0% exit 100%; }
 }
}

/* ---------- Frase manifesto ---------- */
.ac-hx > .ac-hx-manifesto { padding-block:clamp(96px, 13vw, 180px); text-align:center; }
.ac-hx-manifesto__text { max-width:1000px; margin:0 auto!important; font:400 clamp(30px, 4.3vw, 60px)/1.16 Georgia,'Times New Roman',serif; letter-spacing:-.025em; color:var(--hx-ink); text-wrap:balance; }
.ac-hx-word { opacity:var(--lit, 1); transition:opacity .45s ease; }
html.ac-hx-ready .ac-hx-word { --lit:.16; }
html.ac-hx-ready .ac-hx-word.is-lit { --lit:1; }
.ac-hx-manifesto__sign { margin:34px 0 0!important; font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--hx-accent); }

/* ---------- I quattro mondi ---------- */
.ac-hx > .ac-hx-worlds { padding-top:0; }
.ac-hx-worlds__layout { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:clamp(40px, 6vw, 96px); align-items:start; }
.ac-hx-worlds__stage { position:sticky; top:calc(var(--ac-admin-bar,0px) + var(--ac-header-visible, var(--ac-header-height,88px)) + 24px); height:min(720px, calc(100vh - var(--ac-header-height,88px) - 48px)); border-radius:28px; overflow:hidden; background:#fff; box-shadow:0 30px 70px -30px rgb(52 46 41 / 28%); }
.ac-hx-worlds__art { position:absolute; inset:0; margin:0; opacity:0; clip-path:inset(100% 0 0 0); transition:opacity .6s ease, clip-path 1s var(--hx-ease); }
.ac-hx-worlds__art.is-active { opacity:1; clip-path:inset(0 0 0 0); }
.ac-hx-worlds__image { position:absolute; inset:0; width:100%!important; height:100%!important; object-fit:cover; border-radius:0!important; scale:1.08; transition:scale 1.6s var(--hx-ease); }
.ac-hx-worlds__art.is-active .ac-hx-worlds__image { scale:1; }
.ac-hx-worlds__art--left .ac-hx-worlds__image { object-position:0% 50%; }
.ac-hx-worlds__art--right .ac-hx-worlds__image { object-position:100% 50%; }
.ac-hx-worlds__art figcaption { position:absolute; left:28px; bottom:24px; display:flex; flex-direction:column; gap:2px; font:400 clamp(30px, 3vw, 44px)/1.05 Georgia,'Times New Roman',serif; letter-spacing:-.02em; color:var(--hx-ink); }
.ac-hx-worlds__art--left figcaption { left:auto; right:28px; text-align:right; }
.ac-hx-worlds__art figcaption span { font:600 11px/1.6 'Open Sans',Arial,sans-serif; letter-spacing:.16em; color:var(--hx-accent); }
.ac-hx-worlds__dots { position:absolute; top:24px; left:28px; display:flex; gap:6px; margin:0!important; padding:0!important; list-style:none; }
.ac-hx-worlds__dots li { width:22px; height:3px; margin:0; padding:0; border-radius:3px; background:rgb(52 46 41 / 16%); list-style:none; transition:width .5s var(--hx-ease), background-color .4s ease; }
.ac-hx-worlds__dots li::before { display:none; }
.ac-hx-worlds__dots li.is-active { width:44px; background:var(--hx-accent); }
.ac-hx-world { display:flex; flex-direction:column; justify-content:center; min-height:min(760px, calc(100vh - var(--ac-header-height,88px))); padding:48px 0; }
.ac-hx-world__art { display:none; }
.ac-hx-world__index { font:600 11px/1.6 'Open Sans',Arial,sans-serif; letter-spacing:.16em; text-transform:uppercase; color:var(--hx-accent); }
body.ac-hx-page .ac-hx .ac-hx-world h3 { margin:12px 0 0!important; font:400 clamp(28px, 2.6vw, 38px)/1.12 Georgia,'Times New Roman',serif!important; letter-spacing:-.02em!important; color:var(--hx-ink); }
.ac-hx-world__quote { margin:22px 0 0!important; padding:0 0 0 18px!important; border:0!important; border-left:2px solid var(--hx-accent)!important; background:none!important; font:italic 400 19px/1.5 Georgia,'Times New Roman',serif!important; color:var(--hx-muted)!important; }
.ac-hx-world__quote::before, .ac-hx-world__quote::after { display:none!important; }
.ac-hx-world__lead p { margin:22px 0 0!important; font-size:18px!important; line-height:1.7!important; color:var(--hx-ink); }
.ac-hx-world__body :is(p,ul) { margin:14px 0 0!important; font-size:16px!important; line-height:1.75!important; color:var(--hx-muted); }
.ac-hx-world__body li { margin:4px 0; }
.ac-hx-world__more { margin-top:18px; border-top:1px solid var(--hx-line); }
.ac-hx-world__more summary { display:flex; align-items:center; justify-content:space-between; min-height:52px; cursor:pointer; list-style:none; font-size:15px; font-weight:600; color:var(--hx-ink); }
.ac-hx-world__more summary::-webkit-details-marker { display:none; }
.ac-hx-world__plus { position:relative; width:36px; height:36px; border-radius:50%; box-shadow:inset 0 0 0 1px var(--hx-line); transition:background-color .3s ease, rotate .4s var(--hx-ease); }
.ac-hx-world__plus::before, .ac-hx-world__plus::after { content:""; position:absolute; left:50%; top:50%; width:12px; height:1.5px; margin:-.75px 0 0 -6px; background:currentColor; }
.ac-hx-world__plus::after { rotate:90deg; transition:rotate .4s var(--hx-ease); }
.ac-hx-world__more[open] .ac-hx-world__plus { background:#181818; color:#fff; box-shadow:none; }
.ac-hx-world__more[open] .ac-hx-world__plus::after { rotate:0deg; }
.ac-hx-world__actions { margin:26px 0 0!important; }

/* ---------- Numeri ---------- */
.ac-hx > .ac-hx-stats { padding-block:clamp(64px, 8vw, 104px); background:var(--hx-dark); color:#efe7dc; }
.ac-hx-stats ul { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:32px; margin:0!important; padding:0!important; list-style:none; }
.ac-hx-stats li { display:flex; flex-direction:column; gap:12px; margin:0; padding:0 0 0 24px; border-left:1px solid rgb(255 255 255 / 16%); list-style:none; }
.ac-hx-stats li::before { display:none; }
.ac-hx-count { font:400 clamp(44px, 5vw, 72px)/1 Georgia,'Times New Roman',serif; letter-spacing:-.03em; color:#fbf8f3; font-variant-numeric:tabular-nums; }
.ac-hx-stats span { max-width:220px; font-size:14px; line-height:1.55; color:#cfc4b6; }

/* ---------- Trattamenti più richiesti ---------- */
.ac-hx > .ac-hx-rail { padding-right:0; }
.ac-hx-rail .ac-hx-head { padding-right:var(--hx-gutter); }
.ac-hx-rail__controls { display:flex; align-items:center; gap:10px; }
.ac-hx-rail__controls button, .ac-hx-reviews__nav button { display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; padding:0!important; border:1px solid var(--hx-line)!important; border-radius:50%!important; background:var(--hx-light)!important; color:var(--hx-ink)!important; font-size:17px; line-height:1; cursor:pointer; transition:background-color .25s ease, color .25s ease, border-color .25s ease, opacity .25s ease; }
.ac-hx-rail__controls button:disabled { opacity:.35; cursor:default; }
@media (hover:hover) and (pointer:fine) {
 .ac-hx-rail__controls button:not(:disabled):hover, .ac-hx-reviews__nav button:hover { background:#181818!important; border-color:#181818!important; color:#fff!important; }
}
.ac-hx-rail__controls .ac-hx-textlink { margin-left:14px; }
.ac-hx-rail__track { display:flex; gap:20px; margin:-4px 0 0!important; padding:8px var(--hx-gutter) 28px 0!important; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-padding-inline:0; scrollbar-width:none; list-style:none; overscroll-behavior-x:contain; }
.ac-hx-rail__track::-webkit-scrollbar { display:none; }
.ac-hx-card { flex:0 0 clamp(260px, 26vw, 340px); margin:0; padding:0; scroll-snap-align:start; list-style:none; }
.ac-hx-card::before { display:none; }
.ac-hx-card a { display:flex; flex-direction:column; height:100%; overflow:hidden; border-radius:24px; background:var(--hx-card); color:var(--hx-ink); text-decoration:none; transition:transform .5s var(--hx-ease), box-shadow .5s var(--hx-ease); }
.ac-hx-card__visual, .ac-hx-tile__visual, .ac-hx-post__visual { display:block; overflow:hidden; background:#fff; }
.ac-hx-card__visual { aspect-ratio:4 / 5; }
.ac-hx :is(.ac-hx-card__image,.ac-hx-tile__image,.ac-hx-post__visual img) { display:block; width:100%!important; height:100%!important; object-fit:cover; border-radius:0!important; transition:scale .9s var(--hx-ease); }
.ac-hx-card__body { display:grid; grid-template-columns:minmax(0, 1fr) auto; grid-template-rows:auto 1fr; gap:6px 16px; padding:20px 20px 22px; }
.ac-hx-card__title { font:400 23px/1.2 Georgia,'Times New Roman',serif; letter-spacing:-.01em; }
.ac-hx-card__area { grid-column:1; font-size:13px; line-height:1.5; color:var(--hx-muted); }
.ac-hx-card__body .ac-hx-card__arrow { grid-column:2; grid-row:1 / span 2; align-self:end; }
@media (hover:hover) and (pointer:fine) {
 .ac-hx-card a:hover { transform:translateY(-6px); box-shadow:0 26px 50px -22px rgb(52 46 41 / 32%); }
 .ac-hx :is(.ac-hx-card a,.ac-hx-tile,.ac-hx-post):hover :is(.ac-hx-card__image,.ac-hx-tile__image,.ac-hx-post__visual img) { scale:1.05; }
}
.ac-hx-rail__progress { height:2px; margin-right:var(--hx-gutter); background:var(--hx-line); border-radius:2px; overflow:hidden; }
.ac-hx-rail__progress span { display:block; height:100%; background:var(--hx-accent); transform-origin:left; scale:var(--rail, .2) 1; transition:scale .3s ease; }

/* ---------- Il team ---------- */
.ac-hx > .ac-hx-team { padding-top:0; }
.ac-hx-team__grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:22px; margin:0!important; padding:0!important; list-style:none; }
.ac-hx-team__grid li { margin:0; padding:0; list-style:none; }
.ac-hx-team__grid li::before { display:none; }
.ac-hx-team__grid a { display:block; color:inherit; text-decoration:none; }
.ac-hx-team__photo { display:block; aspect-ratio:3 / 4; overflow:hidden; border-radius:20px; background:#fff; }
.ac-hx-team__image { display:block; width:100%!important; height:100%!important; object-fit:cover; object-position:50% 20%; border-radius:0!important; filter:saturate(.75); transition:filter .6s ease, scale .9s var(--hx-ease); }
.ac-hx-team__meta { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:12px; }
.ac-hx-team__text { min-width:0; }
.ac-hx-team__name { display:block; font:400 18px/1.25 Georgia,'Times New Roman',serif; }
.ac-hx-team__role { display:block; margin-top:2px; font-size:12px; line-height:1.4; color:var(--hx-muted); }
@media (hover:hover) and (pointer:fine) {
 .ac-hx-team__grid a:hover .ac-hx-team__image { filter:none; scale:1.04; }
 .ac-hx-team__grid a:hover .ac-hx-team__name { text-decoration:underline; text-decoration-thickness:.5px; text-underline-offset:4px; }
}

/* ---------- Recensioni ---------- */
.ac-hx > .ac-hx-reviews { display:grid; grid-template-columns:minmax(0, 4fr) minmax(0, 7fr); gap:clamp(36px, 6vw, 96px); align-items:start; background:var(--hx-card); }
/* Le colonne partono alla stessa altezza: aprendo una recensione lunga il riquadro Google non si sposta e resta in vista. */
@media (min-width:761px) { .ac-hx-reviews__summary { position:sticky; top:calc(var(--ac-admin-bar,0px) + var(--ac-header-visible,var(--ac-header-height,88px)) + 32px); } }
.ac-hx-reviews__stage { position:relative; }
.ac-hx-reviews__list { position:relative; margin:0!important; padding:0!important; list-style:none; }
.ac-hx-review { margin:0; padding:0; list-style:none; }
.ac-hx-review::before { display:none; }
.ac-hx-review blockquote { position:relative; margin:0!important; padding:0!important; border:0!important; background:none!important; }
/* Le stelle di Google aprono la recensione: niente virgolette decorative. */
.ac-hx-review blockquote::before, .ac-hx-review blockquote::after { display:none!important; }
.ac-hx-review blockquote p { position:relative; margin:0!important; font:400 clamp(22px, 2.3vw, 32px)/1.4 Georgia,'Times New Roman',serif!important; letter-spacing:-.01em; color:var(--hx-ink)!important; }
.ac-hx-review__author { display:flex; align-items:center; gap:12px; margin:26px 0 0!important; font-size:15px; font-weight:600; }
/* Recensioni lunghe: con JavaScript si fermano a qualche riga e "Leggi tutta" le apre; senza, si leggono intere. */
html.ac-hx-ready .ac-hx-review:not(.is-open) blockquote p { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:6; line-clamp:6; overflow:hidden; }
body.ac-atelier #Content .ac-hx-review__more { display:inline-flex; align-items:center; gap:10px; min-height:44px; margin:14px 0 0; padding:0!important; border:0!important; border-radius:0!important; background:none!important; box-shadow:none!important; color:var(--hx-ink)!important; font:600 15px/1.3 'Open Sans',Arial,sans-serif!important; letter-spacing:0; text-transform:none; cursor:pointer; }
body.ac-atelier #Content .ac-hx-review__more[hidden] { display:none; }
.ac-hx-reviews__nav { display:flex; align-items:center; gap:16px; margin-top:36px; }
.ac-hx-reviews__count { min-width:48px; font-size:13px; letter-spacing:.08em; color:var(--hx-muted); text-align:center; font-variant-numeric:tabular-nums; }
@keyframes ac-hx-review-in { from { opacity:0; translate:0 18px; } }
@media (prefers-reduced-motion:no-preference) {
 .ac-hx-review.is-active { animation:ac-hx-review-in .7s var(--hx-ease) both; }
}

/* ---------- Shop e questionario ---------- */
.ac-hx-shop__grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:20px; }
.ac-hx-tile { display:flex; flex-direction:column; overflow:hidden; border-radius:24px; background:var(--hx-card); color:var(--hx-ink); text-decoration:none; transition:transform .5s var(--hx-ease), box-shadow .5s var(--hx-ease); }
.ac-hx-tile__visual { aspect-ratio:4 / 3; }
.ac-hx-tile__label { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 18px 16px 22px; font:400 20px/1.25 Georgia,'Times New Roman',serif; }
@media (hover:hover) and (pointer:fine) { .ac-hx-tile:hover { transform:translateY(-5px); box-shadow:0 26px 50px -22px rgb(52 46 41 / 30%); } }
.ac-hx-quiz { grid-column:1 / -1; display:grid; grid-template-columns:auto minmax(0, 1fr) auto; align-items:center; gap:16px 40px; padding:clamp(28px, 4vw, 44px); border-radius:24px; background:var(--hx-dark); color:#efe7dc; }
.ac-hx-quiz .ac-hx-eyebrow { color:#b9ab9a; }
.ac-hx-quiz p { margin:0!important; font:400 clamp(22px, 2.2vw, 30px)/1.3 Georgia,'Times New Roman',serif; color:#fbf8f3; }
body.ac-hx-page .ac-hx .ac-hx-quiz a.ac-tx-button--primary { border-color:#fbf8f3!important; background:#fbf8f3!important; color:var(--hx-dark)!important; box-shadow:0 12px 28px rgb(0 0 0 / 22%)!important; }

/* ---------- Articoli ---------- */
.ac-hx > .ac-hx-news { padding-top:0; }
.ac-hx > .ac-hx-shop + .ac-hx-news { padding-top:0; }
.ac-hx-news__grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:20px; }
.ac-hx-post { position:relative; display:grid; grid-template-columns:minmax(0, 1fr) auto; grid-template-rows:auto auto 1fr; gap:8px 16px; overflow:hidden; padding-bottom:22px; border-radius:24px; background:var(--hx-card); color:var(--hx-ink); text-decoration:none; transition:transform .5s var(--hx-ease), box-shadow .5s var(--hx-ease); }
.ac-hx-post__visual { grid-column:1 / -1; aspect-ratio:16 / 10; margin-bottom:12px; }
.ac-hx-post__visual > * { width:100%; height:100%; }
.ac-hx-post__meta { grid-column:1; padding-left:22px; font-size:12px; letter-spacing:.06em; color:var(--hx-muted); }
.ac-hx-post__title { grid-column:1; padding-left:22px; font:400 21px/1.3 Georgia,'Times New Roman',serif; }
.ac-hx-post .ac-hx-card__arrow { grid-column:2; grid-row:2 / span 2; align-self:end; margin-right:20px; }
@media (hover:hover) and (pointer:fine) { .ac-hx-post:hover { transform:translateY(-5px); box-shadow:0 26px 50px -22px rgb(52 46 41 / 30%); } }

/* ---------- Newsletter: illustrazione a sinistra, invito e modulo Brevo a destra, come le testate del sito ---------- */
.ac-hx > .ac-hx-newsletter { display:grid; grid-template-columns:minmax(0, .92fr) minmax(0, 1.08fr); margin:0 var(--hx-gutter) var(--hx-space); padding:0; overflow:hidden; border-radius:32px; background:var(--hx-card); box-shadow:0 30px 60px -34px rgb(52 46 41 / 35%); isolation:isolate; }
.ac-hx-newsletter__art { position:relative; min-height:100%; margin:0; overflow:hidden; background:#fff; }
body.ac-hx-page .ac-hx .ac-hx-newsletter__art img { position:absolute!important; inset:0; width:100%!important; height:100%!important; max-width:none!important; margin:0!important; object-fit:cover; object-position:center; transition:transform 1.4s var(--hx-ease); }
@media (hover:hover) and (pointer:fine) { body.ac-hx-page .ac-hx .ac-hx-newsletter:hover .ac-hx-newsletter__art img { transform:scale(1.035); } }
.ac-hx-newsletter__body { display:flex; flex-direction:column; justify-content:center; gap:14px; min-width:0; padding:clamp(36px, 5vw, 64px); }
body.ac-hx-page #Content .ac-hx .ac-hx-newsletter__copy h2 { --atelier-heading-after:0px; }
.ac-hx-newsletter__copy p { margin:16px 0 0!important; font-size:16px; line-height:1.7; color:var(--hx-muted); }
/* Modulo Brevo: stessi campi, consenso e invio del plugin, impaginati in griglia. */
.ac-hx-newsletter__form :is(h1,h2,h3,h4) { display:none!important; }
.ac-hx-newsletter__form :is(form,.sib_signup_form,.sib-form) { margin:0!important; padding:0!important; border:0!important; background:none!important; box-shadow:none!important; }
.ac-hx-newsletter__form [class^="sib_signup_box_inside"] { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:14px; }
.ac-hx-newsletter__form [class^="sib_signup_box_inside"] > * { grid-column:1 / -1; margin:0!important; }
.ac-hx-newsletter__form [class^="sib_signup_box_inside"] > :is(.sib-NOME-area,.sib-COGNOME-area) { grid-column:auto; }
.ac-hx-newsletter__form [class^="sib_signup_box_inside"] > p:not([class]) { margin-bottom:6px!important; font-size:16px!important; line-height:1.7; color:var(--hx-muted); }
/* Il riquadro dei messaggi di Brevo resta nascosto finché il plugin non ci scrive l'esito dell'iscrizione. */
.ac-hx-newsletter__form .sib_msg_disp:not(:has(*)) { display:none; }
.ac-hx-newsletter__form label { display:block; margin:0 0 7px; font:600 11px/1.5 'Open Sans',Arial,sans-serif!important; letter-spacing:.14em; text-transform:uppercase; color:var(--hx-muted)!important; text-align:left!important; }
.ac-hx-newsletter__form :is(input[type=text],input[type=email]) { width:100%!important; min-height:52px; margin:0!important; padding:0 20px!important; border:1px solid var(--hx-line)!important; border-radius:50px!important; background:var(--hx-light)!important; color:var(--hx-ink)!important; font-size:16px; box-shadow:none!important; transition:border-color .25s ease, box-shadow .25s ease; }
.ac-hx-newsletter__form :is(input[type=text],input[type=email]):focus { outline:0; border-color:var(--hx-accent)!important; box-shadow:0 0 0 4px rgb(113 85 69 / 14%)!important; }
.ac-hx-newsletter__form .sib-default-acc { position:relative; padding-left:32px; font-size:14px; line-height:1.6; color:var(--hx-muted); }
.ac-hx-newsletter__form .sib-default-acc input[type=checkbox] { position:absolute; left:0; top:1px; width:20px; height:20px; margin:0!important; accent-color:var(--hx-accent); cursor:pointer; }
.ac-hx-newsletter__form .sib-default-acc a { color:var(--hx-ink); text-underline-offset:3px; }
.ac-hx-newsletter__form .sib-default-btn-p { margin-top:6px!important; }
.ac-hx-newsletter__form input[type=submit] { min-width:200px; }
.ac-hx-newsletter__form p { text-align:left!important; }

/* ---------- Ingresso delle sezioni ---------- */
@media (prefers-reduced-motion:no-preference) {
 html.ac-hx-ready .ac-hx [data-hx-reveal] { opacity:0; translate:0 34px; transition:opacity .9s ease, translate 1s var(--hx-ease); transition-delay:calc(var(--hx-i, 0) * 90ms); }
 html.ac-hx-ready .ac-hx [data-hx-reveal].is-in { opacity:1; translate:0 0; }
}

/* ---------- Tablet e telefono ---------- */
@media (max-width:1000px) {
 .ac-hx-worlds__layout { display:block; }
 .ac-hx-worlds__stage { display:none; }
 .ac-hx-world { min-height:0; padding:0 0 56px; }
 .ac-hx-world__art { position:relative; display:block; aspect-ratio:4 / 3; margin:0 0 26px; overflow:hidden; border-radius:24px; background:#fff; }
 .ac-hx-world__art .ac-hx-worlds__image { scale:1; }
 /* Inquadratura scelta nel percorso: il punto indicato resta fermo e l'ingrandimento toglie il bianco intorno. */
 .ac-hx-world__art--framed .ac-hx-worlds__image { object-position:var(--ac-fx) var(--ac-fy); transform-origin:var(--ac-fx) var(--ac-fy); scale:var(--ac-zoom); }
 .ac-hx-stats ul { grid-template-columns:repeat(2, minmax(0, 1fr)); row-gap:40px; }
 .ac-hx-team__grid { grid-template-columns:repeat(4, minmax(0, 1fr)); gap:16px; }
 .ac-hx > .ac-hx-reviews { grid-template-columns:1fr; }
 .ac-hx-shop__grid, .ac-hx-news__grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
 .ac-hx-quiz { grid-template-columns:1fr; }
 .ac-hx > .ac-hx-newsletter { grid-template-columns:1fr; }
 .ac-hx-newsletter__art { min-height:0; aspect-ratio:16 / 8; }
}
@media (max-width:760px) {
 body.ac-hx-page { --hx-gutter:20px; --hx-space:clamp(64px, 16vw, 88px); }
 html.ac-hx-ready .ac-hx-review:not(.is-open) blockquote p { -webkit-line-clamp:8; line-clamp:8; }
 .ac-hx-hero { display:flex; flex-direction:column; min-height:0; }
 /* Viso a sinistra e corpo a destra vicini, senza il vuoto in mezzo. Il riquadro va steso a tutta larghezza:
    con i figli tutti posizionati era largo 0 e i disegni si accavallavano al centro (si vedeva solo il corpo). */
 .ac-hx-hero__art { position:relative; inset:auto; align-self:stretch; height:70vw; }
 .ac-hx-hero__figure { width:80vw; }
 .ac-hx-hero__figure--face { left:2vw; }
 .ac-hx-hero__figure--body { right:-4vw; }
 .ac-hx-hero__copy { width:calc(100% - 40px); margin-top:2vw; padding:0 0 56px; }
 .ac-hx-hero__actions { flex-direction:column; align-self:stretch; }
 .ac-hx-hero__actions a { width:100%; }
 .ac-hx-hero__scroll { display:none; }
 .ac-hx-hero__brand { width:min(300px, 76vw); margin-bottom:14px; }
 .ac-hx-hero--brand .ac-hx-hero__eyebrow { padding-left:.3em; font-size:11px; letter-spacing:.3em; }
 .ac-hx-hero--brand .ac-hx-hero__title { margin-top:22px; }
 .ac-hx-rail__controls button { display:none; }
 .ac-hx-rail__controls .ac-hx-textlink { margin-left:0; }
 .ac-hx-card { flex-basis:78vw; }
 .ac-hx-stats li { padding-left:16px; }
 .ac-hx-team__grid { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px; }
 .ac-hx-team .ac-hx-card__arrow { flex-basis:36px; width:36px; height:36px; font-size:15px; }
 .ac-hx-shop__grid, .ac-hx-news__grid { grid-template-columns:1fr; }
 .ac-hx > .ac-hx-newsletter { margin-inline:20px; border-radius:24px; }
 .ac-hx-newsletter__art { aspect-ratio:3 / 2; }
 .ac-hx-newsletter__body { padding:28px 22px 30px; }
 .ac-hx-newsletter__form [class^="sib_signup_box_inside"] { grid-template-columns:1fr; }
 .ac-hx-newsletter__form input[type=submit] { width:100%; }
}
@media (prefers-reduced-motion:reduce) {
 .ac-hx-hero__layer, .ac-hx-worlds__art, .ac-hx-worlds__image, .ac-hx-card a, .ac-hx-tile, .ac-hx-post { transition:none!important; }
}
/* Frecce delle schede: la stessa freccia disegnata del sito, che scappa e rientra al passaggio. Il logo della testata
   ripete il riflesso al passaggio del mouse, come quello dell'header. */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .ac-hx-hero__brand:hover .ac-logo:not(.ac-logo--intro) .ac-logo__glint { animation:ac-logo-glint 1.3s cubic-bezier(.45,.05,.3,1) both; }
 .ac-hx :is(.ac-hx-card a,.ac-hx-tile,.ac-hx-post,.ac-hx-team__grid a):hover [data-ac-dir]::before { animation:ac-arrow-out .5s cubic-bezier(.6,0,.2,1) both; }
 .ac-hx :is(.ac-hx-card a,.ac-hx-tile,.ac-hx-post,.ac-hx-team__grid a):hover [data-ac-dir]::after { animation:ac-arrow-in .5s cubic-bezier(.6,0,.2,1) both; }
}
.ac-hx-rail__track.is-dragging { cursor:grabbing; }
.ac-hx-rail__track.is-dragging a { pointer-events:none; }

/* Il disegno dei mondi resta fermo: #Wrapper ritaglia senza bloccare gli elementi agganciati. */
body.ac-hx-page #Wrapper { overflow:clip; }

/* Testi speciali: il tema impone a ogni paragrafo il carattere del testo normale (typography.css). */
body.ac-hx-page #Content .ac-hx p.ac-hx-manifesto__text { --atelier-copy-size:clamp(30px, 4.3vw, 60px); --atelier-copy-leading:1.16; font-family:Georgia,'Times New Roman',serif!important; letter-spacing:-.025em!important; margin:0 auto!important; }
body.ac-hx-page #Content .ac-hx p.ac-hx-manifesto__sign { --atelier-copy-size:11px; --atelier-copy-leading:1.6; font-weight:600; letter-spacing:.16em!important; margin:34px 0 0!important; }
body.ac-hx-page #Content .ac-hx p.ac-hx-hero__lead { --atelier-copy-size:17px; --atelier-copy-leading:1.65; margin:24px 0 0!important; }
body.ac-hx-page #Content .ac-hx .ac-hx-world__lead p { --atelier-copy-size:18px; --atelier-copy-leading:1.7; margin:22px 0 0!important; color:var(--hx-ink); }
body.ac-hx-page #Content .ac-hx .ac-hx-world__body :is(p,ul) { --atelier-copy-size:16px; --atelier-copy-leading:1.75; margin:14px 0 0!important; color:var(--hx-muted); }
body.ac-hx-page #Content .ac-hx p.ac-hx-world__actions { margin:26px 0 0!important; }
body.ac-hx-page #Content .ac-hx .ac-hx-review blockquote p { --atelier-copy-size:clamp(22px, 2.3vw, 32px); --atelier-copy-leading:1.4; font-family:Georgia,'Times New Roman',serif!important; letter-spacing:-.01em!important; margin:0!important; }
body.ac-hx-page #Content .ac-hx p.ac-hx-review__author { --atelier-copy-size:15px; font-weight:600; margin:26px 0 0!important; }
body.ac-hx-page #Content .ac-hx .ac-hx-reviews__summary p { --atelier-copy-size:15px; margin:12px 0 4px!important; }
body.ac-hx-page #Content .ac-hx .ac-hx-quiz p { --atelier-copy-size:clamp(22px, 2.2vw, 30px); --atelier-copy-leading:1.3; font-family:Georgia,'Times New Roman',serif!important; letter-spacing:-.01em!important; margin:0!important; color:#fbf8f3; }
body.ac-hx-page #Content .ac-hx .ac-hx-newsletter__copy p { --atelier-copy-size:16px; --atelier-copy-leading:1.7; margin:16px 0 0!important; }

/* ---------- Stelle e logo di Google, come le mostra Google ---------- */
.ac-hx .ac-review-stars { display:inline-flex; align-items:center; gap:2px; line-height:1; vertical-align:middle; }
.ac-hx .ac-review-star { position:relative; display:inline-block; width:var(--star, 16px); height:var(--star, 16px); }
.ac-hx .ac-review-star svg { display:block; width:var(--star, 16px); height:var(--star, 16px); fill:#dadce0; }
.ac-hx .ac-review-star--full svg, .ac-hx .ac-review-star__fill svg { fill:#fbbc04; }
.ac-hx .ac-review-star__fill { position:absolute; inset:0 auto 0 0; overflow:hidden; }
.ac-hx-google { color:#3c4043; text-decoration:none!important; font-family:Roboto,Arial,'Helvetica Neue',sans-serif; }
.ac-hx-google__logo { display:block; width:auto!important; height:auto; border-radius:0!important; }
/* Testata: pillola bianca con logo, voto, stelle e numero di recensioni. */
.ac-hx-google--hero { --star:15px; display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:6px 16px; box-sizing:border-box; border-radius:50px; background:#fff; box-shadow:0 0 0 1px rgb(222 211 196 / 80%), 0 10px 24px -12px rgb(52 46 41 / 28%); transition:box-shadow .3s ease, transform .3s var(--hx-ease); }
.ac-hx-google--hero .ac-hx-google__logo { height:20px!important; margin-top:3px; }
.ac-hx-google__score { font-size:15px; font-weight:700; color:#202124; }
.ac-hx-google--hero .ac-hx-google__count { font-size:13px; color:#5f6368; }
@media (hover:hover) and (pointer:fine) {
 .ac-hx-google--hero:hover { transform:translateY(-2px); box-shadow:0 0 0 1px #c9bba8, 0 16px 30px -14px rgb(52 46 41 / 32%); }
 .ac-hx-google--hero:hover .ac-hx-google__count { text-decoration:underline; text-underline-offset:3px; }
}
/* Recensioni: il riquadro come su Google. */
.ac-hx-reviews__summary h2 { margin-bottom:22px!important; }
.ac-hx-google--card { --star:26px; display:flex; flex-direction:column; align-items:center; gap:10px; max-width:340px; padding:30px 28px 24px; box-sizing:border-box; border-radius:24px; background:#fff; text-align:center; box-shadow:0 0 0 1px rgb(222 211 196 / 70%), 0 24px 50px -26px rgb(52 46 41 / 30%); transition:box-shadow .3s ease, transform .3s var(--hx-ease); }
.ac-hx-google__label { margin-top:2px; font-size:19px; font-weight:700; letter-spacing:.06em; color:#202124; text-transform:uppercase; }
.ac-hx-google__rating { display:inline-flex; align-items:center; gap:10px; }
.ac-hx-google--card .ac-hx-google__score { font-size:40px; font-weight:400; line-height:1; color:#202124; }
.ac-hx-google--card .ac-hx-google__count { font-size:14px; color:#5f6368; }
.ac-hx-google--card .ac-hx-google__count strong { color:#202124; }
.ac-hx-google--card .ac-hx-google__logo { height:58px!important; margin:0 0 6px; }
.ac-hx-google__more { display:inline-flex; align-items:center; gap:10px; min-height:40px; font:600 14px/1.3 'Open Sans',Arial,sans-serif; color:var(--hx-ink); }
.ac-hx-google__more .ac-inline-arrow { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:50%; font-size:15px; }
/* La freccia non è figlia diretta del collegamento (tutto il riquadro): il cerchio va acceso qui, con lo stesso peso
   della regola di atelier.css che la lascia trasparente. */
body.ac-atelier #Content .ac-hx-google--card:focus-visible .ac-hx-google__more .ac-inline-arrow { background:#181818; color:#fff; }
@media (hover:hover) and (pointer:fine) {
 .ac-hx-google--card:hover { transform:translateY(-3px); box-shadow:0 0 0 1px #c9bba8, 0 30px 56px -26px rgb(52 46 41 / 36%); }
 .ac-hx-google--card:hover .ac-hx-google__more .ac-inline-label { text-decoration:underline; text-underline-offset:4px; }
 body.ac-atelier #Content .ac-hx-google--card:hover .ac-hx-google__more .ac-inline-arrow { background:#181818; color:#fff; }
 .ac-hx-google--card:hover .ac-hx-google__more [data-ac-dir]::before { animation:ac-arrow-out .5s cubic-bezier(.6,0,.2,1) both; }
 .ac-hx-google--card:hover .ac-hx-google__more [data-ac-dir]::after { animation:ac-arrow-in .5s cubic-bezier(.6,0,.2,1) both; }
}
.ac-hx-review > .ac-review-stars { --star:20px; margin-bottom:22px; }
.ac-hx-review__avatar { display:inline-flex; align-items:center; justify-content:center; flex:0 0 40px; width:40px; height:40px; border-radius:50%; background:var(--hx-accent); color:#fff; font-size:15px; }
.ac-hx-review__author > span:last-child { display:flex; flex-direction:column; gap:2px; }
.ac-hx-review__author small { font-size:12px; font-weight:400; color:var(--hx-muted); }
@media (max-width:760px) {
 .ac-hx-google--hero { flex-wrap:wrap; justify-content:center; }
 .ac-hx-google--card { max-width:none; }
}
/* Telefoni stretti: il riquadro Google (con la freccia) resta su una riga. */
@media (max-width:420px) {
 .ac-hx-google--hero { --star:12px; gap:5px; padding:6px 11px; }
 .ac-hx-google--hero .ac-hx-google__logo { height:18px!important; margin-top:2px; }
 .ac-hx-google--hero .ac-hx-google__score { font-size:14px; }
 .ac-hx-google--hero .ac-hx-google__count { font-size:11.5px; }
}
@media (max-width:359px) {
 .ac-hx-google--hero { --star:11px; gap:4px; padding:6px 8px; }
 .ac-hx-google--hero .ac-hx-google__logo { height:16px!important; }
 .ac-hx-google--hero .ac-hx-google__score { font-size:13px; }
 .ac-hx-google--hero .ac-hx-google__count { font-size:11px; }
}
/* Testo solo per i lettori di schermo. */
.ac-hx .screen-reader-text { position:absolute!important; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
