/* Multipage extension of the established Pactum / Assytech visual system. */
.page-shell{width:min(1360px,100%);margin-inline:auto;box-sizing:border-box}
.site-nav-inner{width:100%;max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between!important;gap:24px}
.site-brand{display:flex;flex:none;align-items:center;width:124px;height:44px}
.site-brand img{display:block;width:124px!important;height:32px!important;object-fit:contain}
.site-nav-links{display:flex;align-items:center;gap:24px;margin-left:auto}
.site-nav-links a,.site-nav-contact{font:500 14px/1.3 "Inter",sans-serif;color:#fff;text-decoration:none;white-space:nowrap}
.site-nav-contact{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:0 20px;border-radius:100px;background:#fff;color:#1a1a1a;flex:none}
.site-nav-contact svg{flex:none}
nav.assy-scrolled .site-nav-contact{background:#1a1a1a!important;color:#fff!important}
.page-interior nav{background:#fff!important;box-shadow:0 1px 0 #ddd}
.page-interior nav .assy-logo{filter:none}
.page-interior nav a{color:#1a1a1a}
.page-interior nav .assy-menu-button{color:#1a1a1a}
.page-interior nav .site-nav-contact{background:#1a1a1a;color:#fff}
nav .site-nav-links a[aria-current="page"]{color:#ff7474!important}
.page-interior nav .site-nav-links a[aria-current="page"],nav.assy-scrolled .site-nav-links a[aria-current="page"]{color:#ae1b1b!important}
.interior-main{display:block!important;width:100%;background:white;overflow:visible}
.page-hero{padding:152px 40px 88px;background:#fff;color:#1a1a1a;overflow:hidden}
.hero-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:72px;align-items:center}
.hero-editorial{min-width:0}
.eyebrow{font:500 14px/1.5 "Inter",sans-serif;margin:0 0 24px;color:#505050;letter-spacing:0}
.eyebrow::before{content:"";display:inline-block;vertical-align:middle;width:5px;height:5px;background:#f22626;margin-right:10px}
.page-hero h1,.contact-page-intro h1{font:400 clamp(48px,6.1vw,88px)/1.04 "Rethink Sans",sans-serif;letter-spacing:-.04em;margin:0 0 32px;text-wrap:balance;overflow-wrap:break-word}
.hero-description{font:400 18px/1.6 "Inter",sans-serif;color:#505050;margin:0 0 32px;max-width:55ch}
.page-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.page-button,.solution-action{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:48px;padding:12px 24px;box-sizing:border-box;border:1px solid #1a1a1a;border-radius:100px;text-decoration:none;font:500 16px/1.4 "Inter",sans-serif;background:#1a1a1a;color:#fff;transition:background .2s var(--ease-out),color .2s var(--ease-out);max-width:100%}
.page-button svg,.solution-action svg{flex:none;transition:translate .25s var(--ease-out)}
.page-button.outline{background:transparent;color:#1a1a1a}
.page-hero-photo{overflow:hidden;min-width:0;height:560px}
.page-hero-photo img{display:block;width:100%;height:100%;object-fit:cover}
.content-section{position:relative;width:100%;padding:88px 40px;background:#fff;color:#1a1a1a;box-sizing:border-box}
.editorial-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}
.content-section h2,.solutions-section h2,.closing-band h2{font:400 clamp(32px,3.8vw,54px)/1.1 "Rethink Sans",sans-serif;letter-spacing:-.03em;margin:0 0 32px;text-wrap:balance;max-width:28ch}
.editorial-body{min-width:0}
.editorial-body>p,.editorial-body li,.contact-page-intro>div>p:last-child{font:400 18px/1.65 "Inter",sans-serif;color:#505050;margin:0 0 24px;max-width:68ch}
.editorial-list{margin:0;padding-left:24px}
.editorial-list li{padding-left:8px;margin-bottom:18px}
.source-link{display:inline-flex;align-items:center;gap:12px;color:#ae1b1b;font:400 15px/1.6 "Inter",sans-serif;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.source-link svg{flex:none}
.dark{background:#1a1a1a;color:#fff}
.dark h1,.dark h2,.dark h3{color:#fff}
.dark .eyebrow,.dark .hero-description,.dark .editorial-body>p,.dark .editorial-body li,.dark .assetti-grid p,.dark .reading-list p{color:#d5d5d5}
.dark .page-button{background:#fff;border-color:#fff;color:#1a1a1a}
.dark .page-button.outline{background:transparent;color:#fff}
.dark .source-link{color:#ff7474}
.assetti-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid #555;margin-top:48px}
.assetti-grid article{padding:32px;min-width:0}
.assetti-grid article+article{border-left:1px solid #555}
.editorial-index{display:block;color:#ae1b1b;font:500 16px/1.5 "Inter",sans-serif;font-variant-numeric:tabular-nums;margin-bottom:24px}
.dark .editorial-index{color:#ff7474}
.assetti-grid h3,.method-steps h3,.reading-list h3{font:400 30px/1.2 "Rethink Sans",sans-serif;letter-spacing:-.025em;margin:0 0 20px}
.assetti-grid p,.reading-list p{font:400 16px/1.6 "Inter",sans-serif;margin:0;color:#505050}
.method-steps{margin:0;padding:0;list-style:none}
.method-steps li{display:grid;grid-template-columns:48px 1fr;gap:24px;border-top:1px solid #d0d0d0;padding:28px 0;margin:0}
.method-steps li:last-child{border-bottom:1px solid #d0d0d0}
.method-steps .editorial-index{margin:0}
.method-steps p{font:400 17px/1.65 "Inter",sans-serif;color:#505050;margin:0}
.reading-list{display:flex;flex-direction:column}
.reading-list>a{position:relative;display:block;padding:28px 40px 28px 0;border-top:1px solid #ccc;color:inherit;text-decoration:none}
.reading-list>a:last-child{border-bottom:1px solid #ccc}
.reading-list>a>svg{position:absolute;right:0;top:32px}
.reading-list .eyebrow{margin-bottom:16px}
.reading-list h3{max-width:30ch}
.dark .reading-list>a{border-color:#555}
.service-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #d0d0d0;margin-top:40px;gap:1px;background:#d0d0d0}
.service-directory>a{display:grid;grid-template-columns:40px minmax(0,1fr) 20px;gap:10px 24px;padding:28px;background:#fff;color:#1a1a1a;text-decoration:none;min-width:0}
.service-directory .editorial-index{margin:0;grid-row:1/3}
.service-directory h3{font:400 28px/1.2 "Rethink Sans",sans-serif;margin:0}
.service-directory p{font:400 15px/1.6 "Inter",sans-serif;color:#505050;margin:0;grid-column:2}
.service-directory svg{grid-column:3;grid-row:1/3;align-self:center}
.closing-band{padding:64px 40px;background:#f22626;color:#080808;box-sizing:border-box;width:100%}
.closing-band>.page-shell{display:flex;align-items:center;justify-content:space-between;gap:40px}
.closing-band h2{margin:0;color:#080808;max-width:24ch}
.closing-band .page-button{flex:none}
.contact-page-intro{padding:144px 40px 64px;background:#fff;color:#1a1a1a}
.contact-page-intro h1{max-width:18ch}
.page-interior #contatti{scroll-margin-top:80px}
.page-interior #faqs{background:white;padding:72px 40px;box-sizing:border-box}
.page-interior #faqs>div{max-width:1360px;margin-inline:auto}
.method-number{display:block;color:#737373!important;font:400 88px/1 "Rethink Sans",sans-serif!important;letter-spacing:-.03em!important;margin:0}

/* One set of aligned cards, without Framer SSR variant sizing wrappers. */
.solutions-section{padding:88px 40px;width:100%;box-sizing:border-box;background:#1a1a1a;color:#fff;position:relative}
.solutions-section .eyebrow{color:#d5d5d5}
.solutions-section h2{max-width:25ch;color:#fff;margin-bottom:48px}
.solution-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 1px;background:#444;border:1px solid #444}
.solution-card{display:grid;grid-template-rows:auto auto 1fr auto;min-width:0;background:#1a1a1a;overflow:hidden}
.solution-photo{position:relative;aspect-ratio:1.5;overflow:hidden}
.solution-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out)}
.solution-label{position:absolute;left:8px;top:8px;z-index:1;background:#1a1a1a;color:#ff7474;padding:8px 12px;font:500 13px/1.4 "Inter",sans-serif}
.solution-card h3{font:500 24px/1.2 "Rethink Sans",sans-serif;color:white;margin:0;padding:32px 32px 24px}
.solution-card>p{font:400 16px/1.6 "Inter",sans-serif;color:#d5d5d5;margin:0;padding:0 32px 24px}
.solution-action{align-self:end;justify-self:start;margin:0 32px 32px;background:transparent;color:#fff;border-color:#d5d5d5}
.solutions-caption{max-width:66ch;text-align:center;margin:40px auto 0;color:#d5d5d5;font:400 18px/1.6 "Inter",sans-serif}
@supports(grid-template-rows:subgrid){.solution-card{grid-template-rows:subgrid;grid-row:span 4;row-gap:0}}
@media(hover:hover) and (pointer:fine){
 .page-button:hover,.solution-action:hover{background:#ae1b1b;color:white;border-color:#ae1b1b}
 .page-button:hover svg,.solution-action:hover svg{translate:2px -2px}
 .solution-card:hover .solution-photo img{transform:scale(1.035)}
 .service-directory>a:hover{background:#f3f3f3}
 .reading-list>a:hover h3{text-decoration:underline;text-underline-offset:5px}
}
@media(max-width:1279.98px){
 .site-nav-links{display:none}.site-nav-contact{margin-right:44px;margin-left:auto}
 .page-hero{padding:128px 32px 64px}.hero-layout{gap:40px;grid-template-columns:1.15fr 1fr}.page-hero-photo{height:480px}
 .content-section,.solutions-section{padding:64px 32px}.editorial-layout{gap:40px}
 .solution-card h3{font-size:22px;padding:24px 24px 20px}.solution-card>p{padding:0 24px 24px}.solution-action{margin:0 24px 24px}
 .assetti-grid article{padding:24px}.closing-band{padding:48px 32px}.contact-page-intro{padding:128px 32px 48px}
}
@media(max-width:809.98px){
 .site-nav-contact{display:none}.site-nav-inner{padding-inline:20px!important}
 .page-hero{padding:112px 20px 48px}.hero-layout{grid-template-columns:1fr;gap:40px}
 .page-hero h1,.contact-page-intro h1{font-size:48px;line-height:1.04;margin-bottom:24px}
 .hero-description{font-size:16px;line-height:1.65;margin-bottom:28px}.eyebrow{font-size:13px;margin-bottom:20px}
 .page-hero-photo{height:auto;aspect-ratio:1.2}
 .content-section,.solutions-section{padding:48px 20px}.editorial-layout{grid-template-columns:1fr;gap:12px}
 .content-section h2,.solutions-section h2,.closing-band h2{font-size:36px;margin-bottom:24px}
 .editorial-body>p,.editorial-body li,.contact-page-intro>div>p:last-child{font-size:16px;line-height:1.65}
 .assetti-grid{grid-template-columns:1fr;margin-top:32px}.assetti-grid article{padding:28px 0}.assetti-grid article+article{border-left:0;border-top:1px solid #555}
 .assetti-grid .editorial-index{margin-bottom:16px}.assetti-grid h3,.method-steps h3,.reading-list h3{font-size:28px}
 .method-steps li{gap:16px;grid-template-columns:32px 1fr}.method-steps p{font-size:16px}
 .service-directory{grid-template-columns:1fr;margin-top:28px}.service-directory>a{padding:24px 20px;gap:8px 14px;grid-template-columns:28px 1fr 18px}.service-directory h3{font-size:25px}
 .closing-band{padding:40px 20px}.closing-band>.page-shell{align-items:flex-start;flex-direction:column;gap:28px}.closing-band h2{margin:0}
 .contact-page-intro{padding:112px 20px 40px}.page-interior #faqs{padding:48px 20px}
 .solution-grid{grid-template-columns:minmax(0,1fr);row-gap:1px}.solution-card{grid-template-rows:auto auto auto auto;grid-row:auto}
 .solution-card h3{font-size:25px}.solution-photo{aspect-ratio:1.5}.solutions-caption{font-size:16px;margin-top:28px}
 .method-number{font-size:64px!important}
}
@media(max-width:360px){.page-hero h1,.contact-page-intro h1{font-size:40px}.page-button,.solution-action{padding-inline:18px}.solution-card h3{font-size:23px}}
@media(prefers-reduced-motion:reduce){
 .page-button,.solution-action,.page-button svg,.solution-action svg,.solution-photo img{transition:none}
 .solution-card:hover .solution-photo img{transform:none}
}
