:root{color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:800;line-height:1.12;letter-spacing:-.035em;text-wrap:balance}h2{font-size:clamp(32px,3.6vw,48px)}h3{font-size:23px}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--teal);outline-offset:5px}input:focus-visible,textarea:focus-visible{outline-offset:2px}button[disabled]{cursor:wait;opacity:.65}[hidden]{display:none!important}.wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}.icon{width:22px;height:22px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.skip-link{position:absolute;left:16px;top:-90px;z-index:100;background:var(--surface);padding:12px}.skip-link:focus{top:12px}.site-header{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--bg) 95%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.header-inner{height:88px;display:flex;align-items:center;gap:36px}.brand{display:inline-flex;align-items:center;gap:10px;line-height:1;font-weight:800;font-size:29px;letter-spacing:-1.2px;flex-shrink:0}.brand img{width:39px;height:39px}.main-nav{display:flex;gap:27px;margin-left:auto;align-items:center;font-size:13px;font-weight:600;white-space:nowrap}.main-nav a:hover,.login-link:hover{color:var(--teal)}.header-actions{display:flex;align-items:center;gap:16px;font-size:13px;font-weight:600}.language-link{font-size:12px;letter-spacing:.05em}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:15px 22px;border:1px solid transparent;border-radius:var(--r-sm);font-size:14px;line-height:1.3;font-weight:700;transition:transform .2s,background .2s;white-space:normal}.button:hover{transform:translateY(-2px)}.button .icon{width:19px;height:19px}.primary{background:var(--teal);color:var(--bg)}.primary:hover{background:color-mix(in srgb,var(--teal) 90%,var(--ink))}.outline{border-color:var(--line);background:var(--surface);color:var(--ink)}.outline:hover{border-color:var(--teal)}.quiet{background:transparent;color:var(--ink);padding-inline:12px}.gold{background:var(--brass);color:var(--navy)}.header-demo{padding:12px 16px;font-size:12px}.icon-button{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:inherit;min-width:36px;min-height:36px;border-radius:6px}.icon-button:hover{background:var(--teal-soft)}.menu-toggle{display:none}.eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;line-height:1.5;color:var(--teal);margin-bottom:22px}.eyebrow-line{width:24px;height:2px;background:var(--brass);display:inline-block;vertical-align:middle;margin-right:10px}.hero{padding:78px 0 0;background:linear-gradient(180deg,var(--wash),var(--bg))}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:55px;align-items:center}.hero h1{font-size:clamp(40px,4.5vw,63px);letter-spacing:-.05em;line-height:1.07}.hero h1 span{color:var(--teal)}.lede{font-size:17px;line-height:1.8;color:var(--muted);margin:26px 0 30px;max-width:555px;text-wrap:pretty}.actions{display:flex;gap:10px;flex-wrap:wrap}.hero-note{display:flex;gap:8px;align-items:flex-start;font-size:11px;color:var(--muted);margin-top:18px}.hero-note .icon{width:15px;height:18px;color:var(--teal)}.hero-visual{position:relative;padding:18px 0 38px;min-width:0}.visual-top{display:flex;align-items:center;gap:8px;background:var(--surface);padding:13px 18px;border:1px solid var(--line);border-radius:12px 12px 0 0;font-size:11px;font-weight:600}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--teal)}.visual-mark{margin-left:auto;font-size:10px;color:var(--teal);background:var(--teal-soft);padding:2px 7px;border-radius:4px}.hero-shot{display:block;padding:0;width:100%;border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;overflow:hidden;box-shadow:var(--shadow-lg);background:var(--surface)}.hero-shot img{width:100%;height:355px;object-fit:cover;object-position:right top}.visual-callout{position:absolute;bottom:35px;left:-24px;display:flex;gap:15px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:17px 23px;box-shadow:var(--shadow-md);font-size:13px;line-height:1.6}.visual-callout>.icon{width:36px;height:36px;padding:7px;border-radius:8px;background:var(--teal-soft);color:var(--teal)}.visual-callout strong,.visual-callout span{display:block}.visual-callout span{color:var(--muted);font-size:11px}.visual-caption{font-size:10px;text-align:right;margin:12px 4px 0;color:var(--muted)}.section{padding:100px 0}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:45px}.section-heading>p{max-width:405px;color:var(--muted);font-size:15px;line-height:1.8}.icon-tile{display:inline-flex;justify-content:center;align-items:center;width:45px;height:45px;border-radius:10px;background:var(--teal-soft);color:var(--teal);flex-shrink:0}.number{color:var(--muted);font-size:11px}.text-link{display:inline-flex;align-items:center;gap:12px;font-size:13px;font-weight:700;color:var(--teal)}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.text-link .icon{width:17px}.custom-section{background:var(--grad-cta);color:var(--wash)}.custom-section .eyebrow{color:var(--brass)}.custom-section h2{color:var(--wash)}.custom-grid{display:grid;grid-template-columns:1fr .95fr;gap:90px}.custom-intro{max-width:440px;margin:26px 0 32px;color:color-mix(in srgb,var(--bg) 78%,var(--brass));font-size:16px;line-height:1.8}.custom-offer{border:1px solid color-mix(in srgb,var(--brass) 35%,transparent);border-radius:14px;padding:35px;background:color-mix(in srgb,var(--brass) 4%,transparent)}.offer-icon{display:inline-flex;color:var(--brass);margin-bottom:18px}.offer-icon .icon{width:30px;height:30px}.custom-offer h3{font-size:28px;color:var(--wash);line-height:1.25}.custom-offer>p{font-size:14px;line-height:1.8;margin-top:18px;color:inherit}.offer-rule{height:1px;background:color-mix(in srgb,var(--brass) 25%,transparent);margin-top:22px}.custom-offer .offer-note{font-size:12px;opacity:.85}.custom-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding:0;margin:60px 0 34px}.custom-steps li{display:flex;gap:17px}.step-number{color:var(--brass);font-size:12px;line-height:2}.custom-steps h3{font-size:16px;letter-spacing:-.01em;margin:4px 0 12px}.custom-steps p{font-size:12px;line-height:1.85;opacity:.8}.custom-why{border-top:1px solid color-mix(in srgb,var(--brass) 22%,transparent);padding-top:27px;font-size:12px;opacity:.85}.custom-why strong{color:var(--brass);margin-right:6px}.section-note{font-size:11px;color:var(--muted);margin-top:24px}.modules-section{border-bottom:1px solid var(--line)}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.module-card{display:flex;align-items:flex-start;gap:15px;padding:27px 20px 27px 0;border-bottom:1px solid var(--line);transition:background .15s}.module-card:hover{background:var(--wash)}.module-card .icon-tile{width:37px;height:37px;border-radius:8px}.module-card .icon-tile .icon{width:20px;height:20px}.module-card h3{font-size:15px;letter-spacing:-.015em;line-height:1.4}.module-card p{font-size:11px;color:var(--muted);margin-top:6px;line-height:1.7}.module-arrow{width:15px;margin-left:auto;color:var(--muted)}.module-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:30px}.module-footer p{font-size:12px;color:var(--muted)}.billing-toggle{display:flex;gap:4px;background:var(--wash);border:1px solid var(--line);padding:4px;border-radius:8px;margin:0 auto 36px;width:fit-content;max-width:100%}.billing-toggle button{display:inline-flex;align-items:center;gap:8px;font-size:13px;line-height:1.3;font-weight:700;padding:11px 18px;background:transparent;color:var(--muted);border:0;border-radius:5px}.billing-toggle button[aria-pressed=true]{background:var(--teal);color:var(--bg)}.billing-toggle .billing-save{font-size:10px;font-weight:700;letter-spacing:.02em;padding:3px 7px;border-radius:4px;background:var(--brass);color:var(--navy)}.billing-toggle button[aria-pressed=true] .billing-save{background:color-mix(in srgb,var(--bg) 88%,var(--brass));color:var(--navy)}.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.price-card{display:flex;flex-direction:column;padding:30px;border:1px solid var(--line);border-radius:12px}.price-card.featured{border:1.5px solid var(--teal);background:var(--wash)}.price-card h3{font-size:21px}.price-card>p{font-size:12px;color:var(--muted);margin-top:10px}.price{font-size:48px;font-weight:800;letter-spacing:-.05em;line-height:1.2;margin:28px 0}.price>.price-amount{font-size:inherit;font-weight:inherit;letter-spacing:inherit;margin:0;vertical-align:baseline;line-height:inherit}.price>span:not(.price-amount){font-size:26px;vertical-align:top;margin-left:4px;line-height:1.7}.price>small,.price>.price-period{font-size:12px;font-weight:400;letter-spacing:0;margin-left:10px;color:var(--muted)}.price-card ul{padding:0;margin:0;list-style:none;font-size:13px}.price-card li{display:flex;align-items:center;gap:9px;margin-bottom:12px}.price-card li .icon{width:16px;color:var(--teal)}.price-card .price-extra{font-size:11px;margin:8px 0 25px;line-height:1.55}.price-card .price-extra a{color:var(--teal);text-decoration:underline;text-underline-offset:3px}.price-card .price-extra a:hover{color:color-mix(in srgb,var(--teal) 80%,var(--ink))}.price-card .button{margin-top:auto}.price-foot{display:flex;justify-content:space-between;gap:50px;margin:27px 0}.price-foot>p{font-size:11px;color:var(--muted);max-width:600px}.price-foot>a{max-width:330px}.faq-section{background:var(--wash)}.faq-layout{display:grid;grid-template-columns:.7fr 1fr;gap:100px}.faq-layout h2{max-width:360px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;font-size:14px;font-weight:650;cursor:pointer;list-style:none;line-height:1.5}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{font-size:21px;font-weight:400;color:var(--teal)}.faq-list details[open] summary>span{transform:rotate(45deg)}.faq-list details>p{font-size:13px;color:var(--muted);padding:0 28px 23px 0;line-height:1.85}.contact-layout{display:grid;grid-template-columns:.85fr 1fr;gap:110px;align-items:center}.contact-intro{font-size:15px;color:var(--muted);max-width:390px;margin:25px 0;line-height:1.85}.contact-points{padding:0;list-style:none;font-size:12px}.contact-points li{display:flex;gap:12px;margin:17px 0}.contact-points .icon{width:17px;color:var(--teal)}.contact-card{background:var(--surface);padding:30px;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-md)}.request-tabs{display:flex;gap:4px;background:var(--wash);border:1px solid var(--line);padding:4px;border-radius:8px;margin-bottom:24px}.request-tabs button{flex:1;font-size:12px;line-height:1.4;font-weight:700;padding:11px 8px;background:transparent;color:var(--muted);border:0;border-radius:5px}.request-tabs button[aria-pressed=true]{background:var(--teal);color:var(--bg)}form label{display:block;font-size:11px;font-weight:600;margin-bottom:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}form input,form textarea{display:block;width:100%;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink);font-size:13px;padding:11px 12px;margin-top:6px}form input::placeholder,form textarea::placeholder{color:var(--muted);opacity:1;font-size:12px}form textarea{resize:vertical;min-height:110px;line-height:1.6}.module-form-note{font-size:11px;padding:13px;background:var(--teal-soft);border-radius:6px;margin:0 0 17px}.form-privacy{font-size:10px;line-height:1.8;color:var(--muted);margin-bottom:19px}.form-privacy a{text-decoration:underline;color:var(--teal)}.submit-button{width:100%}.form-error{font-size:12px;line-height:1.6;padding:13px;background:var(--danger-bg);color:var(--danger);margin-bottom:18px;border-radius:6px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-success{padding:30px 0;text-align:center}.contact-success>.icon{width:48px;height:48px;color:var(--teal);background:var(--teal-soft);border-radius:50%;padding:10px;margin-bottom:20px}.contact-success p{font-size:14px;color:var(--muted);margin:18px 0 28px}.site-footer{border-top:1px solid var(--line);background:var(--wash);padding:55px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:45px}.footer-grid>div>p{font-size:13px;color:var(--muted);max-width:260px;margin-top:18px}.footer-grid h2{font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin:12px 0 20px}.footer-grid>div>a:not(.brand){display:block;font-size:12px;color:var(--muted);margin:10px 0}.footer-grid a:hover{color:var(--teal)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:22px;margin-top:40px}.footer-bottom a{display:inline-flex;align-items:center;gap:12px}.footer-bottom .icon{width:15px}#screenshot-dialog{border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:16px;border-radius:12px;max-width:min(94vw,1600px);max-height:94vh;overflow:auto}#screenshot-dialog::backdrop{background:color-mix(in srgb,var(--navy) 85%,transparent)}#screenshot-dialog img{max-height:78vh;width:auto;object-fit:contain}#screenshot-dialog p{font-size:12px;margin-top:10px}.dialog-close{display:flex;margin-left:auto;font-size:28px;line-height:1;margin-bottom:8px}
/* The custom-module band uses the brand gradient within the light site. */
@media(min-width:1500px){.hero{padding-top:95px}.hero-grid{gap:80px}.hero h1{font-size:65px}.hero-shot img{height:390px}}
@media(max-width:1150px){.wrap{width:calc(100% - 64px)}.header-inner{gap:22px}.header-actions{gap:12px}.main-nav{gap:17px}.header-demo{display:none}.hero-grid{gap:35px}.hero h1{font-size:clamp(37px,4.8vw,54px)}.hero-shot img{height:325px}.visual-callout{left:-10px}.custom-grid{gap:50px}.contact-layout{gap:60px}.faq-layout{gap:60px}.module-card{gap:10px}.module-card p{font-size:11px}.module-card .module-arrow{display:none}.pricing-grid{grid-template-columns:1fr 1fr;gap:20px}.price-card{padding:26px}}
@media(max-width:800px){html{scroll-padding-top:90px}.wrap{width:calc(100% - 40px)}.header-inner{height:72px;gap:15px}.brand{font-size:27px}.brand img{width:34px;height:34px}.header-actions{margin-left:auto;gap:13px}.main-nav{display:none;position:absolute;top:72px;left:0;width:100%;background:var(--bg);border-bottom:1px solid var(--line);padding:22px;flex-direction:column;align-items:stretch;gap:0}.main-nav.open{display:flex}.main-nav a{padding:13px}.menu-toggle{display:inline-flex}.hero{padding-top:45px}.hero-grid{grid-template-columns:1fr;gap:24px}.hero h1{font-size:clamp(39px,7vw,57px);max-width:650px}.hero .eyebrow{font-size:10px}.lede{max-width:580px;font-size:16px;line-height:1.75;margin-top:23px}.hero-visual{max-width:650px;width:100%;margin-inline:auto;padding-top:12px}.hero-shot img{height:auto;aspect-ratio:1.65;object-fit:contain}.visual-callout{left:14px;bottom:29px;padding:13px 17px}.visual-caption{font-size:9px}.section{padding:65px 0}.section-heading{gap:20px;display:block;margin-bottom:32px}.section-heading>p{margin-top:22px;max-width:560px;font-size:14px}.eyebrow{font-size:10px;margin-bottom:16px}.custom-grid{grid-template-columns:1fr;gap:35px}.custom-intro{max-width:600px;font-size:15px;margin:23px 0}.custom-offer{padding:27px}.custom-offer h3{font-size:26px}.custom-steps{grid-template-columns:1fr;gap:24px;margin:37px 0 26px}.custom-steps h3{font-size:17px;margin-bottom:7px}.custom-steps p{font-size:13px}.custom-why{font-size:12px;line-height:1.8}.module-grid{grid-template-columns:1fr 1fr;gap:0 20px}.module-card{padding:23px 0}.module-card h3{font-size:14px}.module-card p{font-size:12px}.module-footer{align-items:flex-start;flex-direction:column;gap:16px}.pricing-grid{grid-template-columns:1fr;gap:18px;max-width:560px;margin:auto}.price-card{padding:27px}.price-card ul{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.price-card li{font-size:12px}.price-card li:last-child{grid-column:1/-1}.price{margin:20px 0}.price-card .price-extra{margin:5px 0 22px}.price-foot{display:block}.price-foot>a{margin-top:20px;max-width:none}.faq-layout{grid-template-columns:1fr;gap:35px}.faq-layout h2{max-width:none}.contact-layout{grid-template-columns:1fr;gap:30px}.contact-intro{max-width:550px}.contact-card{max-width:600px;width:100%;padding:24px}.contact-points{margin-bottom:0}.contact-points li{margin:11px 0}.footer-grid{grid-template-columns:1fr 1fr;gap:24px}.footer-grid>div:first-child{grid-column:1/-1;margin-bottom:8px}.footer-grid>div>p{max-width:none}.site-footer{padding-top:38px}}
@media(max-width:420px){.wrap{width:calc(100% - 32px)}.header-actions{gap:7px}.login-link{font-size:11px}.language-link{font-size:11px}.brand{gap:6px;font-size:24px}.brand img{width:30px;height:30px}.icon-button{min-width:30px}.hero h1{font-size:38px}.hero .eyebrow{font-size:9px;letter-spacing:.09em}.actions{gap:6px}.actions .button{padding:13px 12px;font-size:12px;gap:8px}.hero-note{font-size:10px}.visual-callout{font-size:11px;padding:10px 12px;gap:9px}.visual-callout span{font-size:10px}.visual-callout>.icon{width:30px;height:30px}.visual-caption{font-size:8px}.module-grid{grid-template-columns:1fr}.module-card .module-arrow{display:block}.module-card h3{font-size:15px}.module-card p{font-size:12px}.form-grid{grid-template-columns:1fr;gap:0}.contact-card{padding:21px}.request-tabs button{font-size:11px}.price-card ul{grid-template-columns:1fr}.footer-bottom{gap:20px;font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.button:hover{transform:none}}

/* Give the manifesto a clear headline, supporting statement and practical promise. */
.hero{padding-top:48px;padding-bottom:35px}
.hero .lede{margin-top:18px;margin-bottom:22px}
.hero-subheadline{font-size:clamp(20px,2.1vw,28px);font-weight:650;line-height:1.3;letter-spacing:-.025em;margin-top:20px;color:var(--ink);text-wrap:balance}
@media(max-width:800px){.hero{padding-top:34px;padding-bottom:10px}.hero-grid{gap:25px}.hero .eyebrow{margin-bottom:18px}.hero .lede{font-size:16px;line-height:1.7;margin-top:22px}}
.preview-notice{padding:8px 20px;text-align:center;font-size:11px;font-weight:600;background:var(--warn-bg);color:var(--warn)}

/* Preservation is a planned path across business processes, with visible status. */
.status-pill{display:inline-flex;align-items:center;white-space:nowrap;padding:4px 9px;border-radius:var(--r-pill);font-size:10px;line-height:1.4;font-weight:700;letter-spacing:0;background:var(--warn-bg);color:var(--warn)}
@media(max-width:1150px){.main-nav{gap:15px;font-size:12px}}

.partner-section{padding:64px 0;border-bottom:1px solid var(--line)}.partner-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px;align-items:center}.partner-layout h2{font-size:clamp(30px,3vw,42px);line-height:1.15;margin-bottom:22px}.partner-layout .eyebrow{margin-bottom:13px}.partner-intro{font-size:14px;line-height:1.85;color:var(--muted);margin-bottom:18px}
@media(max-width:800px){.partner-section{padding:36px 0}.partner-layout{grid-template-columns:1fr;gap:22px}.partner-layout h2{font-size:28px}}


/* Two-language switch: autonym and globe in a consistently aligned control. */
.header-inner{gap:24px}.main-nav{gap:20px}.header-actions{gap:14px;flex-shrink:0}
@media(max-width:1150px){.header-inner{gap:18px}.main-nav{gap:15px}.header-actions{gap:12px}}
@media(max-width:1200px){.header-inner{height:72px;gap:15px}.header-actions{margin-left:auto}.main-nav{display:none;position:absolute;top:72px;left:0;width:100%;background:var(--bg);border-bottom:1px solid var(--line);padding:22px;flex-direction:column;align-items:stretch;gap:0}.main-nav.open{display:flex}.main-nav a{padding:13px}.menu-toggle{display:inline-flex}.header-demo{display:none}}
@media(max-width:420px){.header-actions{gap:7px}}

/* Company identity shares the product's type, spacing and colour tokens. */
.main-nav a[aria-current=page]{color:var(--teal);text-decoration:underline;text-underline-offset:6px}
.footer-grid{grid-template-columns:1.35fr 1fr 1fr 1fr;gap:36px}
.company-hero{padding:72px 0 58px}
.company-hero h1{font-size:clamp(42px,5.5vw,72px);max-width:950px}
.company-hero .lede{max-width:820px;margin:28px 0;font-size:18px;color:var(--muted)}
.company-jump{display:flex;gap:30px;flex-wrap:wrap}
.company-purpose{padding:56px 0;background:var(--wash);border-block:1px solid var(--line)}
.purpose-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.purpose-grid article+article{padding-left:56px;border-left:1px solid var(--line)}
.purpose-grid h2{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);margin-bottom:24px}
.purpose-grid .purpose-statement{font-size:27px;line-height:1.4;font-weight:700;letter-spacing:-.025em;color:var(--ink);margin-bottom:22px}
.purpose-grid p{font-size:14px;line-height:1.85;color:var(--muted)}
.company-story{display:grid;grid-template-columns:1fr 1fr;gap:72px}
.company-story p:not(.eyebrow){color:var(--muted);font-size:15px;line-height:1.9;margin-bottom:22px}
.company-story p:last-child{margin-bottom:0}
.company-commitments{background:var(--wash);border-block:1px solid var(--line)}
.commitment-list{list-style:none;padding:0;margin:0}
.commitment-list li{display:grid;grid-template-columns:50px 1fr 1.6fr;gap:28px;padding:30px 0;border-top:1px solid var(--line)}
.commitment-number{color:var(--teal);font-size:13px;font-weight:700;padding-top:4px}
.commitment-list h3{font-size:24px;line-height:1.35}
.commitment-list p{color:var(--muted);font-size:14px;line-height:1.85;margin-bottom:15px}
.company-partners{background:var(--wash);border-block:1px solid var(--line)}
.company-contact{text-align:center}
.company-contact>div>p:not(.eyebrow){max-width:630px;margin:24px auto 28px;color:var(--muted);font-size:16px;line-height:1.8}
@media(max-width:800px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px}
  .company-hero{padding:44px 0 38px}.company-hero .lede{font-size:16px;margin:24px 0}.company-jump{gap:16px 24px}
  .company-purpose{padding:38px 0}.purpose-grid{grid-template-columns:1fr;gap:30px}
  .purpose-grid article+article{border-left:0;border-top:1px solid var(--line);padding:30px 0 0}.purpose-grid .purpose-statement{font-size:25px}
  .company-story{grid-template-columns:1fr;gap:26px}.company-story p:not(.eyebrow){font-size:14px}
  .commitment-list li{grid-template-columns:26px 1fr;gap:14px;padding:26px 0}.commitment-list li>div{grid-column:2}.commitment-list h3{font-size:22px}
  .company-contact>div>p:not(.eyebrow){font-size:15px}
}

