/* Le pagine interne condividono identità e spaziatura della home. */
.page-lead { padding-block:64px 82px; }
.inner-page h1 { font-family:var(--display); font-weight:800; font-size:clamp(64px,7.7vw,108px); letter-spacing:-.035em; line-height:.98; }
.inner-page h1 em { color:var(--blue); font-style:normal; }
.lead-copy { max-width:600px; font-size:21px; margin-top:27px; }
.service-lead { display:grid; grid-template-columns:1.35fr 1fr; gap:75px; align-items:end; }
.lead-index { padding-bottom:10px; }
.lead-index a { display:flex; justify-content:space-between; gap:16px; border-bottom:1px solid var(--line); padding:24px 0; text-decoration:none; font-size:19px; }
.lead-index a span { color:var(--blue); transition:transform .2s; }
.lead-index a:hover span { transform:translate(3px,-3px); }
.service-row { display:grid; grid-template-columns:1fr 1.15fr; align-items:center; gap:75px; padding:65px 0; border-top:1px solid var(--line); }
.service-row:nth-child(even) { grid-template-columns:1.15fr 1fr; }
.service-row:nth-child(even)>div { order:2; }
.service-row:nth-child(even)>a { order:1; }
.service-row h2 { font-size:clamp(38px,4.5vw,58px); }
.service-row p:not(.eyebrow) { margin-top:24px; max-width:460px; }
.service-row .text-link { margin-top:20px; }
.service-row .eyebrow { line-height:1.6; }
.service-row img { aspect-ratio:1.5; object-fit:cover; object-position:top; }
.editorial-section,.scope-layout,.example-section { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
.editorial-section h2,.scope-layout h2 { font-size:clamp(36px,4.5vw,60px); }
.editorial-section p,.scope-layout p { max-width:560px; }
.editorial-section .text-link { margin-top:25px; }
.scope-section { background:var(--paper); }
.scope-layout>div>p:not(.eyebrow) { margin-top:25px; }
.detail-rows article { padding:28px 0; border-top:1px solid var(--line); }
.detail-rows article:first-child { padding-top:0; border:0; }
.detail-rows h3 { font-size:25px; line-height:1.2; }
.detail-rows p { margin-top:14px; color:var(--muted); }
.example-section { align-items:center; }
.example-section h2 { font-size:46px; }
.example-section p:not(.eyebrow) { margin-top:23px; }
.example-section .text-link { margin-top:23px; }
.example-section img { box-shadow:0 12px 35px #152f4314; }
.service-detail-lead,.blue-page-lead { background:var(--blue); color:white; margin-top:26px; padding:68px 0 94px; clip-path:polygon(0 0,100% 0,100% 82%,95% 100%,0 100%); }
.service-detail-lead .eyebrow,.blue-page-lead .eyebrow { color:#e5edff; }
.service-detail-lead h1 { max-width:1000px; font-size:clamp(58px,6.7vw,93px); }
.service-detail-lead p:not(.eyebrow) { max-width:760px; margin-top:27px; font-size:19px; }
.service-detail-lead .button { margin-top:30px; }
.blue-page-lead p:not(.eyebrow) { font-size:20px; margin-top:28px; }
.portfolio-filters { display:flex; gap:8px; flex-wrap:wrap; }
.portfolio-filters button { background:white; border:1px solid var(--line); padding:12px 20px; font-size:14px; }
.portfolio-filters button[aria-pressed="true"] { color:white; background:var(--blue); border-color:var(--blue); }
.filter-count { color:var(--muted); font-size:12px; margin:16px 0 35px; }
.portfolio-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:65px 45px; align-items:start; }
.portfolio-work:first-child { grid-column:1/-1; display:grid; grid-template-columns:1.45fr 1fr; gap:55px; align-items:center; }
.portfolio-work h2 { font-size:38px; }
.portfolio-work h2 a { text-decoration:none; }
.portfolio-work h2 a:hover { text-decoration:none; text-underline-offset:5px; }
.portfolio-work:not(:first-child)>div { padding-top:22px; }
.portfolio-work:not(:first-child) h2 { font-size:29px; }
.portfolio-work .eyebrow { margin-bottom:16px; }
.portfolio-work p:not(.eyebrow) { color:var(--muted); margin-top:15px; }
.portfolio-work img { width:100%; aspect-ratio:1.5; object-fit:cover; object-position:top; }
.portfolio-work:first-child img { aspect-ratio:1.6; }
.case-lead h1 { max-width:1100px; }
.case-lead>div { display:grid; grid-template-columns:1fr 1fr; gap:70px; margin-top:42px; }
.case-lead h2 { font-size:34px; letter-spacing:-.035em; max-width:500px; line-height:1.1; }
.case-lead>div>p { font-size:18px; max-width:550px; }
.case-gallery { background:var(--paper); padding:32px 0; }
.case-gallery .gallery-controls { padding:0 0 25px; }
.case-gallery .gallery { padding:0; }
.case-gallery .gallery-mobile img { width:min(375px,100%); }
.case-note { display:flex; gap:40px; align-items:center; justify-content:space-between; padding-block:0 70px; }
.case-note p { max-width:780px; font-size:14px; color:var(--muted); }
.case-note .text-link { flex-shrink:0; }
.about-lead { display:grid; grid-template-columns:1.1fr 1fr; gap:70px; align-items:center; padding-block:60px 70px; }
.about-lead>div>p:not(.eyebrow) { max-width:500px; font-size:20px; margin-top:28px; }
.about-lead .text-link { margin-top:26px; }
.about-lead figure { position:relative; }
.about-lead img { width:100%; border-bottom:8px solid var(--blue); }
.about-lead figcaption { font-size:12px; color:var(--muted); margin-top:15px; }
.about-work .text-link { margin:30px 50px 0 0; }
.tech-line { font-size:14px; color:var(--blue); line-height:1.8; }
.faq-section { display:grid; grid-template-columns:.8fr 1.2fr; gap:75px; border-top:1px solid var(--line); }
.faq-intro>p:last-child { margin-top:28px; color:var(--muted); }
.faq-list { border-top:1px solid var(--line); }
.faq-item { border-bottom:1px solid var(--line); }
.faq-item summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:25px 0; font-size:19px; font-weight:600; line-height:1.35; cursor:pointer; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary:hover { color:var(--blue); }
.faq-plus { position:relative; flex-shrink:0; width:18px; height:18px; transition:transform .22s var(--ease); }
.faq-plus::before,.faq-plus::after { content:""; position:absolute; background:var(--blue); }
.faq-plus::before { left:0; top:8px; width:18px; height:2px; }
.faq-plus::after { left:8px; top:0; height:18px; width:2px; }
.faq-item[open]:not([data-closing]) .faq-plus { transform:rotate(45deg); }
.faq-answer { padding:0 32px 26px 0; color:var(--muted); font-size:16px; }
.faq-item:has(:focus-visible) { position:relative; z-index:1; }
.contact-page { display:grid; grid-template-columns:1fr 1fr; gap:80px; padding-block:65px 95px; align-items:start; }
.contact-page-copy>p:not(.eyebrow) { max-width:480px; margin-top:28px; font-size:19px; }
.contact-expectation { padding-top:45px; margin-top:45px; border-top:1px solid var(--line); max-width:470px; }
.contact-expectation h2 { font-size:30px; line-height:1.1; }
.contact-expectation p { margin-top:20px; color:var(--muted); font-size:16px; }
.contact-expectation .text-link { margin-top:14px; }
.contact-form-panel { padding:35px; background:var(--paper); border-top:4px solid var(--blue); }
.contact-form-panel label { display:block; font-size:14px; font-weight:650; margin:22px 0 8px; }
.contact-form-panel select,.contact-form-panel textarea { display:block; width:100%; border:1px solid #aebac6; background:white; border-radius:0; padding:12px; color:var(--ink); }
.contact-form-panel .button { width:100%; font-size:16px; }
.contact-form-panel #message-content { background:#fff; padding:22px; }
.site-footer nav { display:flex; flex-wrap:wrap; gap:20px; font-size:12px; }
.site-footer nav a { text-underline-offset:4px; }
.dialog-case-link { display:block; padding:0 40px 30px; }
.home-page-links { display:flex; flex-wrap:wrap; justify-content:space-between; gap:20px; margin-bottom:36px; }
@media(max-width:960px) {
 .service-lead,.service-row,.editorial-section,.scope-layout,.example-section,.faq-section,.about-lead,.contact-page { gap:38px; }
 .service-row:nth-child(even) { grid-template-columns:1fr 1fr; }
 .portfolio-work:first-child { gap:30px; }
 .portfolio-work h2 { font-size:32px; }
 .contact-form-panel { padding:24px; }
}
@media(max-width:760px) {
 .inner-page h1 { font-size:clamp(50px,13vw,78px); }
 .page-lead { padding-block:42px 48px; }
 .lead-copy,.about-lead>div>p:not(.eyebrow) { font-size:18px; }
 .service-lead,.service-row,.service-row:nth-child(even),.editorial-section,.scope-layout,.example-section,.faq-section,.about-lead,.contact-page { display:block; }
 .lead-index { margin-top:30px; }
 .lead-index a { font-size:17px; padding:19px 0; }
 .service-row { padding-block:42px; }
 .service-row>div { margin-bottom:28px; }
 .service-row h2 { font-size:38px; }
 .editorial-section>div,.scope-layout>.detail-rows { margin-top:32px; }
 .example-section>a { margin-top:28px; }
 .example-section h2 { font-size:38px; }
 .service-detail-lead,.blue-page-lead { padding:45px 0 60px; clip-path:polygon(0 0,100% 0,100% 94%,90% 100%,0 100%); margin-top:22px; }
 .service-detail-lead h1 { font-size:clamp(46px,11.8vw,70px); }
 .service-detail-lead p:not(.eyebrow),.blue-page-lead p:not(.eyebrow) { font-size:17px; }
 .service-detail-lead .button { font-size:14px; padding:16px; gap:15px; }
 .portfolio-grid { display:block; }
 .portfolio-work,.portfolio-work:first-child { display:block; margin-top:40px; }
 .portfolio-work:first-child>div { margin-top:22px; }
 .portfolio-work h2,.portfolio-work:first-child h2 { font-size:30px; }
 .portfolio-filters { gap:7px; }
 .portfolio-filters button { padding:11px 14px; font-size:12px; }
 .case-lead>div { display:block; margin-top:30px; }
 .case-lead h2 { font-size:29px; margin-bottom:24px; }
 .case-lead>div>p { font-size:17px; }
 .case-note { display:block; padding-bottom:45px; }
 .case-note .text-link { margin-top:20px; }
 .about-lead { padding-block:42px 40px; }
 .about-lead figure { margin-top:35px; }
 .about-work .text-link { margin:20px 0 0; display:flex; }
 .faq-list { margin-top:30px; }
 .faq-item summary { padding:22px 0; font-size:17px; gap:15px; }
 .faq-answer { padding-right:8px; font-size:15px; }
 .contact-page { padding-block:42px 50px; }
 .contact-expectation { margin-top:30px; padding-top:25px; }
 .contact-form-panel { margin-top:35px; padding:24px 18px; }
 .site-footer nav { grid-column:1/-1; }
 .dialog-case-link { padding:0 22px 25px; }
}

.inner-page h1,.inner-page h2 { overflow-wrap: anywhere; }

/* Keep the full LifeQuest dashboard visible in its portfolio card. */
.portfolio-work a[href='/progetto-lifequest'] img { object-fit:contain; background:#091a3d; }
