:root {
  --bg: #f4f0e8;
  --paper: #fffdf8;
  --ink: #171717;
  --muted: #69655f;
  --line: #d9d1c5;
  --accent: #5d63d8;
  --accent-soft: #e7e8ff;
  --max: 1180px;
  --radius: 22px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input, textarea { font: inherit; }
.container { width: min(calc(100% - 40px), var(--max)); margin: 0 auto; }
.site-header {
  position: sticky; top: 0; z-index: 30;
  backdrop-filter: blur(14px);
  background: color-mix(in srgb, var(--bg) 84%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--line) 78%, transparent);
}
.nav { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: flex; align-items: center; gap: 12px; font-weight: 750; letter-spacing: -0.02em; }
.brand-mark {
  width: 42px; height: 42px; border: 2px solid var(--ink); border-radius: 50%;
  display: grid; place-items: center; font-size: 13px; letter-spacing: .08em;
}
.nav-links { display: flex; align-items: center; gap: 22px; font-size: 14px; }
.nav-links a:hover, .nav-links a[aria-current="page"] { color: var(--accent); }
.nav-cta { padding: 10px 16px; border-radius: 999px; background: var(--ink); color: white; }
.menu-btn { display: none; border: 0; background: transparent; font-size: 24px; }
.hero { padding: 96px 0 72px; }
.eyebrow { color: var(--accent); text-transform: uppercase; letter-spacing: .14em; font-size: 12px; font-weight: 800; }
h1, h2, h3 { line-height: 1.06; letter-spacing: -0.045em; margin: 0; }
h1 { font-size: clamp(48px, 8vw, 98px); max-width: 1050px; }
h2 { font-size: clamp(36px, 5vw, 64px); }
h3 { font-size: clamp(24px, 3vw, 34px); }
.hero-copy { margin-top: 30px; display: grid; grid-template-columns: 1.35fr .65fr; gap: 54px; align-items: end; }
.hero-copy p { font-size: clamp(19px, 2vw, 27px); margin: 0; max-width: 820px; }
.hero-side { font-size: 15px; color: var(--muted); }
.actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 13px 18px; border-radius: 999px; border: 1px solid var(--ink); font-weight: 700; }
.btn.primary { background: var(--ink); color: white; }
.btn.secondary { background: transparent; }
.btn:hover { transform: translateY(-1px); }
.section { padding: 86px 0; border-top: 1px solid var(--line); }
.section-intro { display: grid; grid-template-columns: .55fr 1.45fr; gap: 60px; align-items: start; }
.section-intro > p { margin: 0; font-size: clamp(22px, 3vw, 36px); line-height: 1.28; }
.kicker { color: var(--muted); max-width: 300px; }
.lead { font-size: clamp(23px, 3vw, 38px); line-height: 1.3; max-width: 900px; }
.grid-3 { margin-top: 44px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); padding: 28px; }
.card p { color: var(--muted); }
.card .num { display: inline-block; font-size: 13px; color: var(--accent); font-weight: 800; margin-bottom: 42px; }
.services { margin-top: 42px; display: grid; gap: 12px; }
.service {
  display: grid; grid-template-columns: 76px 1fr 30px; gap: 24px; align-items: start;
  padding: 26px 0; border-top: 1px solid var(--line);
}
.service:last-child { border-bottom: 1px solid var(--line); }
.service .index { color: var(--muted); font-variant-numeric: tabular-nums; }
.service p { margin: 8px 0 0; color: var(--muted); max-width: 800px; }
.service .arrow { font-size: 23px; color: var(--accent); }
.project-feature { margin-top: 48px; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.project-main { background: var(--ink); color: white; border-radius: 28px; padding: 40px; min-height: 470px; display: flex; flex-direction: column; justify-content: space-between; }
.project-main p { color: #d7d7d7; max-width: 680px; }
.project-main .tag { color: #b9bcff; }
.project-side { display: grid; gap: 20px; }
.project-mini { background: var(--paper); border: 1px solid var(--line); border-radius: 24px; padding: 28px; min-height: 225px; display: flex; flex-direction: column; justify-content: space-between; }
.status { display: inline-flex; width: fit-content; border-radius: 999px; padding: 6px 10px; background: var(--accent-soft); color: var(--accent); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.timeline { margin-top: 42px; }
.timeline-item { display: grid; grid-template-columns: 140px 1fr; gap: 26px; padding: 22px 0; border-top: 1px solid var(--line); }
.timeline-item .year { font-weight: 800; color: var(--accent); }
.timeline-item p { margin: 6px 0 0; color: var(--muted); }
.journey-section{padding-top:30px}
.journey-intro{margin-bottom:34px}
.journey-path{position:relative;display:grid;gap:22px;max-width:980px;margin:0 auto;padding:18px 0 12px}
.journey-path:before{content:"";position:absolute;left:50%;top:10px;bottom:10px;width:6px;transform:translateX(-50%);border-radius:999px;background:linear-gradient(180deg,rgba(93,99,216,.12) 0%,rgba(93,99,216,.55) 16%,rgba(93,99,216,.18) 34%,rgba(93,99,216,.55) 52%,rgba(93,99,216,.18) 70%,rgba(93,99,216,.55) 100%);box-shadow:0 0 0 10px rgba(93,99,216,.05)}
.journey-node{position:relative;width:calc(50% - 44px);padding:20px 22px;border:1px solid var(--line);background:rgba(255,255,255,.9);border-radius:24px 8px 24px 8px;box-shadow:0 18px 42px rgba(18,18,18,.06)}
.journey-node:nth-child(odd){justify-self:start;border-radius:28px 8px 28px 8px}
.journey-node:nth-child(even){justify-self:end;border-radius:8px 28px 8px 28px}
.journey-node:before{content:"";position:absolute;top:50%;width:40px;height:22px;border:2px solid rgba(93,99,216,.28);border-top:none;transform:translateY(-50%)}
.journey-node:nth-child(odd):before{right:-41px;border-left:none;border-radius:0 0 22px 0}
.journey-node:nth-child(even):before{left:-41px;border-right:none;border-radius:0 0 0 22px}
.journey-node:after{content:"";position:absolute;top:50%;width:16px;height:16px;border-radius:50%;background:var(--accent);border:5px solid rgba(255,255,255,.98);box-shadow:0 0 0 5px rgba(93,99,216,.12);transform:translateY(-50%)}
.journey-node:nth-child(odd):after{right:-52px}
.journey-node:nth-child(even):after{left:-52px}
.journey-year{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border-radius:999px;background:rgba(93,99,216,.08);color:var(--accent);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.journey-node h3{margin:12px 0 0;font-size:clamp(24px,3vw,34px);line-height:1.08}
.quote-panel { background: var(--accent); color: white; border-radius: 30px; padding: 46px; }
.quote-panel p { font-size: clamp(27px, 4vw, 48px); line-height: 1.2; margin: 0; max-width: 980px; }
.cta { padding: 90px 0; }
.cta-box { background: var(--paper); border: 1px solid var(--line); border-radius: 32px; padding: 54px; display: grid; grid-template-columns: 1.25fr .75fr; gap: 60px; align-items: end; }
.cta-box p { color: var(--muted); font-size: 18px; }
.footer { border-top: 1px solid var(--line); padding: 34px 0 50px; }
.footer-row { display: flex; justify-content: space-between; gap: 30px; color: var(--muted); font-size: 14px; }
.page-hero { padding: 80px 0 54px; }
.page-hero h1 { font-size: clamp(52px, 7vw, 86px); max-width: 980px; }
.page-hero p { max-width: 850px; font-size: 21px; color: var(--muted); }
.prose { width: min(100% - 40px, 820px); margin: 0 auto; padding: 36px 0 90px; }
.prose h2 { margin: 68px 0 20px; font-size: clamp(32px, 4vw, 48px); }
.prose h3 { margin: 38px 0 12px; font-size: 28px; }
.prose p, .prose li { font-size: 19px; color: #36332f; }
.prose blockquote { margin: 40px 0; padding: 8px 0 8px 24px; border-left: 4px solid var(--accent); font-size: 27px; line-height: 1.3; }
.route-story-section{padding-top:28px}
.route-list{position:relative;max-width:1020px;margin:40px auto 0;display:grid;gap:22px;isolation:isolate}
.route-list:before{content:"";position:absolute;left:36px;top:0;bottom:0;width:120px;background:radial-gradient(circle at 40px 12%,rgba(93,99,216,.08),rgba(93,99,216,0) 64%);pointer-events:none;filter:blur(12px);opacity:.9}
.route-entry,.route-branch{display:grid;grid-template-columns:170px minmax(0,1fr);gap:36px;align-items:start;position:relative}
.route-marker{position:relative;min-height:100%;padding-top:12px;--route-x:74px;--route-node-top:48px}
.route-year{display:inline-flex;align-items:center;justify-content:center;min-width:76px;padding:8px 13px;border-radius:999px;background:linear-gradient(180deg,rgba(93,99,216,.12),rgba(93,99,216,.05));border:1px solid rgba(93,99,216,.16);color:var(--accent);font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 10px 26px rgba(93,99,216,.08), inset 0 1px 0 rgba(255,255,255,.8)}
.route-year-now{background:linear-gradient(180deg,rgba(26,21,17,.95),rgba(26,21,17,.84));color:#fff;border-color:rgba(26,21,17,.95);box-shadow:0 12px 28px rgba(26,21,17,.16)}
.route-stem{position:absolute;left:var(--route-x);top:0;bottom:-28px;width:8px;border-radius:999px;background:linear-gradient(180deg,rgba(93,99,216,.18) 0%,rgba(93,99,216,.85) 16%,rgba(112,118,233,.5) 42%,rgba(93,99,216,.82) 70%,rgba(93,99,216,.18) 100%);box-shadow:0 0 0 1px rgba(255,255,255,.55) inset,0 0 0 7px rgba(93,99,216,.08),0 22px 40px rgba(93,99,216,.12)}
.route-node{position:absolute;left:calc(var(--route-x) - 11px);top:var(--route-node-top);width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff 0 12%,#a4abff 13%,var(--accent) 55%,#2e2f8f 100%);border:6px solid rgba(255,255,255,.98);box-shadow:0 0 0 8px rgba(93,99,216,.12),0 18px 34px rgba(93,99,216,.28)}
.route-joint{position:absolute;left:calc(var(--route-x) + 10px);top:42px;width:74px;height:42px;border:4px solid rgba(93,99,216,.34);border-left:none;filter:drop-shadow(0 8px 14px rgba(93,99,216,.08))}
.curve-down .route-joint{border-top:none;border-radius:0 0 32px 0}
.curve-up .route-joint{top:18px;height:48px;border-bottom:none;border-radius:0 32px 0 0}
.route-copy{padding:10px 0 20px}
.route-copy h2{margin:0 0 18px;font-size:clamp(32px,4vw,48px)}
.route-copy p{font-size:19px;color:#36332f;margin:0 0 14px}
.route-copy p:last-child{margin-bottom:0}
.route-copy-card{background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.68));border:1px solid rgba(74,68,61,.1);border-radius:28px;padding:30px;box-shadow:0 18px 38px rgba(18,18,18,.05), inset 0 1px 0 rgba(255,255,255,.75);backdrop-filter:blur(4px)}
.route-copy-card h2{font-size:clamp(28px,3.4vw,42px)}
.route-project-link{margin-top:18px}
.route-project-link a{display:inline-flex;align-items:center;gap:8px;font-weight:850;color:var(--accent)}
.route-project-link a:hover{text-decoration:underline;text-underline-offset:3px}
.route-branch-content{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.route-marker-branch{min-height:100%;padding-top:12px}
.route-marker-branch .route-stem{bottom:-36px}
.route-marker-branch .route-node{top:62px}
.route-fork{position:absolute;left:calc(var(--route-x) + 10px);width:78px;border:4px solid rgba(93,99,216,.34);border-left:none;filter:drop-shadow(0 8px 14px rgba(93,99,216,.08))}
.route-marker-branch .fork-top{top:54px;height:34px;border-bottom:none;border-radius:0 30px 0 0}
.route-marker-branch .fork-bottom{top:72px;height:46px;border-top:none;border-radius:0 0 30px 0}
.branch-final .route-marker-branch .route-stem{bottom:30px}
.route-finale{margin-top:6px}
.route-marker-fade .route-stem{bottom:118px}
.route-tailfade{position:absolute;left:var(--route-x);top:78px;width:8px;height:196px;border-radius:999px;background:linear-gradient(180deg,rgba(93,99,216,.7) 0%,rgba(112,118,233,.28) 42%,rgba(112,118,233,.08) 72%,rgba(112,118,233,0) 100%);box-shadow:0 0 0 8px rgba(93,99,216,.04);filter:blur(.2px)}
.route-closing{max-width:780px;padding:32px 34px;background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.58));border:1px solid var(--line);border-radius:28px;box-shadow:0 18px 38px rgba(18,18,18,.05), inset 0 1px 0 rgba(255,255,255,.7)}
.route-closing h2{margin:0 0 16px;font-size:clamp(30px,4vw,44px)}
.route-closing p{margin:0;font-size:19px;color:#36332f}
/* timeline path that touches the cards */
.route-entry,.route-branch{overflow:visible}
.route-list .route-copy-card,.route-list .route-closing{position:relative;overflow:visible}
.route-list .route-copy-card{padding-left:34px}
.route-list .route-copy-card::after{content:"";position:absolute;left:-7px;width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 32% 32%,#fff 0 18%,#cad0ff 19%,var(--accent) 58%,#2e2f8f 100%);border:4px solid rgba(255,255,255,.96);box-shadow:0 0 0 6px rgba(93,99,216,.1),0 10px 22px rgba(93,99,216,.16)}
.curve-down .route-copy-card::before,.curve-up .route-copy-card::before{content:"";position:absolute;left:-86px;width:92px;border:4px solid rgba(93,99,216,.34);border-left:none;filter:drop-shadow(0 8px 14px rgba(93,99,216,.08))}
.curve-down .route-copy-card::before{top:42px;height:44px;border-top:none;border-radius:0 0 34px 0}
.curve-up .route-copy-card::before{top:16px;height:52px;border-bottom:none;border-radius:0 34px 0 0}
.curve-down .route-copy-card::after{top:64px}
.curve-up .route-copy-card::after{top:34px}
.route-branch-content>.route-copy-card::before{content:"";position:absolute;left:-88px;width:94px;border:4px solid rgba(93,99,216,.34);border-left:none;filter:drop-shadow(0 8px 14px rgba(93,99,216,.08))}
.route-branch-content>.route-copy-card:first-child::before{top:36px;height:38px;border-bottom:none;border-radius:0 34px 0 0}
.route-branch-content>.route-copy-card:last-child::before{top:34px;height:54px;border-top:none;border-radius:0 0 34px 0}
.route-branch-content>.route-copy-card:first-child::after{top:53px}
.route-branch-content>.route-copy-card:last-child::after{top:68px}
.route-list .route-copy-card h2,.route-list .route-closing h2{position:relative}
.route-entry:first-of-type .route-marker .route-stem{top:-64px}
.route-entry:first-of-type .route-marker .route-year{position:relative;z-index:2}
.route-list .route-copy-card:hover,.route-list .route-closing:hover{transform:translateY(-2px);transition:transform .25s ease,box-shadow .25s ease;box-shadow:0 24px 46px rgba(18,18,18,.07), inset 0 1px 0 rgba(255,255,255,.8)}

/* testimonials */
.testimonials-section{padding-top:30px}
.testimonial-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:34px}
.testimonial-card{padding:30px;border:1px solid var(--line);border-radius:30px 10px 30px 10px;background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.72));box-shadow:0 18px 38px rgba(18,18,18,.04), inset 0 1px 0 rgba(255,255,255,.8);min-height:280px;display:flex;flex-direction:column;justify-content:space-between}
.testimonial-slot{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:8px 12px;border-radius:999px;background:rgba(93,99,216,.08);border:1px solid rgba(93,99,216,.14);font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.testimonial-card blockquote{margin:22px 0 24px;font-family:Georgia,serif;font-size:clamp(25px,3vw,38px);line-height:1.15;color:#171515}
.testimonial-card p{margin:16px 0 0;color:#5b5650;font-size:17px;line-height:1.55}
.testimonial-author strong{display:block;font-size:19px;margin-bottom:6px}
.testimonial-author span{display:block;color:var(--muted);font-size:14px;line-height:1.45}
.testimonial-card.featured{background:linear-gradient(145deg,#101326,#171f42 55%,#0a2441);color:#fff;border-color:rgba(255,255,255,.08);box-shadow:0 26px 60px rgba(8,12,25,.26)}
.testimonial-card.featured blockquote,.testimonial-card.featured .testimonial-author strong{color:#fff}
.testimonial-card.featured .testimonial-author span,.testimonial-card.featured p{color:#d3d8e7}
.testimonial-card.placeholder{background:linear-gradient(180deg,#f4efe7,#efe8dc)}
.testimonial-card.placeholder h3{margin:20px 0 12px;font-size:clamp(28px,4vw,42px)}
.testimonial-note{margin-top:18px;padding:16px 18px;border-radius:18px;background:#fff8d2;border:1px solid #ead675;color:#5a4d17;font-size:13px;line-height:1.5}

.case-stats { margin: 44px 0; display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.stat { background: var(--paper); border: 1px solid var(--line); border-radius: 18px; padding: 20px; }
.stat strong { display: block; font-size: 30px; letter-spacing: -0.04em; }
.stat span { color: var(--muted); font-size: 13px; }
.gallery { width: min(100% - 40px, 1180px); margin: 20px auto 90px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.gallery figure { margin: 0; background: var(--paper); border: 1px solid var(--line); border-radius: 18px; overflow: hidden; }
.gallery figcaption { padding: 12px 14px 16px; color: var(--muted); font-size: 13px; }
.placeholder { background: repeating-linear-gradient(135deg, #ece6da 0 14px, #f7f3eb 14px 28px); border: 1px dashed #b8afa1; border-radius: 18px; min-height: 280px; display: grid; place-items: center; text-align: center; padding: 20px; color: #6d675f; }
.contact-form { display: grid; gap: 14px; }
.contact-form label { font-size: 14px; font-weight: 700; }
.contact-form input, .contact-form textarea { width: 100%; border: 1px solid var(--line); background: var(--paper); border-radius: 14px; padding: 13px 14px; }
.contact-form textarea { min-height: 150px; resize: vertical; }
@media (max-width: 860px) {
  .nav-links { display: none; position: absolute; top: 76px; left: 0; right: 0; background: var(--paper); padding: 22px; flex-direction: column; align-items: flex-start; border-bottom: 1px solid var(--line); }
  .nav-links.open { display: flex; }
  .menu-btn { display: block; }
  .hero-copy, .section-intro, .project-feature, .cta-box { grid-template-columns: 1fr; }
  .grid-3, .grid-2, .case-stats, .gallery { grid-template-columns: 1fr; }
  .service { grid-template-columns: 45px 1fr 22px; gap: 12px; }
  .timeline-item { grid-template-columns: 88px 1fr; }
  .journey-path:before{left:18px;transform:none;top:0;bottom:0}
  .journey-node,.journey-node:nth-child(odd),.journey-node:nth-child(even){width:calc(100% - 42px);justify-self:end}
  .journey-node:before,.journey-node:nth-child(odd):before,.journey-node:nth-child(even):before{left:-29px;right:auto;width:28px;height:20px;border-right:none;border-radius:0 0 0 18px}
  .journey-node:after,.journey-node:nth-child(odd):after,.journey-node:nth-child(even):after{left:-38px;right:auto}
  .route-entry,.route-branch{grid-template-columns:112px minmax(0,1fr);gap:24px}
  .route-marker{--route-x:44px;--route-node-top:48px}
  .route-list:before{left:4px;width:94px}
  .route-joint,.route-fork{left:54px;width:42px}
  .route-marker-branch .fork-top{top:54px;height:26px}
  .route-marker-branch .fork-bottom{top:72px;height:34px}
  .route-branch-content{grid-template-columns:1fr}
  .route-marker-fade .route-stem{bottom:96px}
  .route-tailfade{left:44px;height:160px}
  .hero { padding-top: 70px; }
  .section { padding: 66px 0; }
}

/* Homepage v2 — irregolarita controllata */
.hero-worktable { padding: 86px 0 72px; overflow: hidden; }
.hero-grid { display: grid; grid-template-columns: minmax(0,1.18fr) minmax(390px,.82fr); gap: 54px; align-items: center; }
.hero-text h1 { font-size: clamp(51px, 6.8vw, 90px); }
.hero-lead { max-width: 760px; font-size: clamp(19px, 2vw, 26px); margin: 28px 0 0; }
.scope-line { margin: 28px 0 0; padding-top: 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; line-height: 1.7; }
.worktable { position: relative; min-height: 600px; border-radius: 36px 8px 36px 8px; background: #d7c2a6; box-shadow: inset 0 0 0 1px rgba(23,23,23,.14), 0 28px 70px rgba(54,42,27,.12); overflow: hidden; transform: rotate(.6deg); }
.worktable::before { content:""; position:absolute; inset:0; opacity:.36; background: repeating-linear-gradient(92deg, transparent 0 39px, rgba(68,46,25,.08) 40px 41px); }
.table-paper { position: absolute; z-index: 2; background: #fffef7; border: 1px solid rgba(23,23,23,.14); box-shadow: 0 10px 24px rgba(31,24,16,.13); }
.paper-main { width: 66%; left: 9%; top: 9%; padding: 24px; transform: rotate(-3deg); }
.paper-main strong { display:block; font-family: Georgia, serif; font-size: 30px; line-height:1.05; margin-top:20px; }
.paper-label { color:var(--accent); font-weight:800; text-transform:uppercase; letter-spacing:.12em; font-size:11px; }
.scribble { display:block; margin-top:34px; font-family: "Comic Sans MS", cursive; font-size:14px; transform:rotate(-1deg); }
.paper-small { padding: 12px 15px; font-family: "Comic Sans MS", cursive; font-size:14px; }
.paper-a { right: 5%; top: 16%; transform: rotate(5deg); }
.paper-b { right: 4%; top: 43%; transform: rotate(-4deg); }
.paper-c { left: 8%; bottom: 16%; transform: rotate(3deg); }
.paper-d { right: 8%; bottom: 8%; transform: rotate(-2deg); }
.table-object { position:absolute; z-index:1; border:1px solid rgba(23,23,23,.55); border-radius:50%; display:grid; place-items:center; font-size:10px; font-weight:900; letter-spacing:.12em; background:rgba(255,255,255,.36); }
.object-media { width:82px;height:82px;left:8%;top:43%; }
.object-ai { width:64px;height:64px;left:38%;bottom:10%; background:var(--accent-soft); }
.object-game { width:92px;height:58px;right:8%;top:30%;border-radius:12px;transform:rotate(7deg); }
.object-data { width:76px;height:76px;right:29%;bottom:24%; }
.connector { position:absolute; height:2px; background:var(--accent); transform-origin:left center; z-index:1; }
.connector-1 { width:180px; left:28%; top:48%; transform:rotate(22deg); }
.connector-2 { width:150px; left:50%; bottom:28%; transform:rotate(-27deg); }
.portrait-placeholder { position:absolute; z-index:3; right:16%; bottom:14%; width:150px; height:185px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:white; background:var(--ink); border-radius:45% 45% 18px 18px; transform:rotate(2deg); }
.portrait-placeholder span { font-size:28px; font-weight:900; letter-spacing:.16em; }
.portrait-placeholder small { max-width:100px; opacity:.7; margin-top:8px; }

.hero-portrait-table { background: linear-gradient(160deg, #d9c5aa 0%, #d1b999 100%); }
.hero-portrait-table .paper-main { width: 44%; left: 7%; top: 8%; padding: 22px; z-index: 2; }
.hero-portrait-table .paper-main strong { font-size: 28px; }
.hero-portrait-table .paper-a { right: 7%; top: 10%; }
.hero-portrait-table .paper-b { left: 9%; top: 56%; right: auto; }
.hero-portrait-table .paper-c { left: 33%; bottom: 8%; }
.hero-portrait-table .paper-d { right: 10%; bottom: 12%; }
.hero-portrait-table .connector-1 { left: 23%; top: 47%; width: 165px; }
.hero-portrait-table .connector-2 { left: 43%; bottom: 26%; width: 145px; }
.hero-portrait-table .table-object.object-media { right: 32%; top: 37%; }
.hero-portrait-table .table-object.object-ai { left: 16%; top: 38%; }
.hero-portrait-table .table-object.object-game { right: 18%; bottom: 25%; }
.hero-portrait-table .table-object.object-data { left: 24%; bottom: 22%; }
.hero-main-photo, .hero-portrait-table .portrait-placeholder { position: absolute; z-index: 3; right: 6%; bottom: 6%; width: 62%; height: 80%; display: block; border-radius: 34px 10px 34px 10px; transform: rotate(-2deg); background: #111; overflow: hidden; box-shadow: 0 28px 60px rgba(0,0,0,.18); }
.hero-portrait-table .portrait-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 22%; }
.hero-portrait-table .portrait-placeholder span, .hero-portrait-table .portrait-placeholder small { display:none; }

@media (max-width: 900px) {
  .hero-portrait-table { min-height: 470px; }
  .hero-portrait-table .paper-main { width: 50%; left: 5%; top: 8%; padding: 18px; }
  .hero-portrait-table .paper-main strong { font-size: 24px; }
  .hero-portrait-table .paper-a { right: 7%; top: 10%; }
  .hero-portrait-table .paper-b { left: 6%; top: 58%; }
  .hero-portrait-table .paper-c { left: 34%; bottom: 10%; }
  .hero-portrait-table .paper-d { display: none; }
  .hero-portrait-table .connector-1 { left: 21%; top: 49%; width: 145px; }
  .hero-portrait-table .connector-2 { left: 44%; bottom: 29%; width: 120px; }
  .hero-portrait-table .portrait-placeholder { width: 56%; height: 74%; right: 7%; bottom: 9%; }
}

@media (max-width: 620px) {
  .hero-portrait-table { min-height: 390px; }
  .hero-portrait-table .paper-main { width: 56%; padding: 16px; }
  .hero-portrait-table .paper-main strong { font-size: 21px; margin-top: 14px; }
  .hero-portrait-table .paper-a { right: 6%; top: 12%; }
  .hero-portrait-table .paper-b { top: 62%; left: 4%; }
  .hero-portrait-table .paper-c { left: 36%; bottom: 12%; }
  .hero-portrait-table .paper-b, .hero-portrait-table .paper-c { font-size: 13px; max-width: 138px; }
  .hero-portrait-table .table-object.object-media { right: 29%; top: 40%; }
  .hero-portrait-table .table-object.object-ai { left: 11%; top: 39%; }
  .hero-portrait-table .table-object.object-game { right: 16%; bottom: 24%; }
  .hero-portrait-table .table-object.object-data { left: 18%; bottom: 24%; }
  .hero-portrait-table .connector-1, .hero-portrait-table .connector-2 { display: none; }
  .hero-portrait-table .portrait-placeholder { width: 58%; height: 72%; right: 5%; bottom: 9%; }
  .hero-portrait-table .portrait-photo img { object-position: center 18%; }
}
.hero-note { display:inline-block; margin: 0 0 14px; padding: 10px 14px; background:#fff2a6; border:1px solid #e0c851; border-radius:8px 18px 8px 18px; font-family:"Comic Sans MS", cursive; font-size:15px; color:#463d0f; transform:rotate(-1.3deg); box-shadow:0 10px 26px rgba(0,0,0,.08); }
.hero-sublead { max-width: 700px; margin: 10px 0 0; color: var(--muted); font-size: 18px; }
.paper-note { left: 10%; bottom: 10%; width: 220px; background:#fff2a6; border:1px solid #e0c851; font-family:"Comic Sans MS", cursive; font-size:15px; line-height:1.25; transform: rotate(-4deg); z-index:4; }

.compact-top { padding-top:58px; }
.statement-split { display:grid; grid-template-columns:1.35fr .65fr; gap:64px; align-items:end; }
.statement-big { font-family:Georgia, serif; font-size:clamp(28px,4vw,54px); line-height:1.18; margin:0; }
.margin-note { font-family:"Comic Sans MS", cursive; font-size:17px; transform:rotate(-2deg); padding:20px 0 12px 32px; border-left:3px solid var(--accent); }
.mind-composition { margin-top:54px; display:grid; grid-template-columns:1.1fr .9fr; grid-template-areas:"worlds missing" "worlds self"; gap:20px; }
.mind-block { position:relative; border:1px solid var(--line); padding:34px; background:var(--paper); overflow:hidden; }
.mind-block .num { color:var(--accent); font-size:12px; font-weight:900; letter-spacing:.12em; }
.mind-block p { color:var(--muted); max-width:650px; }
.mind-worlds { grid-area:worlds; min-height:520px; border-radius:36px 8px 36px 8px; display:flex; flex-direction:column; justify-content:flex-end; background:linear-gradient(145deg,var(--paper),#eee7dc); }
.mind-missing { grid-area:missing; min-height:250px; border-radius:8px 34px 8px 34px; }
.mind-self { grid-area:self; min-height:250px; border-radius:34px 8px 34px 8px; }
.word-cloud { position:absolute; inset:45px 30px auto 30px; height:230px; }
.word-cloud span { position:absolute; border:1px solid var(--ink); border-radius:50%; padding:14px 18px; background:var(--bg); }
.word-cloud span:nth-child(1){left:4%;top:10%;}.word-cloud span:nth-child(2){right:8%;top:4%;}.word-cloud span:nth-child(3){left:36%;top:42%;background:var(--accent-soft);}.word-cloud span:nth-child(4){right:2%;bottom:6%;}.word-cloud span:nth-child(5){left:2%;bottom:0%;}
.empty-seat { margin-top:28px; height:82px; border:2px dashed var(--accent); border-radius:16px; display:grid; place-items:center; color:var(--accent); font-family:"Comic Sans MS",cursive; transform:rotate(-1deg); }
.project-chips { display:flex; gap:8px; flex-wrap:wrap; margin-top:22px; }
.project-chips span { border-bottom:2px solid var(--accent); padding:3px 0; font-size:13px; font-weight:800; }
.hand-note { width:fit-content; margin:34px 3% 0 auto; font-family:"Comic Sans MS",cursive; font-size:18px; transform:rotate(1deg); background:#fff3a8; padding:10px 16px; box-shadow:3px 5px 0 rgba(23,23,23,.14); }
.inverse-section { background:var(--ink); color:white; border-top:0; }
.light-intro p,.light-intro .kicker { color:#d4d0ca; }
.can-do-list { margin-top:54px; border-top:1px solid #484848; }
.can-do-list div { display:grid; grid-template-columns:60px 1fr; gap:22px; padding:21px 0; border-bottom:1px solid #484848; font-size:clamp(20px,2.4vw,31px); line-height:1.2; }
.can-do-list span { color:#aeb1ff; font-size:12px; padding-top:7px; }
.inverse-quote { margin:48px 0 0 auto; max-width:650px; color:#b9bcff; font-family:Georgia,serif; font-size:clamp(27px,4vw,50px); line-height:1.15; }
.services-editorial .service { transition:padding .2s ease, background .2s ease; }
.services-editorial .service:hover { padding-left:18px; padding-right:18px; background:rgba(255,255,255,.35); }
.service em { display:block; margin-top:12px; color:var(--ink); font-family:Georgia,serif; font-size:16px; }
.no-always { background:#dfddff; }
.not-always-grid { margin-top:26px; display:grid; grid-template-columns:1fr 1fr; gap:60px; }
.not-always-grid h2 { max-width:650px; }
.not-always-grid p { font-size:clamp(19px,2vw,26px); margin:0 0 13px; text-decoration:line-through; text-decoration-thickness:1px; text-decoration-color:rgba(23,23,23,.35); }
.not-always-grid strong { display:block; margin-top:28px; font-size:clamp(22px,2.5vw,34px); }
.project-mosaic { margin-top:50px; display:grid; grid-template-columns:1.25fr .75fr; grid-template-areas:"web advisor" "web context" "lab lab"; gap:18px; }
.project-mosaic article { padding:34px; border:1px solid var(--line); }
.case-webboh { grid-area:web; min-height:650px; background:var(--ink); color:white; border-radius:8px 38px 8px 38px; display:flex; flex-direction:column; justify-content:space-between; }
.case-webboh p { color:#d2d2d2; font-size:18px; max-width:700px; }
.case-top { display:flex; align-items:center; justify-content:space-between; }
.case-advisor { grid-area:advisor; background:var(--paper); border-radius:34px 8px 34px 8px; }
.case-context { grid-area:context; background:#eee0cc; border-radius:8px 34px 8px 34px; }
.case-lab { grid-area:lab; display:grid; grid-template-columns:.35fr .75fr 1.3fr auto; gap:26px; align-items:center; border-radius:22px; background:var(--paper); }
.case-mosaic strong,.case-advisor strong,.case-context strong { display:block; margin-top:25px; font-family:Georgia,serif; font-size:21px; line-height:1.3; }
.case-facts { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0; }
.case-facts span { border:1px solid #666; padding:7px 10px; border-radius:999px; font-size:12px; }
.text-link { display:inline-block; margin-top:18px; font-weight:800; color:var(--accent); }
.case-webboh .text-link { color:#c2c4ff; }
.quote-break { background:var(--accent); color:white; }
.quote-layout { display:grid; grid-template-columns:1.15fr .85fr; gap:70px; align-items:end; }
.quote-layout p { margin:0; font-family:Georgia,serif; font-size:clamp(42px,6vw,76px); line-height:1.05; }
.quote-layout div { font-size:20px; line-height:1.5; }
.learning-path { margin-top:50px; }
.learning-path a { display:grid; grid-template-columns:180px 1.2fr 1fr; gap:28px; align-items:baseline; padding:23px 0; border-top:1px solid var(--line); }
.learning-path a:last-child { border-bottom:1px solid var(--line); }
.learning-path span { color:var(--accent); font-weight:900; }
.learning-path strong { font-size:clamp(21px,2.3vw,30px); }
.learning-path small { color:var(--muted); font-size:14px; }
.outcomes-section { background:#efe7da; }
.outcomes-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:70px; }
.outcomes-list { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.outcomes-list span { min-height:116px; padding:20px; display:flex; align-items:flex-end; border:1px solid var(--line); background:var(--paper); font-family:Georgia,serif; font-size:21px; }
.outcomes-list span:nth-child(2),.outcomes-list span:nth-child(5){transform:rotate(1deg)}
.outcomes-list span:nth-child(3){transform:rotate(-1deg)}
.start-section { border-top:0; padding:110px 0; }
.start-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.start-grid p { font-size:21px; color:var(--muted); }

@media (max-width: 960px) {
  .hero-grid,.statement-split,.not-always-grid,.quote-layout,.outcomes-grid,.start-grid { grid-template-columns:1fr; }
  .worktable { min-height:520px; max-width:650px; width:100%; margin:10px auto 0; }
  .mind-composition { grid-template-columns:1fr; grid-template-areas:"worlds" "missing" "self"; }
  .mind-worlds { min-height:430px; }
  .project-mosaic { grid-template-columns:1fr; grid-template-areas:"web" "advisor" "context" "lab"; }
  .case-lab { grid-template-columns:1fr; }
  .learning-path a { grid-template-columns:130px 1fr; }
  .learning-path small { grid-column:2; }
}
@media (max-width: 620px) {
  .hero-worktable { padding-top:58px; }
  .hero-text h1 { font-size:clamp(45px,14vw,66px); }
  .worktable { min-height:450px; border-radius:24px 6px 24px 6px; }
  .paper-main { width:78%; }
  .paper-main strong { font-size:24px; }
  .paper-a { top:30%; }.paper-b { top:48%; right:2%; }.paper-c { bottom:8%; }.paper-d { display:none; }
  .portrait-placeholder { width:105px;height:135px;right:15%;bottom:17%; }
  .paper-note { width: 160px; left: 8%; bottom: 11%; font-size: 13px; }
  .hero-sublead { font-size: 16px; }
  .hero-note { font-size: 13px; }
  .table-object { transform:scale(.8); }
  .statement-big { font-size:34px; }
  .mind-block { padding:25px; }
  .word-cloud { position:relative; inset:auto; height:180px; margin-bottom:20px; }
  .can-do-list div { grid-template-columns:38px 1fr; }
  .project-mosaic article { padding:25px; }
  .case-webboh { min-height:520px; }
  .learning-path a { grid-template-columns:1fr; gap:7px; }
  .learning-path small { grid-column:auto; }
  .outcomes-list { grid-template-columns:1fr; }
  .quote-layout { gap:30px; }
}

/* Evoluzione del sito personale */
.site-evolution-section{margin:88px auto;padding:48px;border:1px solid var(--line);background:var(--paper);border-radius:38px 8px 38px 8px;max-width:1180px}
.site-evolution-copy{max-width:850px}.site-evolution-copy h2{margin:12px 0 22px}.site-evolution-copy p{font-size:18px;color:var(--muted)}
.site-evolution-copy blockquote{margin:30px 0 0;padding:18px 0 18px 24px;border-left:3px solid var(--accent);font-family:Georgia,serif;font-size:27px}
.site-evolution-visuals{display:grid;grid-template-columns:1fr 90px 1fr;gap:22px;align-items:center;margin-top:46px}
.site-era{margin:0}.site-era figcaption{margin-top:12px;color:var(--muted);font-size:14px}
.browser-bar{height:34px;border:1px solid #c9c2b8;border-bottom:0;background:#e9e5dd;border-radius:14px 14px 0 0;display:flex;align-items:center;gap:6px;padding:0 12px}.browser-bar span{width:8px;height:8px;border-radius:50%;background:#aaa39a}.browser-bar small{margin-left:8px;color:#77716a}
.old-site-preview,.new-site-preview{height:310px;border:1px solid #c9c2b8;background:white;padding:28px;overflow:hidden}.old-site-preview img{width:150px;margin:0 auto 8px}.old-tagline{text-align:center;font-family:Georgia,serif;color:#555}.old-site-preview nav{margin:22px -28px 18px;padding:12px 18px;border-top:1px solid #ddd;border-bottom:1px solid #ddd;text-align:center;font-size:10px}.old-post{padding:13px 0;border-bottom:1px solid #eee}.old-post strong,.old-post span{display:block}.old-post strong{font-family:Georgia,serif;font-size:20px}.old-post span{font-size:12px;color:#777;margin-top:4px}
.new-site-preview{background:var(--bg);display:flex;flex-direction:column;justify-content:center;position:relative}.new-site-preview strong{font-family:Georgia,serif;font-size:42px;line-height:1.02;max-width:390px}.new-site-preview p{font-size:20px;max-width:350px}.preview-notes{display:flex;gap:7px;flex-wrap:wrap}.preview-notes i{font-family:"Comic Sans MS",cursive;font-style:normal;background:#fff3a8;padding:6px 9px;transform:rotate(-2deg);font-size:12px}.preview-notes i:nth-child(2){transform:rotate(2deg);background:var(--accent-soft)}
.evolution-arrow{text-align:center;font-size:42px;color:var(--accent)}.evolution-arrow span{display:block;font-family:"Comic Sans MS",cursive;font-size:12px;color:var(--ink);transform:rotate(-4deg)}
.site-evolution-close{margin:42px 0 0;text-align:right;font-family:Georgia,serif;font-size:34px}
@media(max-width:800px){.site-evolution-section{padding:28px;margin:55px 20px}.site-evolution-visuals{grid-template-columns:1fr}.evolution-arrow{transform:rotate(90deg);margin:4px 0}.evolution-arrow span{display:none}.site-evolution-close{text-align:left}.old-site-preview,.new-site-preview{height:280px}}

/* Progetti v4: racconto, link e spazi fotografici */
.project-ledger{display:grid;gap:22px}.project-row{display:grid;grid-template-columns:1.15fr .85fr;gap:30px;align-items:stretch;padding:34px;border:1px solid var(--line);background:var(--paper);border-radius:8px 34px 8px 34px}.project-row:nth-child(even){border-radius:34px 8px 34px 8px}.project-row-featured{background:var(--ink);color:#fff}.project-row-featured p{color:#d1d1d1}.project-copy h2{margin:18px 0 14px;font-size:clamp(34px,5vw,62px)}.project-copy p{max-width:760px}.project-copy blockquote{margin:24px 0;padding-left:20px;border-left:3px solid var(--accent);font-family:Georgia,serif;font-size:22px}.project-copy>a,.project-links a{display:inline-block;margin-top:18px;margin-right:20px;font-weight:850;color:var(--accent)}.project-row-featured a{color:#c3c6ff}.project-visual-text{min-height:300px;padding:34px;display:flex;flex-direction:column;justify-content:flex-end;background:var(--accent);border-radius:30px 7px 30px 7px}.project-visual-text strong{font-family:Georgia,serif;font-size:clamp(40px,6vw,70px);line-height:.98}.project-visual-text small{margin-top:18px;font-size:16px}.photo-slot{min-height:330px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border:2px dashed var(--accent);background:var(--accent-soft);border-radius:30px 7px 30px 7px}.photo-slot span{font-family:Georgia,serif;font-size:30px}.photo-slot small{max-width:220px;margin-top:9px;color:var(--muted)}.muted-slot{background:#eee7dc;border-color:#b7aea0}.music-slot{background:var(--ink);color:white;border-color:#7e81db}.music-slot span{font-family:Arial,sans-serif;font-weight:950;letter-spacing:.25em;font-size:48px}.music-slot small{color:#c9c9c9}.clash-feature{display:grid;grid-template-columns:.72fr 1.28fr;gap:38px;padding:40px;border:1px solid var(--line);background:linear-gradient(135deg,#101326,#171f42 55%,#0a2441);color:white;border-radius:38px 8px 38px 8px;box-shadow:0 24px 60px rgba(5,12,30,.22)}.clash-copy{align-self:center}.clash-copy h2{font-size:clamp(44px,6vw,80px);line-height:.95;margin:22px 0}.clash-copy p{color:#ddd;line-height:1.6}.clash-facts{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px}.clash-facts span{padding:8px 12px;border:1px solid #6d7189;border-radius:999px;font-size:12px;background:rgba(255,255,255,.04)}.clash-gallery{display:grid;grid-template-columns:1fr 1fr;gap:16px}.clash-gallery figure{margin:0;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));padding:12px;border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 38px rgba(0,0,0,.18)}.clash-gallery img{width:100%;height:260px;object-fit:cover;border-radius:14px;display:block;background:#0d1230}.clash-gallery figcaption{padding:11px 5px 3px;font-size:12px;line-height:1.45;color:#d5d8e5}.clash-gallery .clash-tall{grid-row:span 2}.clash-gallery .clash-tall img{height:570px;object-fit:cover}.compact-project{grid-template-columns:1fr}.compact-project .project-copy{max-width:900px}
@media(max-width:900px){.project-row,.clash-feature{grid-template-columns:1fr}.photo-slot{min-height:250px}.clash-gallery .clash-tall img{height:460px}}
@media(max-width:620px){.project-row,.clash-feature{padding:25px}.clash-gallery{grid-template-columns:1fr}.clash-gallery .clash-tall{grid-row:auto}.clash-gallery img,.clash-gallery .clash-tall img{height:auto;max-height:560px}.project-copy h2{font-size:42px}}

.project-photo{margin:0;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;border-radius:30px 7px 30px 7px;background:#0b1127;border:1px solid rgba(126,129,219,.35);box-shadow:0 22px 48px rgba(8,10,28,.16);min-height:330px}.project-photo img{width:100%;height:100%;min-height:330px;object-fit:cover;display:block}.project-photo figcaption{padding:14px 16px 16px;color:#cfd5e8;font-size:12px;line-height:1.45;background:linear-gradient(180deg,rgba(10,17,39,0),rgba(10,17,39,.88))}.solr-visual{position:relative}.solr-visual::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,227,255,.08),rgba(255,255,255,0) 40%,rgba(5,8,24,.08)),linear-gradient(180deg,rgba(5,8,24,.02),rgba(5,8,24,0) 45%,rgba(5,8,24,.45));pointer-events:none}.solr-visual::after{content:"SOLR";position:absolute;left:22px;bottom:58px;font-weight:900;letter-spacing:.22em;font-size:32px;color:#eaf6ff;text-shadow:0 10px 28px rgba(0,0,0,.45),0 0 24px rgba(89,223,255,.18)}@media(max-width:900px){.project-photo,.project-photo img{min-height:260px}}

.project-video{position:relative;min-height:330px;overflow:hidden;border-radius:30px 7px 30px 7px;background:#090b15;box-shadow:0 22px 48px rgba(8,10,28,.16)}.project-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.project-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px}.project-links a{font-weight:850;color:var(--accent)}@media(max-width:900px){.project-video{min-height:300px}}@media(max-width:620px){.project-video{min-height:220px}}

.mobile-showcase{background:#05070f;border-color:rgba(255,255,255,.06)}
.mobile-showcase img{background:#05070f;object-fit:cover;object-position:center top}

/* Interactive method game */
.project-game-section{padding:82px 0;background:#0e1225;color:#fff;overflow:hidden;position:relative}.project-game-section:before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(92,98,255,.25),rgba(92,98,255,0) 68%);right:-130px;top:-170px;pointer-events:none}.project-game-section:after{content:"";position:absolute;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(255,62,143,.16),rgba(255,62,143,0) 70%);left:-150px;bottom:-210px;pointer-events:none}.game-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:end;margin-bottom:24px;position:relative;z-index:1}.game-heading h2{font-size:clamp(46px,6.7vw,86px);line-height:.92;margin:8px 0 0;letter-spacing:-.05em}.game-heading p{color:#c6cadb;font-size:17px;line-height:1.5;max-width:470px}.project-game{position:relative;z-index:1;background:linear-gradient(145deg,#181e38,#11162c);border:1px solid rgba(255,255,255,.12);border-radius:42px 10px 42px 10px;min-height:560px;padding:24px 28px 30px;box-shadow:0 30px 80px rgba(0,0,0,.35)}.game-progress{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:24px}.game-progress span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#747b97;border-top:2px solid #353b55;padding-top:9px;transition:.25s ease}.game-progress span.active{color:#fff;border-color:#7f83ff}.game-screen{display:none;animation:gameIn .35s ease}.game-screen.active{display:block}@keyframes gameIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.game-scenario{max-width:none;padding:26px 0 24px}.game-label{display:inline-block;font-size:12px;font-weight:850;letter-spacing:.13em;text-transform:uppercase;color:#aeb4ff;margin-bottom:14px}.game-scenario h3,.game-step-copy h3,.game-result-header h3{font-size:clamp(30px,4.2vw,56px);line-height:1.03;letter-spacing:-.03em;margin:0 0 16px;max-width:1120px}.game-scenario p,.game-step-copy p{color:#c8ccda;font-size:17px;line-height:1.55;max-width:940px}.scenario-facts{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}.scenario-facts span,.game-selection-note{padding:9px 13px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#d8dbea;font-size:12px}.game-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 20px;border-radius:999px;border:0;font-weight:850;font-size:14px;cursor:pointer;text-decoration:none;transition:.2s ease}.game-button.primary{background:#f1f0e9;color:#11152b}.game-button.primary:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(0,0,0,.2)}.game-button.primary:disabled{opacity:.28;cursor:not-allowed;transform:none;box-shadow:none}.game-button.ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.25)}.game-step-copy{max-width:none;margin-bottom:24px}.game-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.game-card,.game-choice-list button,.people-wheel button{appearance:none;text-align:left;color:#fff;background:#202742;border:1px solid rgba(255,255,255,.12);border-radius:20px 5px 20px 5px;padding:23px;cursor:pointer;transition:.2s ease}.game-card:hover,.game-choice-list button:hover,.people-wheel button:hover{transform:translateY(-3px);background:#272f50;border-color:rgba(255,255,255,.3)}.game-card.selected,.game-choice-list button.selected,.people-wheel button.selected{background:#f1f0e9;color:#11152b;border-color:#f1f0e9;box-shadow:0 15px 30px rgba(0,0,0,.2)}.game-card strong,.game-choice-list strong,.people-wheel strong{display:block;font-size:18px;line-height:1.2;margin-bottom:8px}.game-card small,.game-choice-list small,.people-wheel small{display:block;color:#aeb4c9;line-height:1.4}.game-card.selected small,.game-choice-list button.selected small,.people-wheel button.selected small{color:#5d6273}.game-selection-note{display:inline-block;margin:0 14px 24px 0}.game-interruption{padding:20px 24px;margin-bottom:30px;background:#fff2a6;color:#322c0c;border-radius:7px 24px 7px 24px;transform:rotate(-.3deg);max-width:850px}.game-interruption span{font-family:"Comic Sans MS",cursive;font-size:14px}.game-interruption h3{font-size:clamp(25px,3.3vw,42px);line-height:1.05;margin:8px 0 0}.game-choice-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px}.game-choice-list button{width:100%}.game-insight{margin:22px 0;padding:22px 24px;border-left:4px solid #7f83ff;background:rgba(127,131,255,.09);color:#e6e8f3;font-size:17px;line-height:1.55}.people-wheel{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:26px 0}.people-wheel button{text-align:center;padding:22px 14px}.people-wheel button>span{display:flex;width:48px;height:48px;border-radius:50%;align-items:center;justify-content:center;margin:0 auto 14px;background:#10152b;color:#fff;font-weight:900}.people-wheel button.selected>span{background:#7f83ff}.remove-list{grid-template-columns:repeat(3,1fr)}.game-result-header{margin:22px 0 30px}.direction-map{display:grid;grid-template-columns:repeat(5,1fr);gap:11px}.direction-map>div{min-height:150px;padding:19px;background:#202742;border:1px solid rgba(255,255,255,.1);border-radius:18px 5px 18px 5px}.direction-map span{display:block;color:#969db6;font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:20px}.direction-map strong{font-size:19px;line-height:1.25}.direction-map .direction-big{grid-column:1/-1;min-height:auto;background:linear-gradient(100deg,#767aff,#bf58b4);color:#fff}.direction-map .direction-big span{color:#efefff}.direction-map .direction-big strong{font-size:clamp(27px,4vw,46px)}.game-method-line{font-family:Georgia,serif;font-size:clamp(22px,3vw,34px);line-height:1.3;max-width:1000px;margin:34px 0;color:#f4f2ea}.game-final-actions{display:flex;gap:12px;flex-wrap:wrap}.project-game button:focus-visible,.project-game a:focus-visible{outline:3px solid #fff;outline-offset:4px}
@media(max-width:900px){.game-heading{grid-template-columns:1fr}.project-game{min-height:620px;padding:22px}.game-card-grid{grid-template-columns:1fr 1fr}.people-wheel{grid-template-columns:repeat(3,1fr)}.direction-map{grid-template-columns:1fr 1fr}.direction-map .direction-big{grid-column:1/-1}.game-progress span{font-size:9px}}
@media(max-width:620px){.project-game-section{padding:68px 0}.game-heading h2{font-size:48px}.project-game{padding:18px 16px 24px;border-radius:28px 7px 28px 7px;min-height:680px}.game-progress{grid-template-columns:repeat(3,1fr);row-gap:14px}.game-card-grid,.game-choice-list,.remove-list{grid-template-columns:1fr}.people-wheel{grid-template-columns:1fr 1fr}.direction-map{grid-template-columns:1fr}.direction-map .direction-big{grid-column:auto}.game-scenario{padding:18px 0}.game-scenario h3,.game-step-copy h3,.game-result-header h3{font-size:32px}.game-card,.game-choice-list button,.people-wheel button{padding:18px}.game-button{width:100%}.game-final-actions{flex-direction:column}}


/* WOW project media refresh */
.project-row{gap:38px;padding:38px 40px;align-items:center;overflow:hidden}
.project-row.project-row-featured{grid-template-columns:1fr 1fr}
.project-visual-text{display:none}
.project-photo,.project-video{position:relative;isolation:isolate}
.project-photo{min-height:380px;border-radius:36px 12px 36px 12px;border:1px solid rgba(255,255,255,.07);box-shadow:0 28px 70px rgba(5,8,24,.18);background:#0b1127}
.project-photo img{min-height:380px;transition:transform .55s ease;object-fit:cover}
.project-row:hover .project-photo img{transform:scale(1.03)}
.project-photo figcaption,.clash-gallery figcaption{display:none}
.project-photo::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.12), inset 0 -80px 120px rgba(5,8,24,.18)}
.webboh-showcase{background:linear-gradient(135deg,#121736,#1d1333 52%,#0d3456)}
.mobile-showcase{background:#05070f;border-color:rgba(255,255,255,.08)}
.mobile-showcase::before{content:"";position:absolute;inset:-10%;background:radial-gradient(circle at 20% 25%, rgba(255,90,95,.18), transparent 26%),radial-gradient(circle at 76% 18%, rgba(71,214,255,.18), transparent 28%),radial-gradient(circle at 68% 78%, rgba(130,255,198,.14), transparent 30%);filter:blur(18px);pointer-events:none}
.noguruh-showcase{background:linear-gradient(135deg,#090d18,#12172b 54%,#062235)}
.solr-visual{background:#04070f}
.solr-visual::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,227,255,.12),rgba(255,255,255,0) 40%,rgba(5,8,24,.08)),linear-gradient(180deg,rgba(5,8,24,.02),rgba(5,8,24,0) 45%,rgba(5,8,24,.45));pointer-events:none}
.solr-visual::after{content:"";position:absolute;inset:auto 20px 20px 20px;height:120px;background:linear-gradient(180deg,rgba(4,7,15,0),rgba(4,7,15,.78));pointer-events:none;border-radius:0 0 20px 20px}
.project-video{min-height:380px;border-radius:36px 12px 36px 12px;background:#05070f;border:1px solid rgba(255,255,255,.08);box-shadow:0 28px 70px rgba(5,8,24,.18);overflow:hidden}
.project-video::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0)), radial-gradient(circle at 80% 18%, rgba(84,114,255,.18), transparent 22%);pointer-events:none;z-index:1}
.project-video::after{content:"▶";position:absolute;left:24px;bottom:22px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);backdrop-filter:blur(8px);color:white;font-size:22px;box-shadow:0 12px 28px rgba(0,0,0,.28);pointer-events:none;z-index:2}
.project-video iframe{filter:saturate(1.05) contrast(1.03)}
.clash-feature{gap:44px;padding:44px;border-radius:42px 10px 42px 10px}
.clash-gallery{gap:18px}
.clash-gallery figure{padding:12px;border-radius:24px;box-shadow:0 22px 48px rgba(0,0,0,.22)}
.clash-gallery img{height:280px;border-radius:16px}
.clash-gallery .clash-tall img{height:586px}
@media(max-width:900px){
  .project-row,.project-row.project-row-featured,.clash-feature{grid-template-columns:1fr;gap:26px;padding:28px}
  .project-photo,.project-photo img,.project-video{min-height:300px}
  .clash-gallery .clash-tall img{height:460px}
}
@media(max-width:620px){
  .project-photo,.project-photo img,.project-video{min-height:240px}
  .project-row{padding:24px}
  .clash-gallery img,.clash-gallery .clash-tall img{height:auto;max-height:520px}
}


/* v12 fixes: project visuals */
.mobile-showcase{display:flex;align-items:center;justify-content:center;padding:18px;background:#04070f}
.mobile-showcase img{object-fit:contain !important;object-position:center center !important;box-sizing:border-box;padding:8px;min-height:auto !important;height:100%;width:100%;transform:none !important}
.mobile-showcase::after{box-shadow:inset 0 1px 0 rgba(255,255,255,.1), inset 0 -60px 100px rgba(5,8,24,.1)}

.solr-visual{display:flex;align-items:center;justify-content:center;background:#04070f}
.solr-visual img{object-fit:cover !important;object-position:center center !important;filter:contrast(1.05) saturate(1.06) brightness(1.03)}

.project-video-link{display:block;text-decoration:none}
.project-video-link img{width:100%;height:100%;min-height:380px;object-fit:cover;display:block;transition:transform .45s ease}
.project-row:hover .project-video-link img{transform:scale(1.025)}
.project-video-link::after{content:"Guarda su YouTube ↗";position:absolute;right:20px;bottom:20px;padding:12px 16px;border-radius:999px;background:rgba(255,255,255,.12);backdrop-filter:blur(10px);color:#fff;font-weight:800;letter-spacing:.01em;z-index:3;box-shadow:0 10px 28px rgba(0,0,0,.26)}
@media(max-width:900px){.project-video-link img{min-height:300px}}
@media(max-width:620px){.project-video-link img{min-height:220px}.project-video-link::after{right:14px;bottom:14px;padding:10px 14px;font-size:13px}}


/* v13 players and archive visuals */
.project-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:2}
.player-fallback{position:absolute;right:14px;bottom:14px;z-index:3;padding:9px 12px;border-radius:999px;background:rgba(0,0,0,.58);backdrop-filter:blur(8px);color:#fff;font-size:12px;font-weight:800;text-decoration:none}
.spotify-player{min-height:380px;display:flex;align-items:center;justify-content:center;padding:30px;border-radius:36px 12px 36px 12px;background:linear-gradient(135deg,#07110c,#102819 55%,#0d1411);border:1px solid rgba(29,185,84,.22);box-shadow:0 28px 70px rgba(5,8,24,.18);position:relative;overflow:hidden}
.spotify-player::before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 20% 20%,rgba(29,185,84,.24),transparent 28%),radial-gradient(circle at 80% 75%,rgba(56,95,255,.18),transparent 30%);filter:blur(20px)}
.spotify-player iframe{position:relative;z-index:1;max-width:560px;box-shadow:0 18px 48px rgba(0,0,0,.34)}
@media(max-width:900px){.spotify-player{min-height:330px;padding:22px}}
@media(max-width:620px){.spotify-player{min-height:260px;padding:16px}.spotify-player iframe{height:352px}}


/* NoGuruh page and reliable YouTube player */
.noguruh-real img{object-fit:cover;object-position:center center}
.youtube-smart-player{position:relative;min-height:380px;overflow:hidden;border-radius:30px 7px 30px 7px;background:#090b15;box-shadow:0 22px 48px rgba(8,10,28,.16)}
.youtube-smart-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.youtube-smart-poster{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:#090b15;cursor:pointer;overflow:hidden;color:white}
.youtube-smart-poster img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease,filter .45s ease}
.youtube-smart-poster::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,7,18,.08),rgba(4,7,18,.42))}
.youtube-smart-poster:hover img{transform:scale(1.025);filter:saturate(1.08) contrast(1.04)}
.youtube-smart-play{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-58%);width:78px;height:78px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.16);backdrop-filter:blur(12px);font-size:30px;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.youtube-smart-copy{position:absolute;z-index:2;left:50%;top:calc(50% + 58px);transform:translateX(-50%);font-weight:850;white-space:nowrap}
.youtube-smart-player .player-fallback{position:absolute;z-index:4;right:16px;bottom:14px;padding:9px 12px;border-radius:999px;background:rgba(0,0,0,.5);color:white;font-size:12px;font-weight:800}
.youtube-smart-player.is-playing .player-fallback{display:none}
.noguruh-hero{overflow:hidden}.noguruh-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.noguruh-hero-media{margin:0;border-radius:42px 10px 42px 10px;overflow:hidden;box-shadow:0 30px 80px rgba(5,8,24,.18)}.noguruh-hero-media img{width:100%;display:block}.noguruh-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:32px}.noguruh-steps article{padding:26px;border:1px solid var(--line);background:var(--paper);border-radius:8px 28px 8px 28px}.noguruh-steps article span{font-weight:900;color:var(--accent)}.noguruh-steps h3{font-size:24px;margin:18px 0 10px}.noguruh-steps p{color:var(--muted)}.noguruh-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:32px}.noguruh-metrics div{padding:26px;border:1px solid rgba(255,255,255,.13);border-radius:26px 8px 26px 8px;background:rgba(255,255,255,.04)}.noguruh-metrics strong{display:block;font-family:Georgia,serif;font-size:clamp(42px,6vw,72px);line-height:1;color:white}.noguruh-metrics span{display:block;margin-top:10px;color:#d5d8e5}.noguruh-case{display:grid;grid-template-columns:1fr .92fr;gap:46px;align-items:center}.noguruh-case-copy h2{font-size:clamp(40px,6vw,72px);line-height:1;margin:18px 0}.noguruh-case-copy p{font-size:18px;color:var(--muted)}.noguruh-case-media{margin:0;overflow:hidden;border-radius:38px 10px 38px 10px;box-shadow:0 30px 70px rgba(5,8,24,.16)}.noguruh-case-media img{width:100%;display:block}.noguruh-four{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:28px}.noguruh-four span{padding:14px 16px;background:var(--accent-soft);border-radius:8px 20px 8px 20px;font-weight:800}
@media(max-width:900px){.noguruh-hero-grid,.noguruh-case{grid-template-columns:1fr}.noguruh-steps,.noguruh-metrics{grid-template-columns:1fr 1fr}.youtube-smart-player{min-height:300px}}
@media(max-width:620px){.noguruh-steps,.noguruh-metrics,.noguruh-four{grid-template-columns:1fr}.youtube-smart-player{min-height:230px}.youtube-smart-play{width:62px;height:62px;font-size:24px}.youtube-smart-copy{top:calc(50% + 48px)}}


/* Presspot case study */
.presspot-hero{background:linear-gradient(135deg,#070709,#17100a 62%,#2d1a05);color:#fff}
.presspot-hero p{color:#d8d0c5}
.presspot-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
.presspot-logo-frame{margin:0;border-radius:38px 10px 38px 10px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.35);border:1px solid rgba(255,202,98,.16)}
.presspot-logo-frame img{width:100%;display:block}
.presspot-intro-block{margin-bottom:26px}
.presspot-format-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:46px;align-items:center}
.presspot-cover{margin:0;transform:rotate(-2deg);border-radius:26px;overflow:hidden;box-shadow:0 28px 60px rgba(0,0,0,.28)}
.presspot-cover img{width:100%;display:block}
.presspot-format-copy h2{font-size:clamp(38px,5vw,68px);line-height:.98;margin:0 0 24px}
.presspot-format-copy p{color:#d6d6d6;font-size:18px;line-height:1.65}
.presspot-format-copy blockquote{margin:28px 0 0;padding-left:22px;border-left:3px solid #e9a51d;font-family:Georgia,serif;font-size:24px;color:#fff}
.presspot-storyboard{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.presspot-storyboard figure{margin:0;overflow:hidden;border-radius:26px 8px 26px 8px;box-shadow:0 22px 48px rgba(12,9,5,.15);background:#15110f}
.presspot-storyboard figure:first-child{grid-column:span 2}
.presspot-storyboard img{width:100%;display:block;transition:transform .45s ease}
.presspot-storyboard figure:hover img{transform:scale(1.02)}
.presspot-facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.presspot-facts span{padding:10px 14px;border-radius:999px;background:#1a1511;color:#f4e5ca;border:1px solid #5c4320;font-size:13px}
.presspot-turn{background:#17130f;color:#fff}
.presspot-turn p{color:#d7d0c5;font-size:18px;line-height:1.7}
.presspot-lesson{font-family:Georgia,serif;font-size:25px!important;color:#fff!important;border-left:3px solid #e9a51d;padding-left:22px;margin-top:28px}
@media(max-width:900px){.presspot-hero-grid,.presspot-format-grid{grid-template-columns:1fr}.presspot-storyboard{grid-template-columns:1fr}.presspot-storyboard figure:first-child{grid-column:auto}}
@media(max-width:640px){.testimonial-grid{grid-template-columns:1fr}.testimonial-card{min-height:auto;padding:22px}.testimonial-card blockquote{font-size:28px}.journey-node{padding:18px 18px 18px 20px}.journey-node h3{font-size:24px}.journey-intro{margin-bottom:24px}.presspot-intro-block{margin-bottom:20px}.route-list{gap:14px;margin-top:28px}.route-list:before{left:-6px;width:84px;top:12px;bottom:22px}.route-entry,.route-branch{grid-template-columns:82px minmax(0,1fr);gap:16px}.route-marker{--route-x:30px;--route-node-top:44px}.route-year{min-width:62px;padding:6px 10px;font-size:11px}.route-stem{width:6px;bottom:-18px}.route-node{left:20px;top:44px;width:24px;height:24px;border-width:5px;box-shadow:0 0 0 6px rgba(93,99,216,.12),0 12px 22px rgba(93,99,216,.2)}.route-joint,.route-fork{left:40px;width:24px;border-width:3px}.curve-up .route-joint{top:24px;height:34px}.curve-down .route-joint{top:42px;height:26px}.route-marker-branch .route-node{top:58px}.route-marker-branch .fork-top{top:52px;height:20px}.route-marker-branch .fork-bottom{top:69px;height:28px}.route-copy h2{font-size:32px;margin-bottom:14px}.route-copy p,.route-closing p{font-size:17px}.route-copy-card{padding:22px 22px 22px 24px}.route-list .route-copy-card::after{left:-5px;width:14px;height:14px;border-width:3px}.curve-down .route-copy-card::before,.curve-up .route-copy-card::before{left:-42px;width:46px;border-width:3px}.curve-down .route-copy-card::before{top:38px;height:28px}.curve-up .route-copy-card::before{top:18px;height:32px}.route-branch-content>.route-copy-card::before{left:-42px;width:46px;border-width:3px}.route-branch-content>.route-copy-card:first-child::before{top:34px;height:24px}.route-branch-content>.route-copy-card:last-child::before{top:36px;height:30px}.route-branch-content>.route-copy-card:first-child::after{top:46px}.route-branch-content>.route-copy-card:last-child::after{top:52px}.route-marker-fade .route-stem{bottom:72px}.route-tailfade{left:30px;top:74px;height:122px;width:6px;box-shadow:0 0 0 6px rgba(93,99,216,.03)}.route-closing{padding:24px}.route-finale .route-copy{padding-bottom:8px}}


/* Unshow case study */
.unshow-hero{background:#080808;color:white}.unshow-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}.unshow-hero h1{font-size:clamp(52px,7vw,94px);line-height:.98}.unshow-hero p{color:#d3d3d3;font-size:19px}.unshow-hero-media,.unshow-wide-media{margin:0;border-radius:34px 10px 34px 10px;overflow:hidden;box-shadow:0 28px 70px rgba(0,0,0,.28)}.unshow-hero-media img,.unshow-wide-media img{width:100%;display:block}.unshow-three,.unshow-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:34px 0}.unshow-three article,.unshow-steps article{padding:28px;border:1px solid rgba(255,255,255,.12);background:#151515;border-radius:28px;color:white}.unshow-three article>span,.unshow-steps article>span{color:#b7ff55;font-weight:900}.unshow-three h3,.unshow-steps h3{font-size:26px;margin:14px 0 8px}.unshow-three p,.unshow-steps p{color:#c8c8c8;line-height:1.55}.unshow-steps{grid-template-columns:repeat(4,1fr)}.section:not(.inverse-section) .unshow-steps article{background:var(--paper);color:var(--ink);border-color:var(--line)}.section:not(.inverse-section) .unshow-steps p{color:var(--muted)}.unshow-wide-media{margin-top:28px;background:#000}.unshow-case-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center}.unshow-case-grid figure{margin:0;border-radius:30px;overflow:hidden;background:#111}.unshow-case-grid img{width:100%;display:block}.unshow-metrics{display:grid;grid-template-columns:1fr 1fr;gap:16px}.unshow-metrics div{padding:26px;border-radius:24px;background:#1d1d1d;border:1px solid #3a3a3a}.unshow-metrics strong{display:block;color:#b7ff55;font-size:46px}.unshow-metrics span{color:#d0d0d0}.noguruh-hero p+p{margin-top:16px}
@media(max-width:900px){.unshow-hero-grid,.unshow-case-grid{grid-template-columns:1fr}.unshow-three,.unshow-steps{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.unshow-three,.unshow-steps,.unshow-metrics{grid-template-columns:1fr}.unshow-hero h1{font-size:48px}}


/* v18 readability and hierarchy fixes */
.outcomes-section .presspot-lesson{color:var(--ink)!important;border-left-color:#6f72e8}
.game-heading .game-main-cta{font-size:clamp(42px,6.1vw,78px);line-height:.95;margin:0;letter-spacing:-.04em;color:#fff}
.game-heading .game-question{margin:14px 0 0;font-family:Georgia,serif;font-size:clamp(22px,2.5vw,34px);line-height:1.1;color:#bfc4ff}
@media(max-width:620px){.game-heading .game-main-cta{font-size:42px}.game-heading .game-question{font-size:24px}}


/* Homepage project links */
.case-actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px}.case-actions .text-link{margin-top:0}.subtle-link{opacity:.72}.case-context .text-link{display:inline-block;margin-top:18px}.project-link-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.project-link-grid a{display:grid;grid-template-columns:1fr auto;gap:3px 12px;padding:15px 16px;border:1px solid rgba(24,24,24,.12);border-radius:16px;background:rgba(255,255,255,.48);color:inherit;text-decoration:none;transition:transform .25s ease,background .25s ease}.project-link-grid a:hover{transform:translateY(-2px);background:#fff}.project-link-grid strong{font-size:15px}.project-link-grid small{grid-column:1;color:var(--muted);line-height:1.35}.project-link-grid span{grid-column:2;grid-row:1/3;align-self:center;font-size:20px;color:var(--accent)}

/* Collaboration game */
.collab-game-section{padding:110px 0;background:linear-gradient(145deg,#0a0d18,#11192f 55%,#082839);color:#fff;position:relative;overflow:hidden}.collab-game-section::before{content:"";position:absolute;inset:-15%;background:radial-gradient(circle at 18% 18%,rgba(104,89,255,.25),transparent 25%),radial-gradient(circle at 82% 20%,rgba(0,218,255,.18),transparent 26%),radial-gradient(circle at 62% 88%,rgba(183,255,84,.15),transparent 28%);filter:blur(20px);pointer-events:none}.collab-game-section .container{position:relative;z-index:1}.collab-game-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:end;margin-bottom:38px}.collab-game-heading h2{font-size:clamp(58px,9vw,124px);line-height:.88;margin:12px 0 18px;letter-spacing:-.055em}.collab-game-heading>p{color:#cbd3e7;font-size:19px;line-height:1.55;max-width:520px}.collab-game-kicker{font-family:Georgia,serif;font-size:clamp(22px,3vw,34px);line-height:1.15;max-width:820px;color:#eaf0ff}.collab-game{background:rgba(8,12,25,.72);border:1px solid rgba(255,255,255,.1);border-radius:42px 10px 42px 10px;padding:38px;box-shadow:0 35px 90px rgba(0,0,0,.28);backdrop-filter:blur(12px);min-height:560px}.collab-stage{display:none}.collab-stage.active{display:block;animation:collabIn .42s ease both}@keyframes collabIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.idea-card{max-width:820px;margin:30px auto 34px;padding:44px;border-radius:34px 10px 34px 10px;background:linear-gradient(145deg,#f6f0e7,#fff);color:#151515;box-shadow:0 30px 70px rgba(0,0,0,.25);transform:rotate(-1deg)}.idea-card span,.before-card span,.after-card span{font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:900;color:#6c63d9}.idea-card h3{font-family:Georgia,serif;font-size:clamp(38px,6vw,68px);line-height:1;margin:18px 0}.idea-card p{font-size:18px;line-height:1.55;color:#555}.collab-stage[data-collab-stage="0"]{text-align:center}.collab-copy{max-width:900px;margin-bottom:28px}.collab-copy>span{color:#b7ff55;font-size:12px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.collab-copy h3{font-size:clamp(38px,5vw,62px);margin:10px 0 12px}.collab-copy p{color:#c8d0e1;font-size:18px}.role-grid,.collab-mode-grid,.lead-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.role-grid button,.collab-mode-grid button,.lead-options button{min-height:135px;padding:22px;text-align:left;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(255,255,255,.045);color:#fff;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background .2s ease}.role-grid button:hover,.collab-mode-grid button:hover,.lead-options button:hover{transform:translateY(-3px);background:rgba(255,255,255,.08)}.role-grid button.selected,.collab-mode-grid button.selected,.lead-options button.selected{border-color:#b7ff55;background:rgba(183,255,85,.12);box-shadow:inset 0 0 0 1px rgba(183,255,85,.35)}.role-grid b,.collab-mode-grid b,.lead-options b{display:block;font-size:18px;margin-bottom:8px}.role-grid small,.collab-mode-grid small,.lead-options small{display:block;color:#c4ccdc;line-height:1.45}.collab-seat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:24px 0 10px}.collab-seat-row span{padding:13px 14px;border:1px dashed rgba(255,255,255,.25);border-radius:999px;text-align:center;color:#818ba2;transition:.25s}.collab-seat-row span.filled{border-style:solid;border-color:rgba(183,255,85,.55);background:rgba(183,255,85,.09);color:#fff}.collab-game .game-selection-note{color:#aeb8cc}.collab-result-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;margin:20px 0 34px}.before-card,.after-card{min-height:250px;padding:30px;border-radius:28px 8px 28px 8px;display:flex;flex-direction:column;justify-content:center}.before-card{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1)}.after-card{background:#f7f2e9;color:#151515;box-shadow:0 26px 65px rgba(0,0,0,.28)}.before-card strong,.after-card strong{font-family:Georgia,serif;font-size:clamp(27px,3.4vw,46px);line-height:1.08;margin:14px 0}.before-card small{color:#b9c1d2}.after-card small{color:#555;line-height:1.5}.project-arrow{font-size:54px;color:#b7ff55}.collab-result-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.collab-result-notes p{padding:20px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.04);margin:0}.collab-result-notes span{display:block;color:#909bb2;font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:9px}.collab-result-notes strong{line-height:1.4}.collab-stage blockquote{font-family:Georgia,serif;font-size:clamp(25px,3vw,38px);line-height:1.2;margin:34px 0;padding-left:24px;border-left:3px solid #b7ff55;color:#f5f7ff}
@media(max-width:900px){.collab-game-heading{grid-template-columns:1fr}.role-grid,.lead-options,.collab-mode-grid{grid-template-columns:1fr 1fr}.collab-result-notes{grid-template-columns:1fr}.project-link-grid{grid-template-columns:1fr}.collab-result-grid{grid-template-columns:1fr}.project-arrow{transform:rotate(90deg);text-align:center}.collab-game{padding:26px}.collab-game-section{padding:80px 0}}
@media(max-width:620px){.role-grid,.lead-options,.collab-mode-grid{grid-template-columns:1fr}.collab-seat-row{grid-template-columns:1fr 1fr}.collab-game{padding:20px;border-radius:28px 8px 28px 8px}.idea-card{padding:28px}.collab-game-heading h2{font-size:64px}}

/* v21 — homepage editing, lighter background and tighter rhythm */
:root{
  --bg:#f6f6f2;
  --paper:#ffffff;
  --line:#d8d9d3;
  --muted:#61635f;
}
.home-index{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.48)}
.home-index-grid{display:grid;grid-template-columns:repeat(6,1fr)}
.home-index a{padding:20px 16px;border-right:1px solid var(--line);transition:.2s ease}
.home-index a:first-child{border-left:1px solid var(--line)}
.home-index a:hover{background:#fff;transform:translateY(-2px)}
.home-index span{display:block;color:var(--accent);font-size:11px;font-weight:900;letter-spacing:.12em;margin-bottom:7px}
.home-index strong{display:block;font-size:13px;line-height:1.3}
#mente{padding-top:72px;padding-bottom:72px}
#mente .mind-composition{margin-top:34px}
.inverse-section,.project-game-section,.collab-spark-section{border-top:0}
.inverse-section{padding:78px 0}
.services-editorial{margin-top:28px}
.services-editorial .service{padding:20px 0}
.services-editorial h3{font-size:clamp(22px,2.5vw,30px)}

/* second game: two clicks, instant visual transformation */
.collab-spark-section{padding:94px 0;background:linear-gradient(145deg,#090c18,#11182c 52%,#082932);color:#fff;position:relative;overflow:hidden}
.collab-spark-section:before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 15% 20%,rgba(100,88,255,.27),transparent 25%),radial-gradient(circle at 83% 15%,rgba(0,218,255,.18),transparent 25%),radial-gradient(circle at 65% 90%,rgba(183,255,84,.16),transparent 30%);filter:blur(24px);pointer-events:none}
.collab-spark-section .container{position:relative;z-index:1}
.impact-heading{display:grid;grid-template-columns:1.28fr .72fr;gap:52px;align-items:end;margin-bottom:32px}
.impact-heading h2{font-size:clamp(48px,7.2vw,98px);line-height:.91;margin-top:12px;max-width:920px}
.impact-heading>p{color:#c8d1df;font-size:18px;line-height:1.55;margin:0}
.collab-spark{display:grid;grid-template-columns:1fr 1fr;gap:26px;padding:28px;border-radius:40px 10px 40px 10px;background:rgba(6,10,21,.7);border:1px solid rgba(255,255,255,.11);box-shadow:0 34px 90px rgba(0,0,0,.3);backdrop-filter:blur(12px)}
.spark-project,.spark-controls{padding:24px}
.spark-project>span{color:#b7ff55;text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.14em}
.spark-project>h3{font-size:clamp(31px,4vw,52px);margin:10px 0 12px}
.spark-project>p{color:#bfc8d8;margin:0 0 22px;max-width:600px}
.spark-canvas{position:relative;min-height:350px;border-radius:30px 8px 30px 8px;overflow:hidden;background:linear-gradient(145deg,#f7f3ec,#fff);color:#151515;padding:30px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 24px 70px rgba(0,0,0,.28);transition:background .45s ease,transform .45s ease}
.spark-canvas.changed{transform:rotate(-.6deg) scale(1.012)}
.spark-canvas strong{font-family:Georgia,serif;font-size:clamp(30px,4vw,52px);line-height:1.02;position:relative;z-index:2}
.spark-canvas small{font-size:16px;color:#555;margin-top:10px;position:relative;z-index:2}
.spark-shape{position:absolute;border-radius:50%;filter:blur(2px);transition:all .55s cubic-bezier(.2,.8,.2,1)}
.shape-a{width:220px;height:220px;right:-40px;top:-30px;background:#7e82ff;opacity:.5}
.shape-b{width:140px;height:140px;left:45px;top:55px;background:#ff5d9e;opacity:.34}
.shape-c{width:180px;height:80px;left:38%;top:43%;border-radius:999px;background:#b7ff55;opacity:.38;transform:rotate(-16deg)}
.spark-canvas[data-combo="pubblico-creativo"]{background:linear-gradient(145deg,#fff4f7,#f4f0ff)}
.spark-canvas[data-combo="pubblico-business"]{background:linear-gradient(145deg,#effff7,#f7f6ec)}
.spark-canvas[data-combo="pubblico-producer"]{background:linear-gradient(145deg,#eefaff,#f7f6ec)}
.spark-canvas[data-combo="creativo-pubblico"]{background:linear-gradient(145deg,#fff0f6,#eef1ff)}
.spark-canvas[data-combo="creativo-business"]{background:linear-gradient(145deg,#f6edff,#effff4)}
.spark-canvas[data-combo="creativo-producer"]{background:linear-gradient(145deg,#f2efff,#eefaff)}
.spark-canvas[data-combo="business-pubblico"]{background:linear-gradient(145deg,#effff5,#fff8e9)}
.spark-canvas[data-combo="business-creativo"]{background:linear-gradient(145deg,#f1fff5,#f7ecff)}
.spark-canvas[data-combo="business-producer"]{background:linear-gradient(145deg,#edfff5,#eef5ff)}
.spark-canvas[data-combo="producer-pubblico"]{background:linear-gradient(145deg,#edf9ff,#fff7ed)}
.spark-canvas[data-combo="producer-creativo"]{background:linear-gradient(145deg,#edf7ff,#f8efff)}
.spark-canvas[data-combo="producer-business"]{background:linear-gradient(145deg,#eef8ff,#effff5)}
.spark-canvas.changed .shape-a{width:280px;height:280px;right:-70px;top:-70px;opacity:.42}
.spark-canvas.changed .shape-b{left:20%;top:20px;transform:scale(1.2);opacity:.45}
.spark-canvas.changed .shape-c{left:32%;top:48%;width:240px;transform:rotate(12deg);opacity:.5}
.spark-step{display:flex;gap:14px;align-items:center;margin-bottom:14px}
.spark-step>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#b7ff55;color:#111;font-weight:900;flex:0 0 auto}
.spark-step h3{font-size:22px;margin:0 0 3px}.spark-step p{margin:0;color:#aeb8cc;font-size:14px}
.second-step{margin-top:24px}
.spark-roles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.spark-roles.disabled{opacity:.32;pointer-events:none}
.spark-roles button{padding:17px;text-align:left;border-radius:16px 5px 16px 5px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.045);color:#fff;cursor:pointer;transition:.2s ease}
.spark-roles button:hover,.spark-roles button.selected{transform:translateY(-2px);border-color:#b7ff55;background:rgba(183,255,85,.11)}
.spark-roles b,.spark-roles small{display:block}.spark-roles b{font-size:16px;margin-bottom:4px}.spark-roles small{color:#aeb8cc}
.spark-message{margin-top:18px;padding:14px 16px;border-left:3px solid #b7ff55;background:rgba(183,255,85,.07);color:#dce5ef;min-height:52px}
.spark-restart{margin-top:14px}

/* concise project proof index */
.project-proof-section{padding-top:82px;padding-bottom:82px}
.project-proof-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:34px}
.proof{display:flex;flex-direction:column;min-height:250px;padding:28px;border:1px solid var(--line);border-radius:26px 7px 26px 7px;background:var(--paper);transition:.22s ease}
.proof:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(25,28,35,.09);border-color:#bfc1ec}
.proof>span{color:var(--accent);font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:900}
.proof h3{margin:20px 0 10px}.proof p{color:var(--muted);margin:0 0 26px}.proof strong{margin-top:auto;font-size:14px}
.proof-featured{grid-row:span 2;background:var(--ink);color:#fff;min-height:514px;justify-content:flex-end;position:relative;overflow:hidden}
.proof-featured:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-120px;top:-130px;background:radial-gradient(circle,#5d63d8,transparent 67%);opacity:.55}
.proof-featured>*{position:relative;z-index:1}.proof-featured>span{color:#c6c8ff}.proof-featured h3{font-size:clamp(46px,6vw,76px)}.proof-featured p{color:#d4d4d4;font-size:18px}

/* clear ways of working */
.work-together-section{padding-top:84px;padding-bottom:90px}
.work-mode-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:34px}
.work-mode-grid article{padding:25px;border:1px solid var(--line);border-radius:22px 6px 22px 6px;background:var(--paper);min-height:230px}
.work-mode-grid span{color:var(--accent);font-weight:900;font-size:12px}.work-mode-grid h3{font-size:25px;margin:28px 0 10px}.work-mode-grid p{color:var(--muted);margin:0}
.work-start-row{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;margin-top:20px;padding:30px 34px;background:var(--ink);color:#fff;border-radius:28px 8px 28px 8px}
.work-start-row strong{font-family:Georgia,serif;font-size:30px}.work-start-row p{color:#d4d4d4;margin:7px 0 0;max-width:700px}.work-start-row .actions{margin-top:0}.work-start-row .btn.primary{background:#fff;color:#111}.work-start-row .btn.secondary{border-color:#fff;color:#fff}

@media(max-width:1000px){
  .home-index-grid{grid-template-columns:repeat(3,1fr)}
  .home-index a:nth-child(4){border-left:1px solid var(--line)}
  .impact-heading,.collab-spark{grid-template-columns:1fr}
  .project-proof-grid{grid-template-columns:1fr 1fr}
  .proof-featured{grid-row:auto;min-height:340px;grid-column:1/-1}
  .work-mode-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .home-index-grid{grid-template-columns:1fr 1fr}
  .home-index a:nth-child(odd){border-left:1px solid var(--line)}
  .collab-spark{padding:14px}.spark-project,.spark-controls{padding:14px}
  .spark-roles{grid-template-columns:1fr}
  .project-proof-grid,.work-mode-grid{grid-template-columns:1fr}
  .proof-featured{grid-column:auto}
  .work-start-row{grid-template-columns:1fr;padding:26px}
  .work-start-row .actions{flex-direction:column;align-items:stretch}.work-start-row .btn{width:100%}
}


/* v22: interactive ODO network */
.odo-network{position:absolute;inset:34px 30px auto 30px;height:250px}
.odo-network-stage{position:relative;height:100%;border-radius:34px 10px 34px 10px;background:linear-gradient(145deg,rgba(255,255,255,.48),rgba(246,239,230,.78));border:1px solid rgba(20,20,20,.08);overflow:hidden}
.odo-network-stage:before{content:"";position:absolute;inset:18px;border-radius:28px 8px 28px 8px;border:1px dashed rgba(23,23,23,.08);pointer-events:none}
.odo-network-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.odo-network-lines line{stroke:rgba(86,74,255,.52);stroke-width:3.5;stroke-linecap:round;stroke-dasharray:8 10;filter:drop-shadow(0 6px 10px rgba(86,74,255,.18));animation:odoDash 8s linear infinite}
@keyframes odoDash{to{stroke-dashoffset:-90}}
.odo-node{position:absolute;min-width:116px;padding:12px 18px;border:1.4px solid rgba(24,24,24,.72);border-radius:999px;background:rgba(250,248,244,.96);color:var(--ink);font-size:14px;box-shadow:0 12px 24px rgba(0,0,0,.05);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease,color .22s ease;z-index:2;cursor:pointer}
.odo-node:hover{transform:translateY(-2px)}
.odo-node.active,.odo-node.connected{border-color:#6458ff;box-shadow:0 18px 34px rgba(100,88,255,.2)}
.odo-node.active{background:#6458ff;color:#fff}
.node-contenuti{left:5%;top:14%}
.node-numeri{right:6%;top:10%}
.node-persone{left:38%;top:41%;background:#e8e5ff}
.node-processi{left:3%;bottom:14%}
.node-pubblico{right:3%;bottom:18%}
.odo-network-copy{position:absolute;left:24px;bottom:20px;display:flex;flex-direction:column;gap:4px;max-width:58%;z-index:2}
.odo-network-copy strong{font-family:Georgia,serif;font-size:24px;line-height:1.02}
.odo-network-copy span{font-size:14px;color:#575150}
.odo-network-feedback{position:absolute;right:22px;bottom:18px;max-width:32%;padding:10px 14px;border-radius:14px 4px 14px 4px;background:rgba(20,20,20,.06);font-size:13px;color:#575150;z-index:2;transition:opacity .28s ease, transform .28s ease}
.odo-reveal{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:28px;background:radial-gradient(circle at 50% 35%,rgba(100,88,255,.18),transparent 33%),linear-gradient(145deg,rgba(247,243,236,.95),rgba(255,255,255,.98));z-index:4}
.odo-reveal-logo{width:min(78%,290px);height:auto;color:var(--ink);filter:drop-shadow(0 18px 34px rgba(0,0,0,.12));margin-bottom:18px;animation:odoReveal .7s cubic-bezier(.2,.8,.2,1)}
.odo-reveal p{max-width:430px;margin:0 0 16px;color:#2e2b2b}
@keyframes odoReveal{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
.odo-network.complete .odo-network-copy,.odo-network.complete .odo-network-feedback{opacity:0;transform:translateY(8px);pointer-events:none}
.odo-network.complete .odo-node{opacity:.2;transform:scale(.94)}
.odo-network.complete .odo-network-lines{opacity:.12}
.odo-restart{margin:0 auto}

@media (max-width: 900px){
  .odo-network{position:relative;inset:auto;height:280px;margin-bottom:22px}
  .mind-worlds{min-height:unset}
}
@media (max-width: 680px){
  .odo-network{height:320px}
  .odo-node{min-width:100px;padding:10px 14px;font-size:13px}
  .node-contenuti{left:4%;top:14%}
  .node-numeri{right:4%;top:10%}
  .node-persone{left:34%;top:40%}
  .node-processi{left:2%;bottom:20%}
  .node-pubblico{right:2%;bottom:24%}
  .odo-network-copy{max-width:72%;left:18px;bottom:16px}
  .odo-network-copy strong{font-size:21px}
  .odo-network-feedback{position:static;max-width:none;margin:12px 16px 0}
}


/* v23: fix ODO interaction layout */
.mind-worlds{display:block!important;min-height:0!important;padding:34px!important}
.mind-worlds>h3{margin:9px 0 10px}
.mind-worlds>p{margin-bottom:0}
.odo-network{position:relative!important;inset:auto!important;height:390px!important;margin-top:28px!important}
.odo-network-stage{height:100%;min-height:390px;background:linear-gradient(145deg,#fffdfa,#f3f0eb)}
.odo-network-copy{left:26px;top:24px;bottom:auto;max-width:58%}
.odo-network-copy strong{font-size:26px}
.odo-network-feedback{left:50%;right:auto;bottom:18px;max-width:70%;transform:translateX(-50%);text-align:center;white-space:nowrap}
.node-contenuti{left:7%;top:34%}
.node-numeri{right:8%;top:30%}
.node-persone{left:40%;top:48%}
.node-processi{left:6%;bottom:18%}
.node-pubblico{right:6%;bottom:20%}
.odo-reveal[hidden]{display:none!important}
.odo-reveal{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.odo-reveal-logo{width:min(82%,330px);margin:0}
.odo-reveal p{font-size:17px;line-height:1.45;margin:0 0 2px}
.odo-restart{margin-top:4px}
.odo-network.complete .odo-node{opacity:0;transform:scale(.75)}
.odo-network.complete .odo-network-lines{opacity:0}
.odo-network.complete .odo-network-stage:before{opacity:0}
@media(max-width:900px){
  .mind-worlds{padding:28px!important}
  .odo-network{height:360px!important;margin-bottom:0!important}
  .odo-network-stage{min-height:360px}
}
@media(max-width:680px){
  .mind-worlds{padding:24px!important}
  .odo-network{height:410px!important;margin-top:22px!important}
  .odo-network-stage{min-height:410px}
  .odo-network-copy{left:18px;top:18px;max-width:78%}
  .odo-network-copy strong{font-size:22px}
  .odo-network-copy span{font-size:13px}
  .odo-network-feedback{left:16px;right:16px;bottom:14px;max-width:none;transform:none;white-space:normal}
  .node-contenuti{left:5%;top:31%}
  .node-numeri{right:5%;top:28%}
  .node-persone{left:34%;top:47%}
  .node-processi{left:4%;bottom:22%}
  .node-pubblico{right:4%;bottom:24%}
  .odo-reveal-logo{width:min(88%,290px)}
  .odo-reveal p{font-size:16px}
}


/* v24: Webboh featured proof card */
.proof-featured{padding:36px;justify-content:flex-start;gap:0}
.proof-featured:after{content:"community  social  ricerca  licensing  live";position:absolute;right:-34px;bottom:116px;max-width:360px;font-size:44px;font-weight:900;line-height:.92;letter-spacing:-.045em;color:rgba(255,255,255,.035);text-align:right;transform:rotate(-5deg);pointer-events:none}
.proof-featured>span:first-child{margin-bottom:24px}
.proof-featured h3{margin:0 0 12px}
.proof-featured-manifesto{font-family:Georgia,serif;font-size:clamp(25px,3vw,38px);line-height:1.04;max-width:520px;margin:0 0 16px;color:#fff}
.proof-featured p{max-width:570px;margin:0 0 22px;line-height:1.5}
.proof-featured-signals{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 16px}
.proof-featured-signals span{display:inline-flex;align-items:center;min-height:34px;padding:8px 12px;border-radius:999px;border:1px solid rgba(198,200,255,.32);background:rgba(198,200,255,.09);color:#e2e3ff;font-size:12px;font-weight:850;letter-spacing:.02em}
.proof-featured-signals span:nth-child(2){border-radius:12px 3px 12px 3px;transform:rotate(-1.5deg);background:rgba(255,255,255,.06)}
.proof-featured-flow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 26px;padding:13px 15px;border-radius:15px 4px 15px 4px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);width:max-content;max-width:100%}
.proof-featured-flow b{font-size:13px;color:#fff}.proof-featured-flow i{font-style:normal;color:#aeb2ff;font-weight:900}
.proof-featured>strong{margin-top:auto;padding-top:18px}
@media(max-width:900px){.proof-featured{min-height:440px}.proof-featured:after{font-size:34px;bottom:90px}}
@media(max-width:620px){.proof-featured{padding:28px;min-height:500px}.proof-featured-flow{gap:7px}.proof-featured:after{display:none}}


/* Foto reali integrate nel sito */
.portrait-photo { padding:0; background:transparent; overflow:hidden; box-shadow:0 24px 44px rgba(0,0,0,.2); }
.portrait-photo img { width:100%; height:100%; object-fit:cover; object-position:center top; }
.story-photo-band { padding-top:48px; padding-bottom:24px; }
.case-photo-band { padding-top:32px; }
.story-photo-grid { display:grid; grid-template-columns:minmax(320px,1fr) minmax(320px,.95fr); gap:36px; align-items:center; }
.story-photo-grid-wide { grid-template-columns:minmax(360px,1.15fr) minmax(300px,.85fr); }
.story-photo-card { margin:0; border:1px solid var(--line); border-radius:34px 10px 34px 10px; overflow:hidden; background:var(--paper); box-shadow:0 18px 38px rgba(0,0,0,.08); }
.story-photo-card img { width:100%; height:auto; display:block; aspect-ratio:4 / 3; object-fit:cover; }
.story-photo-copy h2 { margin:14px 0 14px; font-size:clamp(30px,3vw,46px); line-height:1.08; }
.story-photo-copy p { margin:0; color:var(--muted); font-size:18px; line-height:1.65; max-width:620px; }
@media (max-width: 900px) {
  .story-photo-grid, .story-photo-grid-wide { grid-template-columns:1fr; }
  .story-photo-band { padding-top:28px; }
}


/* v27: refinement pass requested by user */
.hero-identity-card{position:relative;min-height:560px;border-radius:36px 10px 36px 10px;background:linear-gradient(180deg,#f3ebdf 0%,#ece1d1 100%);border:1px solid rgba(23,23,23,.08);box-shadow:0 28px 70px rgba(54,42,27,.10);padding:28px;display:flex;flex-direction:column;gap:18px;overflow:hidden}
.hero-identity-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 76% 18%,rgba(255,255,255,.55),transparent 30%),linear-gradient(92deg,transparent 0 38px,rgba(82,57,33,.05) 39px 40px);opacity:.72;pointer-events:none}
.hero-identity-top,.hero-identity-layout,.identity-questions,.hero-photo-frame{position:relative;z-index:1}
.hero-identity-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.hero-identity-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr);gap:24px;align-items:center;flex:1}
.hero-identity-main strong{display:block;font-family:Georgia,serif;font-size:clamp(42px,5vw,62px);line-height:.96;margin:4px 0 14px}
.hero-identity-main p{margin:0;color:var(--muted);font-size:16px;line-height:1.62;max-width:36ch}
.identity-microtags{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.identity-microtags span,.proof-tags i{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:6px 10px;border-radius:999px;background:rgba(93,99,216,.09);border:1px solid rgba(93,99,216,.18);color:var(--accent);font-style:normal;font-size:12px;font-weight:800;letter-spacing:.02em}
.identity-microcopy{margin-top:16px;color:var(--muted);font-size:14px;line-height:1.55;max-width:42ch}
.hero-photo-frame{margin:0;align-self:center;justify-self:end;width:min(100%,320px);aspect-ratio:1/1;background:rgba(255,253,248,.82);border:1px solid rgba(23,23,23,.08);border-radius:36px 12px 36px 12px;overflow:hidden;box-shadow:0 22px 44px rgba(0,0,0,.12)}
.hero-photo-frame img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 12%}
.hero-photo-frame figcaption{display:none}
.identity-questions{display:flex;flex-wrap:wrap;gap:12px}
.identity-question-pill{display:inline-flex;align-items:center;min-height:42px;padding:10px 18px;border-radius:999px;background:rgba(255,255,255,.86);backdrop-filter:blur(6px);border:1px solid rgba(23,23,23,.08);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);box-shadow:0 12px 24px rgba(0,0,0,.08)}

.services-showcase{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);gap:22px;align-items:stretch;margin-top:38px;margin-bottom:8px}
.services-showcase-photo{margin:0;border:1px solid var(--line);border-radius:30px 10px 30px 10px;overflow:hidden;background:var(--paper);box-shadow:0 16px 36px rgba(0,0,0,.08)}
.services-showcase-photo img{width:100%;height:100%;min-height:330px;object-fit:cover;object-position:center 10%}
.services-showcase-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.showcase-card{padding:24px;border:1px solid var(--line);border-radius:24px 8px 24px 8px;background:var(--paper);display:flex;flex-direction:column;justify-content:space-between;min-height:160px}
.showcase-card strong{font-family:Georgia,serif;font-size:28px;line-height:1.03}
.showcase-card span{margin-top:12px;color:var(--muted)}
.with-visuals{margin-top:22px}

.proof-tags{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}
.proof p{margin-bottom:18px}
.proof strong{padding-top:0}

.story-photo-card.portrait img{aspect-ratio:4 / 5;object-position:center 10%}
.story-photo-card.portrait.tight img{object-position:center 14%}
.mind-photo-band{padding-top:24px;border-top:0}
.mind-photo-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:34px;align-items:center}
.mind-photo-copy h2{margin:14px 0 14px;font-size:clamp(34px,4vw,54px);line-height:1.06}
.mind-photo-copy p{margin:0;color:var(--muted);font-size:18px;line-height:1.65;max-width:560px}
.mind-photo-stack{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:18px;align-items:end}
.mind-photo-stack .main img{height:520px;object-fit:cover;object-position:center 12%}
.mind-photo-stack .playful{margin:0;transform:translateY(26px) rotate(2.2deg)}
.mind-photo-stack .playful img{width:100%;height:320px;object-fit:cover;object-position:center 16%}
.mind-photo-stack .playful figcaption{padding:14px 15px 16px;color:var(--muted);font-size:13px;line-height:1.45;background:var(--paper)}

.contact-grid{align-items:start}
.contact-prompt-list{display:grid;gap:12px;margin:28px 0 26px}
.contact-prompt-list div{padding:18px 20px;border:1px solid var(--line);border-radius:18px 6px 18px 6px;background:var(--paper)}
.contact-prompt-list strong{display:block;font-size:18px;margin-bottom:5px}
.contact-prompt-list span{color:var(--muted);font-size:15px;line-height:1.55}
.contact-card{padding:30px}
.thoughtful-form select,.thoughtful-form input,.thoughtful-form textarea{width:100%;border:1px solid var(--line);background:#fffefb;border-radius:16px;padding:14px 15px;transition:border-color .2s ease, box-shadow .2s ease}
.thoughtful-form textarea{min-height:120px}
.thoughtful-form textarea#why{min-height:100px}
.thoughtful-form select:focus,.thoughtful-form input:focus,.thoughtful-form textarea:focus{outline:none;border-color:#a6aae9;box-shadow:0 0 0 4px rgba(93,99,216,.08)}

.noguruh-case-linkcard{align-self:stretch;background:var(--paper);border:1px solid var(--line);border-radius:28px 8px 28px 8px;padding:28px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 16px 34px rgba(0,0,0,.06)}
.noguruh-case-linkcard h3{margin:12px 0 12px;font-size:clamp(25px,3vw,34px)}
.noguruh-case-linkcard p{margin:0 0 18px;color:var(--muted)}
.noguruh-case-linkcard .btn{width:max-content}

@media(max-width:1100px){
  .hero-identity-card{min-height:unset;padding:22px;gap:18px}
  .hero-identity-layout{grid-template-columns:1fr;gap:18px}
  .hero-photo-frame{justify-self:start;width:min(100%,260px)}
  .services-showcase,.mind-photo-grid{grid-template-columns:1fr}
  .services-showcase-cards{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:760px){
  .hero-grid{grid-template-columns:1fr;gap:28px}
  .hero-identity-card{padding:18px;border-radius:28px 8px 28px 8px}
  .hero-identity-top{align-items:flex-start;flex-wrap:wrap}
  .hero-identity-main strong{font-size:40px}
  .hero-photo-frame{width:min(100%,220px);justify-self:start;align-self:flex-start}
  .hero-photo-frame img{height:100%;object-position:center 14%}
  .hero-photo-frame figcaption{font-size:12px}
  .identity-questions{gap:10px}
  .services-showcase-cards{grid-template-columns:1fr}
  .services-showcase-photo img{min-height:280px}
  .mind-photo-stack{grid-template-columns:1fr;gap:14px}
  .mind-photo-stack .main img{height:420px}
  .mind-photo-stack .playful{transform:none;max-width:260px;justify-self:end}
}
@media(max-width:520px){
  .hero-worktable{padding-top:62px}
  .hero-identity-card{padding:16px}
  .hero-photo-frame{width:min(100%,170px)}
  .hero-photo-frame img{height:100%}
  .hero-identity-main strong{font-size:32px}
  .hero-identity-main p,.identity-microcopy{font-size:14px}
  .identity-question-pill{min-height:38px;padding:9px 14px;font-size:11px}
  .showcase-card strong{font-size:24px}
  .contact-card{padding:22px}
}

@media(max-width:900px){.curve-down .route-copy-card::before,.curve-up .route-copy-card::before{left:-66px;width:72px}.route-branch-content>.route-copy-card::before{left:-68px;width:74px}}

/* v34 homepage services reset + definitive testimonials + simpler journey */
.services-plain{margin-top:24px}
.services-plain .service{background:transparent}
.services-plain .service:first-child{border-top:1px solid var(--line)}

.testimonial-card.real-card{background:linear-gradient(180deg,#fffdf9,#f2eee6);border-color:rgba(74,68,61,.12)}
.testimonial-card.real-card blockquote{font-size:clamp(22px,2.6vw,34px);line-height:1.2}
.testimonial-card.featured blockquote{font-size:clamp(22px,2.8vw,36px)}
.testimonials-section .section-intro p{max-width:840px}
.testimonial-card.placeholder h3{margin:20px 0 12px;font-size:clamp(24px,3vw,34px);line-height:1.08}

.simple-route-section{padding-top:28px}
.journey-flow{position:relative;max-width:1060px;margin:42px auto 0;display:grid;gap:22px}
.journey-flow::before{content:"";position:absolute;left:86px;top:-72px;bottom:0;width:6px;border-radius:999px;background:linear-gradient(180deg,rgba(93,99,216,.15) 0%,rgba(93,99,216,.55) 12%,rgba(93,99,216,.55) 82%,rgba(93,99,216,.06) 96%,rgba(93,99,216,0) 100%);box-shadow:0 0 0 7px rgba(93,99,216,.045)}
.journey-step{display:grid;grid-template-columns:164px minmax(0,1fr);gap:28px;align-items:start;position:relative}
.journey-rail{position:relative;min-height:100%;padding-top:6px}
.journey-year{display:inline-flex;align-items:center;justify-content:center;min-width:82px;padding:8px 13px;border-radius:999px;background:rgba(93,99,216,.08);border:1px solid rgba(93,99,216,.16);color:var(--accent);font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;position:relative;z-index:2}
.journey-year-now{background:#141625;color:#fff;border-color:#141625}
.journey-dot{position:absolute;left:74px;top:18px;width:22px;height:22px;border-radius:50%;background:var(--paper);border:5px solid var(--accent);box-shadow:0 0 0 6px rgba(93,99,216,.09)}
.journey-card,.journey-card-grid>.journey-card{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.72));border:1px solid rgba(74,68,61,.1);border-radius:28px;padding:28px 30px;box-shadow:0 18px 36px rgba(18,18,18,.05), inset 0 1px 0 rgba(255,255,255,.76)}
.journey-card::before,.journey-card-grid>.journey-card::before{content:"";position:absolute;left:-33px;top:38px;width:33px;height:22px;border-left:0;border-right:0;border-top:0;border-bottom:3px solid rgba(93,99,216,.22);border-bottom-left-radius:18px}
.journey-card::after,.journey-card-grid>.journey-card::after{content:"";position:absolute;left:-3px;top:54px;width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(93,99,216,.11)}
.journey-card h2,.journey-card-grid>.journey-card h2{margin:0 0 16px;font-size:clamp(28px,3.2vw,42px)}
.journey-card p,.journey-card-grid>.journey-card p{margin:0 0 14px;font-size:18px;line-height:1.62;color:#36332f}
.journey-card p:last-child,.journey-card-grid>.journey-card p:last-child{margin-bottom:0}
.journey-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.journey-card-final{max-width:760px;background:linear-gradient(180deg,rgba(255,255,255,.8),rgba(255,255,255,.62))}
.journey-rail-final .journey-fade{position:absolute;left:82px;top:40px;width:6px;height:180px;border-radius:999px;background:linear-gradient(180deg,rgba(93,99,216,.55) 0%,rgba(93,99,216,.18) 42%,rgba(93,99,216,0) 100%);box-shadow:0 0 0 7px rgba(93,99,216,.03)}
.journey-step-final .journey-card::before{top:44px}
.journey-step-final .journey-card::after{top:60px}

@media (max-width: 980px){
  .journey-card-grid{grid-template-columns:1fr}
}
@media (max-width: 860px){
  .journey-flow::before{left:36px;top:-56px}
  .journey-step{grid-template-columns:98px minmax(0,1fr);gap:16px}
  .journey-year{min-width:68px;padding:7px 10px;font-size:11px}
  .journey-dot{left:25px;top:18px;width:18px;height:18px;border-width:4px;box-shadow:0 0 0 5px rgba(93,99,216,.08)}
  .journey-rail-final .journey-fade{left:31px;top:34px;height:120px}
  .journey-card,.journey-card-grid>.journey-card{padding:22px 22px 22px 24px}
  .journey-card::before,.journey-card-grid>.journey-card::before{left:-24px;top:34px;width:24px;height:18px;border-bottom-width:3px}
  .journey-card::after,.journey-card-grid>.journey-card::after{left:-2px;top:47px;width:12px;height:12px}
}
@media (max-width: 640px){
  .journey-flow{gap:16px;margin-top:28px}
  .journey-card h2,.journey-card-grid>.journey-card h2{font-size:32px}
  .journey-card p,.journey-card-grid>.journey-card p{font-size:17px}
}

/* v35 — rifinitura premium della timeline */
.simple-route-section{position:relative;overflow:hidden;padding-top:36px}
.simple-route-section::before{content:"";position:absolute;inset:90px 0 auto 0;height:520px;background:radial-gradient(circle at 18% 12%,rgba(93,99,216,.055),transparent 34%),radial-gradient(circle at 82% 72%,rgba(93,99,216,.04),transparent 30%);pointer-events:none}
.journey-intro{position:relative;z-index:1;margin-bottom:48px}
.journey-flow{max-width:1100px;gap:26px;margin-top:0;padding-bottom:48px}
.journey-flow::before{left:88px;top:-42px;bottom:18px;width:4px;background:linear-gradient(180deg,rgba(93,99,216,.08) 0%,rgba(93,99,216,.48) 10%,rgba(93,99,216,.48) 83%,rgba(93,99,216,.1) 94%,rgba(93,99,216,0) 100%);box-shadow:0 0 0 6px rgba(93,99,216,.035)}
.journey-step{grid-template-columns:168px minmax(0,1fr);gap:30px}
.journey-rail{padding-top:8px}
.journey-year{min-width:84px;padding:9px 14px;background:rgba(255,255,255,.82);border-color:rgba(93,99,216,.18);box-shadow:0 8px 24px rgba(35,35,35,.045);backdrop-filter:blur(8px)}
.journey-year-now{background:linear-gradient(145deg,#11131f,#242945);color:#fff;border-color:transparent;box-shadow:0 12px 28px rgba(17,19,31,.18)}
.journey-dot{left:77px;top:22px;width:18px;height:18px;border-width:4px;background:#fff;box-shadow:0 0 0 5px rgba(93,99,216,.075),0 8px 18px rgba(93,99,216,.16)}
.journey-card,.journey-card-grid>.journey-card{padding:30px 34px;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.78));border-color:rgba(74,68,61,.085);box-shadow:0 14px 30px rgba(18,18,18,.04),inset 0 1px 0 rgba(255,255,255,.9);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.journey-card:hover,.journey-card-grid>.journey-card:hover{transform:translateY(-3px);border-color:rgba(93,99,216,.16);box-shadow:0 22px 44px rgba(18,18,18,.065),inset 0 1px 0 rgba(255,255,255,.95)}
.journey-card::before,.journey-card-grid>.journey-card::before{left:-36px;top:40px;width:36px;height:18px;border-bottom:2px solid rgba(93,99,216,.24);border-bottom-left-radius:16px}
.journey-card::after,.journey-card-grid>.journey-card::after{left:-4px;top:52px;width:12px;height:12px;box-shadow:0 0 0 4px rgba(93,99,216,.085)}
.journey-card h2,.journey-card-grid>.journey-card h2{font-size:clamp(29px,3vw,40px);letter-spacing:-.025em;margin-bottom:14px}
.journey-card p,.journey-card-grid>.journey-card p{font-size:17.5px;line-height:1.68;color:#403b36}
.journey-card-grid{gap:20px}
.journey-step-dual .journey-card{height:100%}
.journey-card-final{max-width:820px;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(242,239,250,.76));border-color:rgba(93,99,216,.13)}
.journey-rail-final .journey-fade{left:84px;top:42px;width:4px;height:200px;background:linear-gradient(180deg,rgba(93,99,216,.48) 0%,rgba(93,99,216,.16) 46%,rgba(93,99,216,0) 100%);box-shadow:0 0 0 6px rgba(93,99,216,.025)}
.route-project-link{margin-top:20px}
.route-project-link a{font-size:14px;letter-spacing:.01em;text-underline-offset:4px}

@media(max-width:860px){
  .journey-flow::before{left:37px;top:-34px}
  .journey-step{grid-template-columns:100px minmax(0,1fr);gap:18px}
  .journey-dot{left:28px;top:20px}
  .journey-rail-final .journey-fade{left:34px;top:38px;height:138px}
  .journey-card,.journey-card-grid>.journey-card{padding:24px 24px 24px 26px}
  .journey-card::before,.journey-card-grid>.journey-card::before{left:-26px;width:26px;top:36px}
  .journey-card::after,.journey-card-grid>.journey-card::after{top:48px}
}
@media(max-width:640px){
  .simple-route-section{padding-top:24px}
  .journey-intro{margin-bottom:30px}
  .journey-flow{gap:18px;padding-bottom:28px}
  .journey-card,.journey-card-grid>.journey-card{border-radius:20px;padding:22px}
  .journey-card h2,.journey-card-grid>.journey-card h2{font-size:30px}
  .journey-card p,.journey-card-grid>.journey-card p{font-size:16.5px;line-height:1.64}
}


/* v37 brand logo + transitions + testimonial cleanup */
.brand-logo{width:44px;height:44px;object-fit:contain;display:block;filter:drop-shadow(0 6px 10px rgba(0,0,0,.08))}
.brand span:last-child{white-space:nowrap}
.odo-reveal-logo{width:min(72%,240px);max-width:240px;margin:0 auto 18px;filter:drop-shadow(0 14px 24px rgba(0,0,0,.12))}
.story-photo-card.playful figcaption{display:none}
.testimonial-intro-row{margin-bottom:26px}
.testimonial-spotlight{display:grid;grid-template-columns:.7fr 1.3fr;gap:18px;align-items:stretch;margin:24px 0 18px}
.testimonial-spotlight-copy{padding:28px;border:1px solid var(--line);border-radius:28px 8px 28px 8px;background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.72));box-shadow:0 16px 34px rgba(18,18,18,.04)}
.testimonial-spotlight-copy h3{margin:14px 0 12px;font-size:clamp(28px,3.5vw,42px)}
.testimonial-spotlight-copy p{margin:0;color:#5b5650;font-size:17px;line-height:1.6}
.testimonial-card.spotlight-card{min-height:unset;background:linear-gradient(180deg,#fffdf9,#f3efe6);border-color:rgba(74,68,61,.12)}
.testimonial-card.spotlight-card blockquote{font-size:clamp(24px,2.7vw,34px);line-height:1.2}
.testimonial-grid.refined-grid{grid-template-columns:repeat(3,1fr);margin-top:0}
.page-transition{position:fixed;inset:0;display:grid;place-items:center;background:radial-gradient(circle at center,rgba(255,255,255,.98),rgba(244,240,232,.98));z-index:9999;opacity:1;visibility:visible;transition:opacity .42s ease,visibility .42s ease}
.page-transition.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.page-transition-logo{width:min(140px,28vw);aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 12px 24px rgba(0,0,0,.12));transform:scale(.92);transition:transform .42s ease,opacity .42s ease}
.page-transition:not(.is-hidden) .page-transition-logo{transform:scale(1)}
@media(max-width:920px){.testimonial-spotlight{grid-template-columns:1fr}.testimonial-grid.refined-grid{grid-template-columns:1fr}.brand span:last-child{font-size:15px}}


/* v38 updates */
.brand-logo{width:42px;height:42px;object-fit:contain}

/* advisory page icons */
.prose h2{display:flex;align-items:center;gap:14px}
.prose .heading-icon{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:16px;background:linear-gradient(145deg,rgba(93,99,216,.14),rgba(93,99,216,.06));border:1px solid rgba(93,99,216,.16);font-size:24px;flex:0 0 auto;box-shadow:0 10px 24px rgba(93,99,216,.08), inset 0 1px 0 rgba(255,255,255,.75)}
.prose .heading-text{display:inline-block}

/* home index 4x2 */
.home-index-grid{grid-template-columns:repeat(4,1fr)!important}
.home-index a:nth-child(1),.home-index a:nth-child(5){border-left:1px solid var(--line)}
.home-index a:nth-child(n+5){border-top:1px solid var(--line)}
@media(max-width:1000px){.home-index-grid{grid-template-columns:repeat(4,1fr)!important}.home-index a:nth-child(4),.home-index a:nth-child(5){border-left:none}.home-index a:nth-child(1),.home-index a:nth-child(5){border-left:1px solid var(--line)}}
@media(max-width:760px){.home-index-grid{grid-template-columns:1fr 1fr!important}.home-index a:nth-child(n+3){border-top:1px solid var(--line)}.home-index a:nth-child(odd){border-left:1px solid var(--line)}.home-index a:nth-child(even){border-left:none}}

/* refined testimonial section */
.testimonial-editorial-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px;margin-top:28px;align-items:stretch}
.testimonial-context-card,.testimonial-invite-card{padding:30px;border:1px solid var(--line);border-radius:30px 10px 30px 10px;background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(247,243,236,.85));box-shadow:0 18px 38px rgba(18,18,18,.04)}
.testimonial-context-card h3,.testimonial-invite-card h3{margin:18px 0 14px;font-size:clamp(30px,3.4vw,44px);line-height:1.02}
.testimonial-context-card p,.testimonial-invite-card p{margin:0;color:#5b5650;font-size:17px;line-height:1.6}
.testimonial-context-points{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.testimonial-context-points span{padding:8px 12px;border-radius:999px;background:rgba(93,99,216,.08);border:1px solid rgba(93,99,216,.16);color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.testimonial-card.editorial-featured{min-height:100%;background:linear-gradient(145deg,#101326,#171f42 55%,#0a2441);color:#fff;border-color:rgba(255,255,255,.08);box-shadow:0 30px 70px rgba(8,12,25,.22)}
.testimonial-card.editorial-featured blockquote{font-size:clamp(26px,3vw,38px);line-height:1.17;color:#fff}
.testimonial-card.editorial-featured .testimonial-author strong,.testimonial-card.editorial-featured .testimonial-author span{color:#fff}
.testimonial-card.editorial-featured .testimonial-author span{opacity:.78}
.testimonial-card.editorial-secondary{min-height:100%;background:linear-gradient(180deg,#fffdf9,#f3efe6)}
.testimonial-invite-card{display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(180deg,#f6f1ea,#fffefb)}
.testimonial-invite-card .actions{margin-top:24px}
@media(max-width:920px){.testimonial-editorial-grid{grid-template-columns:1fr}}

/* story portrait tighter crop */
.story-photo-grid{grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);gap:38px;align-items:center}
.story-photo-card.portrait.balanced{max-width:500px;width:100%;justify-self:end;align-self:start}
.story-photo-card.portrait.portrait-focus img{aspect-ratio:1 / 1.02;object-position:center 12%}
@media(max-width:900px){.story-photo-card.portrait.balanced{max-width:560px;justify-self:start}}

/* Clash extra character cards */
.clash-character-figure{display:grid;place-items:center;min-height:280px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03));}
.clash-character-spread{position:relative;width:100%;height:100%;min-height:254px;border-radius:18px;background:radial-gradient(circle at 50% 28%,rgba(255,255,255,.12),transparent 42%), radial-gradient(circle at 20% 82%,rgba(255,0,184,.14),transparent 28%), radial-gradient(circle at 80% 18%,rgba(96,125,255,.18),transparent 26%)}
.clash-character-spread img{position:absolute!important;bottom:10px;width:44%;height:auto!important;object-fit:contain!important;border-radius:16px;box-shadow:0 24px 44px rgba(0,0,0,.34);background:transparent!important}
.clash-character-spread .card-left{left:0;transform:rotate(-10deg)}
.clash-character-spread .card-center{left:28%;bottom:0;z-index:2;transform:translateX(-2%) scale(1.02)}
.clash-character-spread .card-right{right:0;transform:rotate(10deg)}
@media(max-width:620px){.clash-character-spread{min-height:320px}.clash-character-spread img{width:48%}.clash-character-spread .card-center{left:26%}}


/* v39 refinements */
/* advisory layout with left-side icons + logo puzzle */
.advisory-layout-section{padding:10px 0 96px}
.advisory-layout{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:42px;align-items:start}
.advisory-sidebar{position:sticky;top:110px}
.logo-puzzle-card{padding:28px;border:1px solid var(--line);border-radius:34px 12px 34px 12px;background:linear-gradient(180deg,#fffefb,#f3eee6);box-shadow:0 18px 40px rgba(18,18,18,.06)}
.logo-puzzle-card h3{margin:14px 0 12px;font-size:clamp(24px,2.4vw,34px);line-height:1.02}
.logo-puzzle-card p{margin:0;color:var(--muted);font-size:16px;line-height:1.6}
.logo-puzzle-stage{position:relative;height:330px;margin:22px 0 14px;border-radius:28px;background:radial-gradient(circle at 50% 36%,rgba(93,99,216,.15),transparent 36%),linear-gradient(180deg,#faf8f3,#f1ece4);overflow:hidden;border:1px dashed rgba(93,99,216,.2)}
.logo-target{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:150px;height:150px;display:grid;place-items:center;border-radius:999px;border:1px dashed rgba(18,18,18,.12);background:rgba(255,255,255,.5)}
.logo-target img{width:124px;height:124px;object-fit:contain;opacity:.16;filter:grayscale(1)}
.logo-piece{position:absolute;transition:transform .45s ease, left .45s ease, top .45s ease, box-shadow .45s ease;box-shadow:0 16px 32px rgba(18,18,18,.12)}
.logo-piece.piece-ring{width:112px;height:112px;border-radius:999px;border:18px solid #f4efe4;background:#111;left:28px;top:26px}
.logo-piece.piece-d{width:74px;height:108px;border:12px solid #111;border-right-width:16px;border-radius:0 56px 56px 0;background:transparent;left:54px;top:190px}
.logo-piece.piece-core{width:54px;height:54px;border-radius:999px;border:12px solid #f4efe4;background:#111;right:34px;top:118px}
.logo-puzzle-card:hover .piece-ring{left:50%;top:50%;transform:translate(-50%,-50%)}
.logo-puzzle-card:hover .piece-d{left:50%;top:50%;transform:translate(-37%,-50%)}
.logo-puzzle-card:hover .piece-core{left:50%;top:50%;right:auto;transform:translate(-9%,-50%)}
.logo-puzzle-note{font-size:13px!important;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)!important;margin-top:4px!important}
.advisory-flow{display:grid;gap:22px}
.advisory-row{display:grid;grid-template-columns:80px minmax(0,1fr);gap:20px;align-items:start;padding:12px 0;border-top:1px solid rgba(18,18,18,.08)}
.advisory-row:first-child{border-top:none}
.advisory-mark{width:56px;height:56px;border-radius:18px;background:linear-gradient(145deg,rgba(93,99,216,.14),rgba(93,99,216,.05));border:1px solid rgba(93,99,216,.15);display:grid;place-items:center;font-size:28px;box-shadow:0 10px 24px rgba(93,99,216,.08), inset 0 1px 0 rgba(255,255,255,.8)}
.advisory-copy h2{display:block;margin:0 0 14px;font-size:clamp(34px,4vw,52px);line-height:1.02}
.advisory-copy p{margin:0 0 12px;color:#383430;font-size:17px;line-height:1.7}
.advisory-copy blockquote{margin:10px 0 14px;padding:16px 18px;border-left:3px solid var(--accent);background:rgba(93,99,216,.05);border-radius:0 14px 14px 0}
@media(max-width:980px){.advisory-layout{grid-template-columns:1fr}.advisory-sidebar{position:relative;top:auto}.logo-puzzle-stage{height:280px}}
@media(max-width:640px){.advisory-row{grid-template-columns:1fr}.advisory-mark{margin-bottom:10px}}

/* tighter story opening portrait */
.story-photo-grid{grid-template-columns:minmax(0,.76fr) minmax(0,1fr)!important;gap:34px;align-items:center!important}
.story-photo-card.portrait.balanced-tight{max-width:430px;width:100%;justify-self:end;align-self:center}
.story-photo-card.portrait.focus-face img{aspect-ratio:1 / 1!important;object-position:center 12%!important}
@media(max-width:900px){.story-photo-grid{grid-template-columns:1fr!important}.story-photo-card.portrait.balanced-tight{max-width:520px;justify-self:start}}

/* 3-photo mind collage, same height but staggered */
.mind-photo-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)!important;gap:30px;align-items:center}
.mind-photo-stack{position:relative;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:end}
.mind-photo-stack .equal{margin:0}
.mind-photo-stack .equal img{height:360px!important;width:100%;object-fit:cover;border-radius:0;aspect-ratio:auto!important}
.mind-photo-stack .photo-left{transform:translateY(18px) rotate(-2deg)}
.mind-photo-stack .photo-center{transform:translateY(-6px)}
.mind-photo-stack .photo-right{transform:translateY(34px) rotate(2.2deg)}
.mind-photo-stack .photo-left img{object-position:center 18%}
.mind-photo-stack .photo-center img{object-position:center 12%}
.mind-photo-stack .photo-right img{object-position:center 20%}
@media(max-width:1080px){.mind-photo-stack .equal img{height:320px!important}}
@media(max-width:860px){.mind-photo-grid{grid-template-columns:1fr!important}.mind-photo-stack{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:8px}.mind-photo-stack .equal img{height:240px!important}}
@media(max-width:640px){.mind-photo-stack{grid-template-columns:1fr;gap:14px}.mind-photo-stack .photo-left,.mind-photo-stack .photo-center,.mind-photo-stack .photo-right{transform:none}.mind-photo-stack .equal img{height:320px!important}}

/* home testimonials prepared for 4 items */
.testimonial-editorial-grid-v2{grid-template-columns:.9fr 1.1fr 1fr;grid-auto-rows:minmax(240px,auto);align-items:stretch}
.testimonial-editorial-grid-v2 .testimonial-context-card{grid-column:1;grid-row:1 / span 2;display:flex;flex-direction:column;justify-content:space-between}
.testimonial-editorial-grid-v2 .editorial-featured{grid-column:2 / span 2;grid-row:1}
.testimonial-editorial-grid-v2 .editorial-secondary{grid-column:2;grid-row:2}
.testimonial-editorial-grid-v2 .placeholder-card{grid-column:auto;grid-row:2;background:linear-gradient(180deg,#fff,#f5f1e9)}
.testimonial-editorial-grid-v2 .placeholder-card h3{margin:14px 0 10px;font-size:26px;line-height:1.08}
.testimonial-editorial-grid-v2 .placeholder-card p{margin:0;color:var(--muted);font-size:16px;line-height:1.6}
.testimonial-editorial-grid-v2 .placeholder-card.soft{background:linear-gradient(180deg,#f9f6f0,#fffdf8)}
@media(max-width:1100px){.testimonial-editorial-grid-v2{grid-template-columns:1fr 1fr}.testimonial-editorial-grid-v2 .testimonial-context-card{grid-column:1 / span 2;grid-row:auto}.testimonial-editorial-grid-v2 .editorial-featured{grid-column:1 / span 2;grid-row:auto}.testimonial-editorial-grid-v2 .editorial-secondary{grid-column:1;grid-row:auto}.testimonial-editorial-grid-v2 .placeholder-card{grid-column:auto;grid-row:auto}}
@media(max-width:760px){.testimonial-editorial-grid-v2{grid-template-columns:1fr}.testimonial-editorial-grid-v2 .testimonial-context-card,.testimonial-editorial-grid-v2 .editorial-featured,.testimonial-editorial-grid-v2 .editorial-secondary,.testimonial-editorial-grid-v2 .placeholder-card{grid-column:1;grid-row:auto}}


/* v40 testimonials: four horizontal quote boxes */
.testimonial-horizontal-list{display:grid;gap:16px;margin-top:28px}
.testimonial-horizontal{display:grid;grid-template-columns:72px minmax(0,1fr) minmax(190px,240px);gap:22px;align-items:center;padding:24px 28px;border:1px solid var(--line);border-radius:26px 8px 26px 8px;background:#fff;box-shadow:0 14px 34px rgba(18,18,18,.045)}
.testimonial-horizontal .quote-glyph{font-family:Georgia,serif;font-size:88px;line-height:.65;color:var(--accent);opacity:.75;align-self:start;padding-top:10px}
.testimonial-horizontal blockquote{margin:0;font-family:Georgia,serif;font-size:clamp(20px,2.1vw,29px);line-height:1.24;color:#1a1816}
.testimonial-horizontal .testimonial-author{padding-left:18px;border-left:1px solid rgba(18,18,18,.12)}
.testimonial-horizontal .testimonial-author strong{font-size:18px}
.testimonial-horizontal.dark{background:linear-gradient(145deg,#101326,#171f42 55%,#0a2441);border-color:rgba(255,255,255,.08)}
.testimonial-horizontal.dark blockquote,.testimonial-horizontal.dark .testimonial-author strong{color:#fff}
.testimonial-horizontal.dark .testimonial-author span{color:#ccd2e3}
.testimonial-horizontal.dark .quote-glyph{color:#fff}
.testimonial-horizontal.dark .testimonial-author{border-left-color:rgba(255,255,255,.18)}
.testimonial-horizontal.light{background:linear-gradient(180deg,#fffdf9,#f3efe6)}
.testimonial-horizontal.placeholder{background:linear-gradient(180deg,#f7f3ec,#fff)}
.testimonial-horizontal.placeholder blockquote{color:#777069;font-style:italic}
.testimonial-horizontal.soft{background:linear-gradient(180deg,#fff,#f4efe7)}
@media(max-width:860px){.testimonial-horizontal{grid-template-columns:54px 1fr}.testimonial-horizontal .testimonial-author{grid-column:2;border-left:none;padding-left:0;padding-top:14px;border-top:1px solid rgba(18,18,18,.1)}.testimonial-horizontal.dark .testimonial-author{border-top-color:rgba(255,255,255,.16)}}
@media(max-width:620px){.testimonial-horizontal{grid-template-columns:1fr;padding:22px}.testimonial-horizontal .quote-glyph{font-size:66px;height:38px}.testimonial-horizontal .testimonial-author{grid-column:1}}

/* v40 interactive logo puzzle built from the actual logo */
.logo-puzzle-stage{cursor:pointer;user-select:none;touch-action:manipulation}
.logo-guide{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:156px;height:156px;display:grid;place-items:center;border-radius:999px;border:1px dashed rgba(18,18,18,.14);background:rgba(255,255,255,.45)}
.logo-guide img{width:126px;height:126px;object-fit:contain;opacity:.14;filter:grayscale(1)}
.logo-slice{position:absolute;width:150px;height:150px;object-fit:contain;left:50%;top:50%;transition:transform .48s cubic-bezier(.2,.8,.2,1),opacity .35s ease,filter .35s ease;filter:drop-shadow(0 16px 26px rgba(18,18,18,.14));pointer-events:none}
.logo-slice.slice-left{clip-path:inset(0 66.66% 0 0);transform:translate(-145%,-112%) rotate(-14deg)}
.logo-slice.slice-center{clip-path:inset(0 33.33% 0 33.33%);transform:translate(-48%,28%) rotate(11deg)}
.logo-slice.slice-right{clip-path:inset(0 0 0 66.66%);transform:translate(42%,-86%) rotate(16deg)}
.logo-puzzle-stage.is-assembled .logo-slice{transform:translate(-50%,-50%) rotate(0deg)}
.logo-puzzle-stage.is-assembled .logo-guide img{opacity:.05}
.logo-puzzle-stage.is-locked{box-shadow:inset 0 0 0 2px rgba(93,99,216,.28),0 18px 38px rgba(93,99,216,.10)}
.logo-puzzle-stage.is-locked .logo-slice{filter:drop-shadow(0 18px 28px rgba(18,18,18,.18))}
.puzzle-state{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.88);border:1px solid rgba(18,18,18,.08);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.logo-puzzle-reset{display:none;width:100%;margin-top:12px;padding:11px 16px;border-radius:999px;border:1px solid var(--line);background:#fff;font-weight:800;cursor:pointer}
.logo-puzzle-card.is-locked .logo-puzzle-reset{display:block}

/* v41: logo puzzle rebuilt as O + D + o pieces */
.logo-puzzle-stage{position:relative}
.logo-part{position:absolute;left:50%;top:50%;line-height:1;font-weight:900;transition:transform .48s cubic-bezier(.2,.8,.2,1),filter .35s ease,opacity .35s ease;color:#111;pointer-events:none;user-select:none;text-rendering:geometricPrecision}
.logo-part.part-ring{font-size:148px;color:#fff;-webkit-text-stroke:1px rgba(17,17,17,.12);text-shadow:0 14px 24px rgba(18,18,18,.16);transform:translate(-158%,-98%) rotate(-12deg)}
.logo-part.part-d{font-size:120px;color:#111;text-shadow:0 14px 24px rgba(18,18,18,.12);transform:translate(-28%,70%) rotate(10deg)}
.logo-part.part-core{font-size:62px;color:#fff;-webkit-text-stroke:1px rgba(17,17,17,.10);text-shadow:0 10px 18px rgba(18,18,18,.14);transform:translate(116%,-112%) rotate(14deg)}
.logo-puzzle-stage.is-assembled .part-ring{transform:translate(-50%,-50%) rotate(0deg)}
.logo-puzzle-stage.is-assembled .part-d{transform:translate(-49%,-50%) rotate(0deg)}
.logo-puzzle-stage.is-assembled .part-core{transform:translate(-14%,-34%) rotate(0deg)}
.logo-puzzle-stage.is-assembled .logo-guide img{opacity:.06}
.logo-puzzle-stage.is-locked .logo-part{filter:drop-shadow(0 18px 26px rgba(18,18,18,.18))}
.logo-puzzle-stage.is-locked .part-ring,.logo-puzzle-stage.is-locked .part-core{-webkit-text-stroke:1px rgba(17,17,17,.16)}
@media(max-width:980px){.logo-part.part-ring{font-size:132px}.logo-part.part-d{font-size:108px}.logo-part.part-core{font-size:56px}}

/* v41: tighter percorso portrait with shorter crop */
.story-photo-card.story-shirt-frame{max-width:470px;width:100%;justify-self:end;align-self:center}
.story-photo-card.story-shirt-frame img{aspect-ratio:5 / 4 !important;object-fit:cover;object-position:center 18% !important;border-radius:28px;background:#e8e0d4}
@media(max-width:900px){.story-photo-card.story-shirt-frame{max-width:560px;justify-self:start}}


/* v42 refinements: exact logo puzzle + tighter story photo */
.logo-puzzle-stage{position:relative;display:flex;align-items:center;justify-content:center;height:330px;cursor:pointer;user-select:none;touch-action:manipulation}
.logo-guide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.logo-guide img{width:min(82%,288px);max-width:288px;height:auto;opacity:.08;filter:drop-shadow(0 12px 18px rgba(18,18,18,.08))}
.logo-part{position:absolute;left:50%;top:50%;width:min(82%,288px);max-width:288px;height:auto;pointer-events:none;user-select:none;transition:transform .52s cubic-bezier(.2,.8,.2,1),filter .35s ease,opacity .35s ease;will-change:transform;filter:drop-shadow(0 14px 26px rgba(18,18,18,.16))}
.logo-part.part-ring{z-index:2;transform:translate(-128%,-86%) rotate(-10deg)}
.logo-part.part-d{z-index:1;transform:translate(12%,66%) rotate(10deg)}
.logo-part.part-core{z-index:3;transform:translate(98%,-108%) rotate(14deg)}
.logo-puzzle-stage.is-assembled .logo-part{transform:translate(-50%,-50%) rotate(0deg)}
.logo-puzzle-stage.is-assembled .logo-guide img{opacity:.05}
.logo-puzzle-stage.is-locked{box-shadow:inset 0 0 0 2px rgba(93,99,216,.24),0 18px 38px rgba(93,99,216,.08)}
.logo-puzzle-stage.is-locked .logo-part{filter:drop-shadow(0 18px 30px rgba(18,18,18,.18))}
.logo-puzzle-stage .puzzle-state{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);padding:10px 18px;border-radius:999px;background:rgba(255,255,255,.82);backdrop-filter:blur(8px);font-size:14px;font-weight:800;letter-spacing:.02em;color:#111;box-shadow:0 10px 20px rgba(18,18,18,.08)}
@media(max-width:980px){.logo-puzzle-stage{height:290px}.logo-guide img,.logo-part{width:min(84%,248px);max-width:248px}}
.story-photo-card.story-shirt-frame{max-width:420px;width:100%;justify-self:end;align-self:center}
.story-photo-card.story-shirt-frame img{aspect-ratio:4 / 3 !important;object-fit:cover;object-position:center 20% !important;border-radius:28px;background:#e8e0d4}
@media(max-width:900px){.story-photo-card.story-shirt-frame{max-width:520px;justify-self:start}}


/* v43 — one-click logo puzzle and site-process slider */
.logo-puzzle-stage{height:308px;overflow:hidden;background:linear-gradient(180deg,#faf8f2 0%,#f4f0e9 100%)}
.logo-guide img{width:min(66%,214px);max-width:214px;opacity:.05;filter:none}
.logo-part{width:min(78%,236px);max-width:236px;filter:drop-shadow(0 14px 24px rgba(17,17,17,.12));transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .35s ease,filter .35s ease}
.logo-part.part-ring{transform:translate(-122%,-92%) rotate(-12deg)}
.logo-part.part-d{transform:translate(14%,76%) rotate(9deg)}
.logo-part.part-core{transform:translate(102%,-118%) rotate(12deg)}
.logo-final{position:absolute;left:50%;top:50%;width:min(76%,226px);max-width:226px;height:auto;transform:translate(-50%,-50%) scale(.92);opacity:0;pointer-events:none;filter:drop-shadow(0 22px 28px rgba(17,17,17,.12));transition:opacity .28s ease,transform .4s ease}
.logo-puzzle-stage.is-assembled .logo-part{transform:translate(-50%,-50%) rotate(0deg);opacity:0;filter:none}
.logo-puzzle-stage.is-assembled .logo-final{opacity:1;transform:translate(-50%,-50%) scale(1)}
.logo-puzzle-stage.is-assembled .puzzle-state{opacity:0;pointer-events:none}
.logo-puzzle-stage .puzzle-state{bottom:16px;z-index:4;transition:opacity .2s ease}
.logo-puzzle-note{font-size:14px;line-height:1.45;color:var(--muted);margin-top:14px}

.site-process-slider{margin-top:28px;border:1px solid var(--border);border-radius:28px;padding:24px;background:linear-gradient(180deg,#f7f5ef 0%,#f1ede6 100%);box-shadow:0 20px 44px rgba(20,20,24,.06)}
.slider-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:18px}
.slider-head h3{margin:8px 0 0;font-size:clamp(24px,3vw,34px);line-height:1.05}
.slider-controls{display:flex;gap:10px;flex-shrink:0}
.slider-btn{width:48px;height:48px;border-radius:999px;border:1px solid var(--border);background:#fff;font-size:22px;font-weight:800;cursor:pointer;box-shadow:0 10px 20px rgba(17,17,17,.06)}
.slider-btn:disabled{opacity:.45;cursor:default}
.slider-viewport{overflow:hidden}
.slider-track{display:flex;transition:transform .42s cubic-bezier(.2,.8,.2,1)}
.process-slide{min-width:100%;border:1px solid rgba(93,99,216,.14);border-radius:24px;padding:26px;background:#fff;box-shadow:0 16px 30px rgba(18,18,18,.05)}
.process-step{display:inline-flex;padding:8px 12px;border-radius:999px;background:#eef0ff;color:var(--accent);font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.process-slide h4{margin:16px 0 10px;font-size:clamp(26px,3.2vw,40px);line-height:.98}
.process-slide p{margin:0;color:var(--muted);font-size:18px;line-height:1.65;max-width:860px}
.process-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.process-tags span{padding:10px 14px;border-radius:999px;background:#f5f5f7;border:1px solid var(--border);font-size:14px;font-weight:700;color:#222}
.slider-dots{display:flex;gap:10px;justify-content:center;margin-top:18px}
.slider-dot{width:10px;height:10px;border-radius:999px;border:none;background:#d2d1d7;cursor:pointer;padding:0}
.slider-dot.is-active{width:30px;background:var(--accent)}
@media(max-width:900px){.slider-head{align-items:flex-start;flex-direction:column}.slider-controls{align-self:flex-end}.process-slide p{font-size:17px}}

/* v44 — homepage identity block restructured around the method */
.hero-identity-card-v2{min-height:610px;padding:30px;gap:20px}
.hero-identity-layout-v2{grid-template-columns:minmax(0,.92fr) minmax(270px,1.08fr);gap:34px;align-items:stretch}
.hero-identity-copy-v2{display:flex;flex-direction:column;justify-content:center;padding:12px 0}
.hero-identity-copy-v2 strong{font-size:clamp(44px,5.3vw,68px);max-width:8.5ch}
.hero-identity-copy-v2 .identity-lead{font-size:19px;line-height:1.55;color:#292622;max-width:31ch}
.hero-identity-copy-v2 .identity-metaphor{margin-top:22px;padding-top:22px;border-top:1px solid rgba(23,23,23,.10);font-family:Georgia,serif;font-size:18px;line-height:1.58;color:#49433d;max-width:32ch}
.hero-identity-visual{display:grid;grid-template-columns:minmax(160px,.78fr) minmax(180px,1fr);gap:18px;align-items:center;position:relative;z-index:1}
.hero-identity-visual .hero-photo-frame{width:100%;max-width:250px;justify-self:center;align-self:center;aspect-ratio:4/5;border-radius:30px 10px 30px 10px}
.hero-identity-visual .hero-photo-frame img{object-position:center 12%}
.identity-method-flow{display:flex;flex-direction:column;justify-content:center;gap:7px;padding:20px 18px;border-radius:28px 10px 28px 10px;background:rgba(255,255,255,.60);border:1px solid rgba(23,23,23,.08);box-shadow:0 18px 36px rgba(54,42,27,.07);backdrop-filter:blur(8px)}
.identity-method-step{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:start}
.identity-method-step span{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;background:rgba(93,99,216,.10);border:1px solid rgba(93,99,216,.18);color:var(--accent);font-size:11px;font-weight:900;letter-spacing:.05em}
.identity-method-step strong{font-family:inherit;font-size:15px;line-height:1.35;margin:4px 0 0;color:#211f1c}
.identity-method-arrow{margin-left:14px;color:var(--accent);font-size:18px;line-height:1;text-align:left;opacity:.75}
@media(max-width:1080px){
  .hero-identity-layout-v2{grid-template-columns:1fr;gap:22px}
  .hero-identity-copy-v2 strong{max-width:none}
  .hero-identity-copy-v2 .identity-lead,.hero-identity-copy-v2 .identity-metaphor{max-width:48ch}
  .hero-identity-visual{grid-template-columns:minmax(150px,.72fr) minmax(220px,1.28fr)}
  .hero-identity-visual .hero-photo-frame{max-width:220px}
}
@media(max-width:760px){
  .hero-identity-card-v2{min-height:unset;padding:20px}
  .hero-identity-layout-v2{gap:18px}
  .hero-identity-copy-v2 strong{font-size:40px}
  .hero-identity-copy-v2 .identity-lead{font-size:17px}
  .hero-identity-copy-v2 .identity-metaphor{font-size:16px;margin-top:18px;padding-top:18px}
  .hero-identity-visual{grid-template-columns:1fr;gap:16px}
  .hero-identity-visual .hero-photo-frame{width:min(100%,200px);max-width:200px;justify-self:start;aspect-ratio:1/1}
  .identity-method-flow{padding:17px 16px}
}


/* v45 homepage hero identity fix */
.hero-identity-card-v2{padding:34px 32px 30px;min-height:auto}
.hero-identity-top .paper-label{font-size:13px;letter-spacing:.14em;color:#4f56e5}
.hero-identity-layout-v2{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,232px) minmax(220px,1fr);grid-template-areas:"copy copy copy" "photo photo flow" "note note note";gap:20px 22px;align-items:center}
.hero-identity-copy-v2{grid-area:copy;padding:0;max-width:40ch}
.hero-identity-copy-v2 strong{font-size:clamp(42px,5vw,72px);max-width:7.2ch;line-height:.95;margin-bottom:14px}
.hero-identity-copy-v2 .identity-lead{max-width:34ch;font-size:22px;line-height:1.48;color:#211f1c}
.hero-identity-visual{display:contents}
.hero-identity-visual .hero-photo-frame{grid-area:photo;width:100%;max-width:232px;justify-self:start;aspect-ratio:1/1;border-radius:28px 12px 28px 12px;box-shadow:0 18px 32px rgba(54,42,27,.12);overflow:hidden;background:rgba(255,255,255,.55)}
.hero-identity-visual .hero-photo-frame img{width:100%;height:100%;object-fit:cover;object-position:center 16%}
.identity-method-flow{grid-area:flow;align-self:stretch;padding:22px 20px;gap:8px}
.identity-method-step{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start}
.identity-method-step span{width:34px;height:34px;border-radius:999px;display:grid;place-items:center;background:rgba(79,86,229,.09);border:1px solid rgba(79,86,229,.18);color:#4f56e5;font-size:12px;font-weight:800;letter-spacing:.06em}
.identity-method-step strong{font-size:20px;line-height:1.2;color:#171717}
.identity-method-arrow{padding-left:11px;font-size:18px;color:#8b90ff;line-height:1}
.identity-metaphor-wide{grid-area:note;max-width:56ch;margin:2px 0 0;padding-top:20px;border-top:1px solid rgba(23,23,23,.10);font-family:Georgia,serif;font-size:19px;line-height:1.58;color:#49433d}

@media (max-width: 1120px){
  .hero-identity-layout-v2{grid-template-columns:minmax(0,1fr) minmax(220px,1fr);grid-template-areas:"copy copy" "photo flow" "note note";gap:18px}
  .hero-identity-copy-v2 .identity-lead{font-size:20px}
  .identity-method-step strong{font-size:18px}
}
@media (max-width: 860px){
  .hero-identity-card-v2{padding:24px 20px}
  .hero-identity-layout-v2{grid-template-columns:1fr;grid-template-areas:"copy" "photo" "flow" "note";gap:16px}
  .hero-identity-copy-v2 strong{font-size:40px;max-width:none}
  .hero-identity-copy-v2 .identity-lead{font-size:18px;max-width:30ch}
  .hero-identity-visual .hero-photo-frame{max-width:230px;justify-self:start}
  .identity-method-flow{padding:18px 16px}
  .identity-method-step strong{font-size:17px}
  .identity-metaphor-wide{font-size:17px;padding-top:18px}
}


/* v46 hero identity simplified */
.hero-identity-card-v3{padding:36px 32px 34px;min-height:auto}
.hero-identity-layout-v3{display:block}
.hero-identity-copy-v3{display:flex;flex-direction:column;align-items:flex-start;gap:0}
.hero-identity-copy-v3 strong{display:block;font-size:clamp(42px,5vw,72px);line-height:.95;max-width:7.2ch;margin-bottom:14px}
.identity-name-large{font-size:22px;font-weight:800;line-height:1.15;letter-spacing:.08em;text-transform:uppercase;color:#4f56e5;margin:0 0 20px}
.hero-photo-face-v3{width:100%;max-width:320px;aspect-ratio:1/1;overflow:hidden;border-radius:28px 14px 28px 14px;box-shadow:0 18px 32px rgba(54,42,27,.12);background:rgba(255,255,255,.6);margin:0 0 22px}
.hero-photo-face-v3 img{width:100%;height:100%;object-fit:cover;object-position:center 18%}
.identity-summary-v3{max-width:34ch;display:flex;flex-direction:column;gap:16px}
.identity-summary-v3 .identity-lead{margin:0;font-size:22px;line-height:1.48;color:#211f1c;max-width:none}
.identity-metaphor-v3,.identity-capability-v3{margin:0;font-family:Georgia,serif;font-size:19px;line-height:1.58;color:#49433d}
.identity-capability-v3{padding-top:16px;border-top:1px solid rgba(23,23,23,.10)}

@media (max-width: 860px){
  .hero-identity-card-v3{padding:24px 20px 24px}
  .hero-identity-copy-v3 strong{font-size:40px}
  .identity-name-large{font-size:18px;margin-bottom:16px}
  .hero-photo-face-v3{max-width:252px;margin-bottom:18px}
  .identity-summary-v3 .identity-lead{font-size:18px}
  .identity-metaphor-v3,.identity-capability-v3{font-size:17px;line-height:1.55}
}


/* v47 identity card refinement */
.hero-identity-card-v4{padding:34px 34px 36px;min-height:auto;background:linear-gradient(180deg,#f3ede3 0%,#efe7db 100%);}
.hero-identity-layout-v4{display:block}
.hero-identity-copy-v4{display:flex;flex-direction:column;align-items:stretch;gap:0}
.identity-name-large-v4{font-size:clamp(54px,5.8vw,76px);font-weight:900;line-height:.9;letter-spacing:-.045em;text-transform:uppercase;color:#111;margin:0 0 8px;display:block;width:100%}.identity-name-large-v4 span{display:block;white-space:nowrap;width:100%}
.hero-identity-copy-v4 strong{display:block;font-size:clamp(22px,2.1vw,30px);line-height:1.02;max-width:none;margin:0 0 24px;color:#111;font-weight:700}
.hero-photo-organic-v4{width:100%;margin:0 0 24px;aspect-ratio:1.18/1;border-radius:34px;overflow:hidden;background:radial-gradient(circle at 18% 22%,rgba(255,255,255,.85),rgba(255,255,255,0) 34%),linear-gradient(145deg,#e1d6c6 0%,#d4c7b6 100%);box-shadow:0 22px 40px rgba(58,44,28,.12);position:relative}
.hero-photo-organic-v4::after{content:"";position:absolute;inset:auto 0 0 0;height:28%;background:linear-gradient(180deg,rgba(239,231,219,0),rgba(239,231,219,.20) 60%,rgba(239,231,219,.42) 100%);pointer-events:none}
.hero-photo-organic-v4 img{width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block;transform:scale(1.02)}
.identity-summary-v4{display:flex;flex-direction:column;gap:16px;max-width:none}
.identity-summary-v4 p{margin:0;max-width:none}
.identity-summary-v4 .identity-lead{font-size:24px;line-height:1.45;color:#201d19}
.identity-summary-v4 p:not(.identity-lead){font-family:Georgia,serif;font-size:20px;line-height:1.6;color:#4a433c}
.identity-summary-v4 p:last-child{padding-top:16px;border-top:1px solid rgba(17,17,17,.10)}
@media (max-width: 860px){
  .hero-identity-card-v4{padding:24px 20px 26px}
  .identity-name-large-v4{font-size:56px;line-height:.92;margin-bottom:8px}
  .hero-identity-copy-v4 strong{font-size:20px;line-height:1.06;margin-bottom:18px;max-width:none}
  .hero-photo-organic-v4{margin-bottom:18px;border-radius:26px}
  .identity-summary-v4 .identity-lead{font-size:18px}
  .identity-summary-v4 p:not(.identity-lead){font-size:17px;line-height:1.55}
}

/* v56 — tighter homepage, clearer engagement and visual process proof */
.home-index-grid{grid-template-columns:repeat(7,1fr)!important}
.home-index a:nth-child(n){border-top:0}
.home-index a:first-child{border-left:1px solid var(--line)}
.home-index a:last-child{border-right:1px solid var(--line)}

#mente{padding-top:60px;padding-bottom:60px}
#mente .section-intro{margin-bottom:24px}
#mente .mind-composition{margin-top:24px}
#mente .actions{margin-top:24px}

.services-editorial .service{padding:17px 0}
.services-editorial .service p{margin-bottom:5px}
.services-editorial .service em{font-size:13px}

.collab-spark-section{padding:76px 0}
.impact-heading{margin-bottom:24px}
.impact-heading h2{font-size:clamp(44px,6vw,78px)}
.collab-spark{padding:22px}
.spark-project,.spark-controls{padding:18px}
.spark-canvas{min-height:285px}

.project-proof-section{padding-top:68px;padding-bottom:68px}
.project-proof-grid{margin-top:26px}
.proof{min-height:220px;padding:24px}
.proof-featured{min-height:458px}

.testimonials-section{padding-top:68px;padding-bottom:68px}
.testimonial-horizontal-list{gap:14px}
.testimonial-horizontal{padding-top:26px;padding-bottom:26px}

.work-together-section{padding-top:70px;padding-bottom:76px}
.work-mode-grid-three{grid-template-columns:repeat(3,1fr)}
.work-mode-grid-three article{min-height:250px}
.work-mode-grid-three article>strong{display:block;margin-top:auto;padding-top:22px;color:var(--accent);font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.work-mode-grid-three article{display:flex;flex-direction:column}

.site-process-slider{padding:20px}
.process-slide{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);gap:26px;align-items:center;padding:20px}
.process-shot{margin:0;border-radius:18px;overflow:hidden;background:#ece8df;border:1px solid rgba(20,20,20,.08);box-shadow:0 16px 32px rgba(18,18,18,.08)}
.process-shot img{display:block;width:100%;height:310px;object-fit:contain;background:#f6f4ef}
.process-slide-copy{min-width:0}
.process-slide h4{margin:12px 0 10px}
.process-slide p{font-size:17px;line-height:1.55}

@media(max-width:1000px){
  .home-index-grid{grid-template-columns:repeat(4,1fr)!important}
  .home-index a:nth-child(n+5){border-top:1px solid var(--line)}
  .home-index a:nth-child(5){border-left:1px solid var(--line)}
  .work-mode-grid-three{grid-template-columns:1fr}
  .work-mode-grid-three article{min-height:auto}
}
@media(max-width:760px){
  .home-index-grid{grid-template-columns:1fr 1fr!important}
  .home-index a:nth-child(n+3){border-top:1px solid var(--line)}
  .home-index a:nth-child(odd){border-left:1px solid var(--line)}
  .home-index a:nth-child(even){border-left:0}
  .process-slide{grid-template-columns:1fr;padding:16px;gap:18px}
  .process-shot img{height:260px}
  .collab-spark-section{padding:62px 0}
  .spark-canvas{min-height:240px}
}


/* v57 — process slider visual balance */
.site-process-slider{
  padding:24px;
  border-radius:32px;
}
.slider-viewport{
  border-radius:26px;
}
.process-slide{
  display:grid;
  grid-template-columns:minmax(300px, .92fr) minmax(0, 1.38fr);
  gap:34px;
  align-items:center;
  padding:28px;
  min-height:420px;
  border-radius:26px;
}
.process-shot{
  width:100%;
  min-height:340px;
  display:grid;
  place-items:center;
  padding:18px;
  border-radius:22px;
  background:linear-gradient(145deg,#f5f2eb,#ebe6dc);
  overflow:hidden;
}
.process-shot img{
  display:block;
  width:100%;
  height:340px;
  object-fit:contain;
  object-position:center;
  border-radius:14px;
  background:#f8f6f1;
}
.process-shot-portrait img{
  width:auto;
  max-width:100%;
  height:340px;
}
.process-shot-landscape img{
  width:100%;
  height:300px;
}
.process-slide-copy{
  align-self:center;
  max-width:680px;
}
.process-slide h4{
  margin:14px 0 12px;
  font-size:clamp(28px,3vw,44px);
  line-height:1.02;
  max-width:15ch;
}
.process-slide p{
  max-width:58ch;
  font-size:17px;
  line-height:1.55;
}
.process-tags{
  margin-top:20px;
}
@media(max-width:900px){
  .process-slide{
    grid-template-columns:280px minmax(0,1fr);
    gap:24px;
    padding:22px;
  }
  .process-shot,.process-shot img,.process-shot-portrait img{height:300px;min-height:300px}
  .process-shot-landscape img{height:250px}
  .process-slide h4{font-size:34px;max-width:none}
}
@media(max-width:760px){
  .site-process-slider{padding:14px}
  .process-slide{
    grid-template-columns:1fr;
    min-height:auto;
    padding:16px;
    gap:20px;
  }
  .process-shot{min-height:260px;padding:12px}
  .process-shot img,.process-shot-portrait img{height:260px}
  .process-shot-landscape img{height:220px}
  .process-slide h4{font-size:30px}
}


/* v58 — real process screenshots + richer Solr section */
.solr-row{grid-template-columns:minmax(0,1.04fr) minmax(320px,.96fr);align-items:start}
.solr-copy .solr-lead{font-size:24px;line-height:1.48;max-width:34ch;margin-bottom:18px}
.solr-story{margin-top:18px}
.solr-story h3{margin:0 0 14px;font-size:24px;line-height:1.1}
.solr-story p{margin:0 0 14px;line-height:1.68}
.solr-track-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:26px}
.solr-track-card{padding:16px 16px 18px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,#faf8f3,#f2eee5);display:flex;flex-direction:column;gap:10px;box-shadow:0 10px 20px rgba(18,18,18,.04)}
.solr-track-index{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:#ece8ff;color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.08em}
.solr-track-card strong{font-size:18px;line-height:1.25}
.solr-track-card a{margin-top:auto;font-weight:850;color:var(--accent)}
.solr-side{display:grid;gap:18px}
.solr-song-visuals{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.solr-song-card{margin:0;overflow:hidden;border-radius:24px;background:#0c0d14;border:1px solid rgba(126,129,219,.24);box-shadow:0 18px 44px rgba(8,10,28,.16)}
.solr-song-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;background:#0c0d14}
.solr-song-card figcaption{padding:12px 14px 15px;background:linear-gradient(180deg,rgba(13,14,20,.94),rgba(13,14,20,1));color:#fff;font-size:14px;font-weight:750;letter-spacing:.01em}
.solr-song-card-wide{grid-column:span 2}
.solr-song-card-wide img{aspect-ratio:1.6/1;object-position:center}
.solr-player{min-height:320px}
@media(max-width:1024px){.solr-track-grid{grid-template-columns:1fr}.solr-copy .solr-lead{max-width:none}}
@media(max-width:900px){.solr-row{grid-template-columns:1fr}.solr-song-visuals{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.solr-song-visuals{grid-template-columns:1fr}.solr-song-card-wide{grid-column:auto}.solr-song-card-wide img{aspect-ratio:1/1}}

.contact-form-status{min-height:22px;margin:2px 0 0;color:var(--muted);font-size:14px;line-height:1.45}


/* v61 — direct positioning + client value strip + 3-click logo puzzle */
.hero-worktable .hero-text h1{font-size:clamp(58px,7.8vw,108px);line-height:.91;max-width:10.5ch}
.hero-worktable .hero-note{max-width:690px;font-size:17px;line-height:1.55}
.hero-worktable .hero-lead{max-width:760px}
.hero-worktable .hero-sublead{max-width:760px}
.client-value-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:28px 0 34px}
.client-value-strip a{display:flex;flex-direction:column;gap:8px;min-height:126px;padding:20px;border:1px solid var(--line);border-radius:22px 7px 22px 7px;background:rgba(255,255,255,.72);color:var(--ink);text-decoration:none;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.client-value-strip a:hover{transform:translateY(-3px);border-color:#bfc1ec;box-shadow:0 16px 32px rgba(18,18,18,.07)}
.client-value-strip span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:var(--accent)}
.client-value-strip strong{font-size:17px;line-height:1.28}
@media(max-width:1000px){.client-value-strip{grid-template-columns:1fr 1fr}.hero-worktable .hero-text h1{max-width:12ch}}
@media(max-width:620px){.client-value-strip{grid-template-columns:1fr}.client-value-strip a{min-height:auto}.hero-worktable .hero-text h1{font-size:54px;max-width:none}}

/* Reset old one-click puzzle states and animate the three parts sequentially. */
.logo-puzzle-stage{height:330px;cursor:pointer;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(93,99,216,.12),transparent 30%),linear-gradient(180deg,#faf8f2 0%,#f4f0e9 100%)}
.logo-guide img{opacity:.035!important;width:min(66%,214px)!important;max-width:214px!important}
.logo-part{width:min(76%,232px)!important;max-width:232px!important;opacity:.58;transition:transform .72s cubic-bezier(.16,1,.3,1),opacity .42s ease,filter .42s ease!important;filter:drop-shadow(0 16px 28px rgba(17,17,17,.14))!important}
.logo-part.part-ring{transform:translate(-150%,-96%) rotate(-16deg)!important}
.logo-part.part-d{transform:translate(38%,82%) rotate(13deg)!important}
.logo-part.part-core{transform:translate(122%,-126%) rotate(18deg)!important}
.logo-puzzle-stage.is-step-1 .part-ring{transform:translate(-50%,-50%) rotate(0deg)!important;opacity:1}
.logo-puzzle-stage.is-step-2 .part-ring{transform:translate(-50%,-50%) rotate(0deg)!important;opacity:1}
.logo-puzzle-stage.is-step-2 .part-d{transform:translate(-50%,-50%) rotate(0deg)!important;opacity:1}
.logo-puzzle-stage.is-step-3 .part-ring,.logo-puzzle-stage.is-step-3 .part-d,.logo-puzzle-stage.is-step-3 .part-core{transform:translate(-50%,-50%) rotate(0deg)!important;opacity:1}
.logo-final{width:min(74%,224px)!important;max-width:224px!important;opacity:0!important;transform:translate(-50%,-50%) scale(.94)!important;transition:opacity .45s ease .42s,transform .62s cubic-bezier(.16,1,.3,1) .34s!important}
.logo-puzzle-stage.is-step-3 .logo-part{opacity:0!important;transition-delay:.34s!important}
.logo-puzzle-stage.is-step-3 .logo-final{opacity:1!important;transform:translate(-50%,-50%) scale(1)!important}
.logo-puzzle-stage .puzzle-state{left:50%;right:auto;bottom:16px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;min-width:250px;justify-content:center;padding:10px 16px;opacity:1!important;pointer-events:none!important;text-transform:none;white-space:normal;z-index:6}
.logo-puzzle-stage .puzzle-state b{display:inline-flex;align-items:center;justify-content:center;min-width:44px;font-size:11px;letter-spacing:.08em;color:var(--accent)}
.logo-puzzle-stage .puzzle-state span{font-size:12px;line-height:1.25;text-align:left}
.logo-puzzle-stage.is-step-3 .puzzle-state{background:rgba(255,255,255,.92)}
.logo-puzzle-card.is-locked .logo-puzzle-reset{display:block}
@media(max-width:980px){.logo-puzzle-stage{height:310px}.logo-part{width:min(78%,218px)!important}.logo-final{width:min(76%,210px)!important}.logo-puzzle-stage .puzzle-state{min-width:220px;max-width:calc(100% - 28px)}}


/* v62 — fotografie più reali e inserimento editoriale */
.case-inline-photo{margin:26px 0 36px;border:1px solid var(--line);border-radius:28px 10px 28px 10px;overflow:hidden;background:var(--paper);box-shadow:0 18px 38px rgba(0,0,0,.08)}
.case-inline-photo img{display:block;width:100%;height:auto;max-height:680px;object-fit:cover;object-position:center 28%}
.case-inline-photo figcaption{padding:14px 18px 17px;color:var(--muted);font-size:14px;line-height:1.5;background:#faf8f3}
.case-inline-photo-tux{max-width:620px}
@media(max-width:760px){.case-inline-photo-tux{max-width:none}.case-inline-photo img{max-height:560px}}

/* v10 — readability fix for closing line in Come ragiono */
.site-evolution-close{
  color:#f8fafc !important;
  background:linear-gradient(135deg,#111827 0%,#171d38 100%);
  border:1px solid rgba(255,255,255,.08);
  border-left:4px solid #b8ff2c;
  border-radius:20px;
  padding:22px 26px;
  margin:42px 0 0;
  text-align:left;
  font-family:inherit;
  font-size:clamp(24px,2.4vw,34px);
  line-height:1.18;
  font-weight:800;
  letter-spacing:-.02em;
  box-shadow:0 14px 34px rgba(15,23,42,.14);
}
@media(max-width:800px){
  .site-evolution-close{padding:18px 20px;font-size:24px;line-height:1.2}
}

/* v11 — closing line centered and unmistakably readable */
.site-evolution-close{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
  text-align:center !important;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:86px;
  padding:20px 32px !important;
  margin:42px 0 0 !important;
  font-weight:800 !important;
  background:#11162b !important;
  border-left:4px solid #b8ff2c !important;
}
@media(max-width:800px){
  .site-evolution-close{
    min-height:72px;
    padding:16px 20px !important;
    text-align:center !important;
  }
}