/* Accredited partner contacts shared by the home and company pages. */
.partner-contact{margin-top:24px}
.partner-contact .partner-contact-intro{font-size:13px;line-height:1.7;color:var(--muted);margin:0 0 12px}
.accredited-partner{padding:28px;border:1px solid var(--line);border-radius:12px;background:var(--wash);min-width:0}
.accredited-partner-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.accredited-partner-heading img{width:260px;height:auto;max-width:100%}
.partner-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;line-height:1.4;font-weight:600;color:var(--teal)}
.partner-badge .icon{width:14px;height:14px}
.accredited-partner .accredited-partner-description{font-size:14px;line-height:1.7;color:var(--muted);margin:16px 0}
.partner-contact-actions{display:flex;align-items:center;gap:14px 24px;flex-wrap:wrap}
.partner-address{display:block;margin-top:10px;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
@media(max-width:600px){.accredited-partner{padding:20px}.accredited-partner-heading{align-items:flex-start;flex-direction:column;gap:12px}}

.partner-layout>.partner-contact{margin-top:0}
.partner-contact .partner-list-title{font-size:19px;letter-spacing:-.02em;line-height:1.3;margin:0 0 10px}
.accredited-partner-list{list-style:none;margin:0;padding:0;display:grid;gap:20px}
.accredited-partner-list>li{min-width:0}
.partner-overview{min-width:0}

/* Partner discovery and applications share one section across home/company. */
.partner-section .section-heading{margin-bottom:32px}
.partner-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.partner-path{padding:32px;border:1px solid var(--line);border-radius:var(--r-lg);display:flex;flex-direction:column;align-items:flex-start;background:var(--surface)}
.partner-path-find{background:var(--wash)}
.partner-path .eyebrow{font-size:11px;margin-bottom:18px}
.partner-path h3{font-size:clamp(23px,2vw,30px);line-height:1.25;letter-spacing:-.035em;margin:0 0 16px}
.partner-path>p:not(.eyebrow){color:var(--muted);line-height:1.7;margin:0 0 26px;max-width:65ch}
.partner-path>.button{margin-top:auto}
.partner-directory-hero{padding:64px 0 24px;border-bottom:1px solid var(--line)}
.partner-directory-hero .section-heading{align-items:center;margin-bottom:24px}
.partner-directory-hero h1{font-size:clamp(36px,4vw,58px);letter-spacing:-.045em;line-height:1.1;margin:0}
.partner-directory-hero .lede{max-width:68ch;margin:24px 0 0}
.partner-directory.section{padding-top:32px}
.partner-search{max-width:760px}
.partner-search label{display:block;font-weight:600;font-size:14px;margin-bottom:10px}
.partner-search-controls{display:flex;gap:12px}
.partner-search input{min-width:0;flex:1;border:1px solid var(--line);border-radius:8px;padding:14px 16px;background:var(--surface);color:var(--ink);font:inherit}
.partner-count{font-size:14px;color:var(--muted);margin:24px 0 18px}
.partner-directory-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:32px}
.partner-directory .accredited-partner{padding:32px;background:var(--surface)}
.partner-city{font-size:24px;line-height:1.3;margin:28px 0 0}
.partner-city span{display:block;font-size:14px;font-weight:500;color:var(--muted);letter-spacing:0;margin-top:6px}
.partner-office{font-size:14px;font-style:normal;line-height:1.7;display:grid;gap:8px;padding-top:20px;border-top:1px solid var(--line);margin-top:24px}
.partner-location-actions{display:flex;flex-wrap:wrap;gap:12px 24px;margin:20px 0 28px}
.partner-location-actions .text-link{font-size:13px}
.partner-map{padding:24px 24px 16px;border:1px solid var(--line);border-radius:12px;background:var(--wash);scroll-margin-top:100px}
.partner-map h2{font-size:20px;line-height:1.3;margin:0 0 10px}
.partner-map>p{color:var(--muted);font-size:13px;line-height:1.6;max-width:65ch;margin:0}
.partner-map-canvas{position:relative;max-width:600px;margin:0 auto}
.partner-map-canvas>svg{display:block;width:100%;height:auto;fill:var(--teal-soft);stroke:var(--teal);stroke-width:.7}
.partner-map-pin{position:absolute;display:flex;align-items:center;gap:9px;transform:translate(-10px,-50%);text-decoration:none;min-height:44px;color:var(--teal);z-index:1}
.map-pin-dot{width:20px;height:20px;flex:none;border-radius:50%;background:var(--teal);border:4px solid var(--surface);box-shadow:0 0 0 2px var(--teal)}
.map-pin-label{background:var(--surface);padding:8px 12px;border:1px solid var(--line);border-radius:8px;box-shadow:0 4px 12px var(--line);font-size:14px;font-weight:700;line-height:1.3;white-space:nowrap}
.map-pin-label small{display:block;font-size:11px;font-weight:500;margin-top:3px}
.map-attribution{display:block;text-align:right;font-size:10px;color:var(--muted)}
.map-attribution a{color:inherit}
.partner-empty{padding:32px;border:1px solid var(--line);border-radius:12px}
.partner-empty h2{font-size:24px;line-height:1.3;margin:0 0 16px}
.partner-empty p{color:var(--muted);line-height:1.7;margin:0 0 24px}
.accredited-partner{scroll-margin-top:100px}
.accredited-partner:target{border-color:var(--teal)}
#contact-introduction h2{white-space:pre-line}
.request-tabs{flex-wrap:wrap}
.request-tabs button{flex:1 1 auto}
@media(max-width:900px){.partner-directory-layout{grid-template-columns:1fr}.partner-map-canvas{max-width:460px}.partner-directory-hero .section-heading{display:block}.partner-directory-hero .section-heading>.button{margin-top:24px}}
@media(max-width:700px){.partner-paths{grid-template-columns:1fr}.partner-path,.partner-directory .accredited-partner{padding:24px}.partner-directory-hero{padding-top:40px}.partner-map{padding:20px 12px 12px}.partner-search-controls{flex-wrap:wrap}.partner-search input{flex-basis:100%}.map-pin-label{font-size:12px;padding:6px 8px}.map-pin-label small{font-size:10px}.partner-directory-layout{gap:24px}}


.verification-block{margin:20px 0;min-width:0}.verification-status{font-size:12px;color:var(--muted);margin:8px 0}.verification-block .text-link{border:0;background:none;padding:4px 0;cursor:pointer}

/* Ten modules in a three-column grid leave one card alone on the last row:
   let it take the full width so the rule under it reads as a row, not a stub. */
@media(min-width:801px){.module-grid>.module-card:last-child:nth-child(3n+1){grid-column:1/-1}.module-grid>.module-card:last-child:nth-child(3n+2){grid-column:span 2}}
@media(min-width:421px) and (max-width:800px){.module-grid>.module-card:last-child:nth-child(2n+1){grid-column:1/-1}}

/* ── the phone strip ─────────────────────────────────────────────────────────
   Four portrait captures in a row. They are 1206x2622, so `aspect-ratio` holds
   the slot before the lazy image arrives and the section does not jump.

   The frame is a button because each shot opens in the same lightbox the
   desktop screenshots use — `data-zoom` carries the 2x file. */
.mobile-section{background:var(--wash);border-top:1px solid var(--line)}
.phone-strip{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:34px;padding:0;margin:0}
.phone-item{min-width:0}
.phone{display:block;width:100%;padding:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow-lg)}
.phone img{width:100%;height:auto;aspect-ratio:1206/2622}
.phone-item h3{font-size:15px;letter-spacing:-.015em;line-height:1.4;margin-top:20px}
.phone-item p{font-size:12px;color:var(--muted);margin-top:8px;line-height:1.75}
/* Two-up rather than a four-across squeeze: at 800px each phone would be 170px
   wide and the 12px UI text inside it stops being readable at all. */
@media(max-width:800px){.phone-strip{grid-template-columns:1fr 1fr;gap:26px 20px}.phone-item h3{font-size:14px;margin-top:15px}}
/* The app's store badges (.deploy/store-badges.mjs): the stores' own dark
   lozenge, logo and two-line lockup, in the site's darkest ink. Under the
   «Custodo in tasca» intro, and smaller in every footer. The footer's own link
   rules target direct children of a column, which these are not; its hover
   colour is overridden below, or the name would turn navy on navy. */
.store-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.store-badge{display:inline-flex;align-items:center;gap:10px;min-height:50px;padding:7px 18px 7px 13px;border:1px solid var(--navy);border-radius:10px;background:var(--navy);color:var(--bg);line-height:1.15;transition:background .2s ease,border-color .2s ease}
.store-badges .store-badge:hover{background:var(--indigo);border-color:var(--indigo);color:var(--bg)}
.store-badge:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
.store-badge-mark{width:24px;height:24px;flex-shrink:0;fill:currentColor}
.store-badge-text{display:flex;flex-direction:column;align-items:flex-start}
.store-badge-kicker{font-size:11px;font-weight:500;letter-spacing:.01em}
.store-badge-name{font-size:17px;font-weight:650;letter-spacing:-.01em}
.store-badges-footer{gap:8px;margin-top:20px}
.store-badges-footer .store-badge{min-height:44px;padding:5px 14px 5px 11px;border-radius:9px;gap:8px}
.store-badges-footer .store-badge-mark{width:20px;height:20px}
.store-badges-footer .store-badge-kicker{font-size:10px}
.store-badges-footer .store-badge-name{font-size:14px}

/* Four demo steps do not fit one row on a phone: with the fourth tab the page
   scrolled 45px wider than a 320px viewport, because `flex:1` will not shrink a
   button below the width of its own label. Two-up, and let them shrink. */

/* ── 2026-09-27 · modules by area, the Q&A and the pricing page ───────────── */
/* Modules grouped by area: an index to scan, not a wall of seventeen cards. */
.area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 56px}
.area-title{font-size:13px;font-weight:800;letter-spacing:.12em;line-height:1.4;text-transform:uppercase;color:var(--teal);padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:8px}
.area-modules{list-style:none;margin:0;padding:0}
.area .module-card{gap:14px;padding:12px;margin:0 -12px;border-bottom:0;border-radius:10px}
.area .module-card:hover{background:var(--wash)}
.area .module-card .icon-tile{width:38px;height:38px;border-radius:9px}
.module-text{display:flex;flex-direction:column;gap:3px;min-width:0}
.module-name{font-size:15px;font-weight:700;letter-spacing:-.01em;line-height:1.35;color:var(--ink)}
.area .module-card:hover .module-name{color:var(--teal)}
.module-body{font-size:12.5px;line-height:1.55;color:var(--muted)}

/* Q&A: the question as a customer would ask it, the answer in one line first. */
.faq-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:34px}
.faq-head .eyebrow{margin-bottom:18px}
.faq-more{font-size:17px;line-height:1.6;color:var(--muted)}
.faq-more a{color:var(--teal);font-weight:700;text-decoration:underline;text-underline-offset:4px}
.faq-section .faq-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.faq-section .faq-list details,.faq-section .faq-list details:first-child{border:0}
.faq-section .faq-list details+details{border-top:1px solid var(--line)}
.faq-section .faq-list summary{gap:24px;padding:24px 30px;font-size:19px;font-weight:600;letter-spacing:-.01em;line-height:1.4}
/* The pillar pages keep the older «+» marker, which `.faq-list summary>span` styles and rotates. */
.faq-section .faq-list details summary>span,.faq-section .faq-list details[open] summary>span{font-size:inherit;font-weight:inherit;color:inherit;transform:none}
.faq-section .faq-list details[open] summary{background:var(--teal-soft)}
.faq-section .faq-list summary:hover{color:var(--teal)}
.faq-chevron{width:22px;height:22px;color:var(--ink);transition:transform .2s}
.faq-section details[open] .faq-chevron{transform:rotate(180deg)}
.faq-answer{padding:22px 30px 26px;border-top:1px solid var(--line)}
.faq-lead{font-size:16px;font-weight:650;line-height:1.5;color:var(--ink)}
.faq-answer>p+p{max-width:880px;margin-top:10px;font-size:14px;line-height:1.8;color:var(--muted)}

@media(max-width:1150px){.area-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 44px}}
@media(max-width:800px){.faq-head{display:block}.faq-more{margin-top:14px;font-size:15px}.faq-section .faq-list summary{padding:18px 20px;font-size:16px}.faq-answer{padding:18px 20px 22px}}
@media(max-width:640px){.area-grid{grid-template-columns:1fr;gap:32px}}
@media(prefers-reduced-motion:reduce){.faq-chevron{transition:none}}

/* The pricing page (/prezzi, /en/pricing/): the packages, then the price list
   that used to close /moduli — limits per module, extra capacity, and what each
   module contains. The table rules below moved here from details.css with it. */
.pricing-hero{padding:72px 0 8px}
.pricing-hero h1{font-size:clamp(40px,5vw,64px);max-width:980px}
.pricing-hero .lede{max-width:760px;margin:26px 0 0;font-size:18px;color:var(--muted)}
.pricing-packages{padding-top:48px}
.enterprise-band{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:20px;padding:24px 30px;border:1px solid var(--line);border-radius:12px;background:var(--wash)}
.enterprise-band h3{font-size:21px}
.enterprise-band p{margin-top:6px;font-size:14px;color:var(--muted)}
.enterprise-band .button{flex-shrink:0}
.price-note{margin-top:22px;font-size:12px;line-height:1.7;color:var(--muted);max-width:820px}
.price-list{padding:80px 0;border-top:1px solid var(--line)}
#capacita{background:var(--wash)}
@media(max-width:800px){.pricing-hero{padding:40px 0 0}.pricing-hero .lede{font-size:16px}.pricing-packages{padding-top:32px}.enterprise-band{flex-direction:column;align-items:flex-start;padding:22px}.price-list{padding:56px 0}}
/* The package table sells the volume; a module card only says what it contains. */
.commercial-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(380px, 1fr)); gap:20px; }
.commercial-module { border:1px solid var(--line); border-radius:16px; padding:20px; background:var(--surface); min-width:0; display:flex; flex-direction:column; gap:12px; }
.commercial-module h3 { margin:0; font-size:20px; }
/* Positioned so it contains the .sr-only tick labels (position:absolute): contained by the page
   instead, they escape this scroller's clip and widen a phone page, which then zooms out. */
.commercial-table-wrap { overflow-x:auto; position:relative; }
.commercial-table { width:100%; border-collapse:collapse; font-size:13px; line-height:1.4; }
.commercial-table th, .commercial-table td { padding:7px 8px; border-bottom:1px solid var(--line); text-align:center; vertical-align:middle; }
.commercial-table th[scope="row"] { text-align:left; font-weight:500; color:var(--ink); }
.commercial-table thead th { vertical-align:bottom; border-bottom:2px solid var(--line); }
.commercial-table thead th:first-child { width:42%; }
.commercial-table .tier-name { display:block; font-size:13px; font-weight:700; }
.commercial-table .tier-price { display:block; font-size:17px; font-weight:750; letter-spacing:-0.01em; white-space:nowrap; }
.commercial-table .tier-price small { font-size:11px; font-weight:400; }
.commercial-table .tier-year { display:block; font-size:11px; color:var(--muted); white-space:nowrap; }
.commercial-table tr.group th { text-align:left; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; color:var(--muted); padding-top:12px; border-bottom:1px solid var(--line); }
.commercial-table td.yes { color:var(--success); }
.commercial-table td.no { color:var(--muted); }
.commercial-table .tick { display:inline-block; vertical-align:middle; }
.commercial-table .sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.commercial-note { font-size:13px; line-height:1.6; color:var(--muted); margin:0; }
/* Six columns do not fit a phone. The wrap scrolls them; the min-width stops
   the browser squeezing «1.024 GB» into two lines on a laptop instead. */
.plans-wrap { margin-top:28px; }
.commercial-plans { min-width:720px; }
.commercial-plans thead th:first-child { width:26%; }
.commercial-plans td { white-space:nowrap; }
.plans-foot { margin-top:14px; }
/* Capacity packs and add-ons: a name on the left, a price on the right. */
.capacity-list { list-style:none; padding:0; margin:28px 0 0; display:grid; grid-template-columns:repeat(auto-fill, minmax(330px, 1fr)); gap:10px 20px; }
.capacity-list li { display:flex; align-items:baseline; justify-content:space-between; gap:16px; font-size:14px; padding:12px 15px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.capacity-list small { display:block; font-size:11px; font-weight:400; color:var(--muted); }
.capacity-list strong { white-space:nowrap; text-align:right; }
/* What a module contains, ticked. No price, no column and no dash. */
.commercial-includes { list-style:none; padding:0; margin:0; display:grid; gap:8px; font-size:13px; line-height:1.5; }
.commercial-includes li { display:flex; align-items:flex-start; gap:9px; color:var(--muted); }
.commercial-includes .tick { flex-shrink:0; color:var(--success); margin-top:1px; }
.commercial-includes em { font-style:normal; color:var(--brass); }
@media(max-width:850px) { .commercial-grid { grid-template-columns:minmax(0,1fr); } .capacity-list { grid-template-columns:minmax(0,1fr); } }

/* «Soluzioni» (2026-09-28): the same modules seen from one kind of business.
   The hub lists the sectors; a solution page tells, with real screenshots,
   how that business uses the modules, then lists them with its own words. */
.module-sectors{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:0;font-size:13px;color:var(--muted)}
.solutions-hero,.solution-hero{padding:72px 0 24px}
.solutions-hero h1{font-size:clamp(40px,5vw,64px);max-width:980px}
.solutions-hero .lede{max-width:760px;margin:26px 0 0;font-size:18px;color:var(--muted)}
.solutions-list{padding-top:40px}
.solution-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.solution-card{display:flex;flex-direction:column;gap:16px;padding:28px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);transition:border-color .15s,box-shadow .15s}
a.solution-card:hover{border-color:var(--teal);box-shadow:var(--shadow-md)}
.solution-card-text{display:flex;flex-direction:column;gap:8px}
.solution-card-name{font-size:21px;font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.solution-card-body{font-size:14px;line-height:1.65;color:var(--muted)}
.solution-card-go{display:inline-flex;align-items:center;gap:10px;margin-top:auto;font-size:13px;font-weight:700;color:var(--teal)}
.solution-card-go .icon{width:17px}
.solution-card-missing{border-style:dashed;background:var(--wash)}
.solution-card-missing .text-link{margin-top:auto}
.solution-hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center}
.solution-hero h1{font-size:clamp(38px,4.4vw,60px)}
.solution-hero .lede{max-width:560px;margin:24px 0 30px;font-size:17px;color:var(--muted)}
.solution-hero .actions{display:flex;flex-wrap:wrap;gap:12px}
.solution-shot{margin:0}
.solution-shot-frame{display:block;width:100%;padding:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow-md);cursor:zoom-in}
.solution-shot-frame img{width:100%;height:auto;aspect-ratio:1200/750}
.solution-shot figcaption{margin-top:10px;font-size:12px;line-height:1.6;color:var(--muted)}
.use{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center;padding:48px 0;border-top:1px solid var(--line)}
.use:first-of-type{border-top:0;padding-top:8px}
.use-flip .use-text{order:2}
.use-modules{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.module-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px 5px 8px;border-radius:var(--r-pill);background:var(--teal-soft);color:var(--teal);font-size:12px;font-weight:700;line-height:1.4}
.module-chip .icon{width:15px;height:15px}
.module-chip:hover{background:var(--teal);color:var(--bg)}
.use h3{font-size:26px;letter-spacing:-.025em}
.use-text>p{margin-top:14px;font-size:15px;line-height:1.75;color:var(--muted)}
.use ul{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:10px}
.use li{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.55}
.use li .icon{width:17px;height:17px;margin-top:2px;color:var(--teal)}
.solution-modules{background:var(--wash)}
.solution-others{margin-top:30px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:14px;color:var(--muted)}
.cta-band{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:40px 44px;border-radius:var(--r-lg);background:var(--grad-cta);color:var(--bg)}
.cta-band h2{font-size:clamp(26px,2.6vw,34px);color:var(--bg)}
.cta-band p{margin-top:10px;max-width:640px;font-size:15px;line-height:1.7;color:color-mix(in srgb,var(--bg) 80%,transparent)}
.cta-band .actions{display:flex;flex-wrap:wrap;gap:12px;flex-shrink:0}
.cta-band .button.primary{background:var(--bg);color:var(--navy);border-color:var(--bg)}
.cta-band .button.quiet{color:var(--bg)}
@media(max-width:1150px){.solution-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.solution-hero-grid,.use{gap:36px}}
@media(max-width:900px){.solution-hero-grid,.use{grid-template-columns:1fr}.use-flip .use-text{order:0}.cta-band{flex-direction:column;align-items:flex-start}}
@media(max-width:800px){.solutions-hero,.solution-hero{padding:40px 0 8px}.solutions-hero .lede{font-size:16px}.solution-cards{grid-template-columns:1fr}.use{padding:36px 0}.use h3{font-size:22px}.cta-band{padding:28px 24px}}

/* Section intros sit UNDER their title, on every page (owner, 2026-09-28):
   beside it, on a wide screen, the paragraph drifted to the far right edge of
   the page, away from the title it introduces. Phones already stacked them.
   The partner directory hero keeps its button beside the title. */
.section-heading{display:block;margin-bottom:40px}
.section-heading>p{margin-top:18px;max-width:760px;font-size:16px}
.partner-directory-hero .section-heading{display:flex}
@media(max-width:900px){.partner-directory-hero .section-heading{display:block}}
@media(max-width:800px){.section-heading{margin-bottom:32px}.section-heading>p{font-size:14px}}

/* ── 2026-10-08 · the light users and every limit on the price cards ─────────
   «* Limitazioni per modulo» opens the package's own limits inside its card
   (commercial.mjs → renderPlanLimits). The note, the disclosure and the button
   stand on the card's floor, so closed cards keep them on one line and open
   ones start their lists on one line. The figure column has one fixed width and
   `minmax(0,1fr)` gives the cards one width, so a name wraps alike in every
   card and the rows of four open lists stay level; site.js opens them together
   where the cards stand side by side. */
.pricing-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.price-card .price-extra{margin:auto 0 0;padding-top:8px}
.price-card .button{margin-top:0}
.price-limits{margin:3px 0 22px}
.price-limits>summary{display:inline-flex;align-items:center;gap:5px;font-size:11px;line-height:1.55;cursor:pointer;list-style:none}
.price-limits>summary::-webkit-details-marker{display:none}
.price-limits>summary>span{color:var(--teal);text-decoration:underline;text-underline-offset:3px}
.price-limits>summary:hover>span{color:color-mix(in srgb,var(--teal) 80%,var(--ink))}
.price-limits-chevron{width:14px;height:14px;color:var(--teal);transition:transform .2s}
.price-limits[open] .price-limits-chevron{transform:rotate(180deg)}
.price-limits-body{margin-top:12px;padding-top:2px;border-top:1px solid var(--line);font-size:12px;line-height:1.45}
.price-limits-group{margin:14px 0 4px;font-size:10px;font-weight:700;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.price-limits dl{margin:0}
.price-limits dl>div{display:grid;grid-template-columns:minmax(0,1fr) 5.8em;gap:10px;align-items:baseline;padding:3px 0}
.price-limits dt{color:var(--ink)}
.price-limits dd{margin:0;text-align:right;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.price-limits-uncapped{margin-top:14px;font-size:11px;line-height:1.55;color:var(--muted)}
.price-limits-uncapped strong{font-weight:650;color:var(--ink)}
.price-limits-more{display:inline-block;margin-top:10px;font-size:11px;font-weight:700;color:var(--teal);text-decoration:underline;text-underline-offset:3px}
.price-limits-more:hover{color:color-mix(in srgb,var(--teal) 80%,var(--ink))}
@media(max-width:1150px){.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.pricing-grid{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.price-limits-chevron{transition:none}}

/* ── 2026-10-11 · «Assistenti AI» (/assistenti-ai, /en/ai-assistants/) ─────────
   The documentation and support page the connector directories link to
   (.deploy/assistants-page.mjs): what a connected assistant can do, how to
   connect and authorise it, its limits, and where to ask for help. White and
   wash sections alternate as on the company page; every .wrap stays full width,
   which the site e2e measures, so narrower measures live on inner elements. */
.ai-hero{padding:64px 0 60px;background:linear-gradient(180deg,var(--wash),var(--bg));border-bottom:1px solid var(--line)}
.ai-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:56px;align-items:center}
.ai-hero h1{font-size:clamp(38px,4.6vw,62px);letter-spacing:-.045em;line-height:1.08}
.ai-hero .lede{max-width:680px;margin:24px 0 28px;font-size:17px}
.ai-jump{display:flex;flex-wrap:wrap;gap:12px 28px}
.ai-address{padding:28px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-md)}
.ai-address-label{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:700;line-height:1.5;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.ai-address-label .icon{width:18px;height:18px}
.ai-address-value{margin:14px 0 16px}
.ai-address-value code,.ai-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace}
.ai-address-value code{display:block;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--wash);font-size:17px;font-weight:600;line-height:1.5;color:var(--ink);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}
.ai-address-note{font-size:13px;line-height:1.7;color:var(--muted)}
.ai-address-note+.ai-address-note{margin-top:8px}
.ai-code{padding:2px 7px;border-radius:5px;background:var(--teal-soft);color:var(--teal);font-size:.92em;font-weight:600;overflow-wrap:anywhere}
.ai-capability-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 44px}
.ai-capability{display:flex;align-items:flex-start;gap:16px;padding:26px 0;border-top:1px solid var(--line)}
.ai-capability .icon-tile{width:42px;height:42px;border-radius:10px}
.ai-capability h3{font-size:18px;letter-spacing:-.015em;line-height:1.35}
.ai-capability p{margin-top:6px;font-size:14px;line-height:1.7;color:var(--muted)}
.ai-more{margin-top:26px}
.ai-band{background:var(--wash);border-block:1px solid var(--line)}
.ai-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:start}
.ai-split-copy>p:not(.eyebrow){margin-top:18px;max-width:620px;font-size:15px;line-height:1.8;color:var(--muted)}
.ai-split-copy>h2+p:not(.eyebrow){margin-top:24px}
.ai-split-copy>p:first-child:not(.eyebrow){margin-top:0}
.ai-card-kinds{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.ai-card-kinds li{display:flex;align-items:center;gap:16px;padding:16px 20px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow)}
.ai-card-kinds .icon-tile{width:40px;height:40px;border-radius:10px}
.ai-card-kind-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.ai-card-kind-text strong{font-size:15px;line-height:1.4}
.ai-card-kind-text span{font-size:13px;line-height:1.55;color:var(--muted)}
.ai-client-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ai-client{display:flex;flex-direction:column;padding:28px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}
.ai-client h3{font-size:21px;line-height:1.3}
.ai-client ol{list-style:none;margin:20px 0 22px;padding:0;display:grid;gap:14px;counter-reset:ai-step}
.ai-client li{counter-increment:ai-step;display:grid;grid-template-columns:26px minmax(0,1fr);gap:12px;font-size:14px;line-height:1.65}
.ai-client li::before{content:counter(ai-step);display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--teal-soft);color:var(--teal);font-size:12px;font-weight:700;line-height:1}
.ai-client-note{margin-top:auto;padding-top:16px;border-top:1px solid var(--line);font-size:12.5px;line-height:1.65;color:var(--muted)}
.ai-choices{display:grid;gap:14px}
.ai-choice{display:grid;grid-template-columns:34px minmax(0,1fr);gap:16px;padding:24px 26px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}
.ai-choice-number{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--teal);color:var(--bg);font-size:14px;font-weight:700}
.ai-choice h3{padding-top:4px;font-size:19px;line-height:1.35}
.ai-choice p{margin-top:8px;font-size:14px;line-height:1.75;color:var(--muted)}
.ai-auth-note{display:flex;align-items:flex-start;gap:12px;padding:18px 22px;border-radius:var(--r-md);background:var(--teal-soft);font-size:14px;line-height:1.7;color:var(--ink)}
.ai-auth-note .icon{width:20px;height:20px;margin-top:2px;color:var(--teal)}
.ai-safety{padding-bottom:56px}
.ai-safety-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px}
.ai-safety-list li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:14px;padding:26px 0;border-top:1px solid var(--line)}
.ai-safety-list .icon{width:22px;height:22px;margin-top:3px;color:var(--teal)}
.ai-safety-list h3{font-size:19px;line-height:1.35}
.ai-safety-list p{margin-top:8px;font-size:14px;line-height:1.75;color:var(--muted)}
.ai-data{padding-top:0}
.ai-data .ai-split{padding-top:56px;border-top:1px solid var(--line)}
.ai-split-copy>.ai-links{display:flex;flex-wrap:wrap;gap:12px 28px}
.ai-support-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.ai-support-card{display:flex;flex-direction:column;align-items:flex-start;padding:32px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}
.ai-support-card .icon-tile{margin-bottom:20px}
.ai-support-card h3{font-size:clamp(21px,1.8vw,26px);line-height:1.25}
.ai-support-card p{margin:12px 0 26px;max-width:62ch;font-size:15px;line-height:1.75;color:var(--muted)}
.ai-support-card .button{margin-top:auto}
.ai-support-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 32px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line);font-size:13px;line-height:1.6;color:var(--muted)}
.ai-support-foot .text-link{margin-left:6px}
@media(max-width:1150px){.ai-hero-grid,.ai-split{gap:40px}.ai-capability-grid,.ai-client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-client:last-child:nth-child(odd){grid-column:1/-1}}
@media(max-width:900px){.ai-hero-grid,.ai-split,.ai-safety-list{grid-template-columns:minmax(0,1fr)}}
@media(max-width:800px){.ai-hero{padding:40px 0}.ai-hero .lede{margin:22px 0 24px;font-size:16px}.ai-address{padding:22px}.ai-address-value code{font-size:15px}.ai-capability-grid,.ai-client-grid,.ai-support-grid{grid-template-columns:minmax(0,1fr)}.ai-client,.ai-support-card{padding:24px}.ai-choice{gap:14px;padding:20px}.ai-safety{padding-bottom:40px}.ai-data .ai-split{padding-top:40px}.ai-support-foot{display:block}.ai-support-foot p+p{margin-top:10px}}
@media(max-width:420px){.ai-jump{gap:10px 20px}.ai-choice{grid-template-columns:minmax(0,1fr)}.ai-choice-number{width:30px;height:30px;font-size:13px}}
