
/* V54 — consistent interior-page design */
.inner-hero{position:relative;min-height:460px;display:flex;align-items:flex-end;background:var(--pine);overflow:hidden;color:white}
.inner-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center 48%;filter:saturate(.8)}
.inner-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,36,25,.97) 0%,rgba(9,36,25,.89) 42%,rgba(9,36,25,.43) 100%)}
.inner-hero-copy{position:relative;padding-top:160px;padding-bottom:84px}
.inner-hero .eyebrow{color:#b7d5b2;letter-spacing:.13em;margin:0 0 19px}
.inner-hero h1{font:600 clamp(47px,5.8vw,79px)/1.09 Outfit,sans-serif;letter-spacing:-.048em;margin:0 0 23px}
.inner-hero h1 span{color:#bfdbbb}
.inner-hero-copy>p:last-child{max-width:640px;font-size:16px;line-height:1.85;color:#e1eae1;margin:0}
.inner-content-section{padding:100px 0;background:var(--paper)}
.inner-content-section h2,.inner-section-heading h2,.inner-faq-layout h2{font:600 clamp(35px,4.5vw,57px)/1.15 Outfit,sans-serif;letter-spacing:-.04em;margin:0 0 22px}
.inner-content-section h2 span,.inner-section-heading h2 span,.inner-faq-layout h2 span{color:var(--forest)}
.inner-about-intro{display:grid;grid-template-columns:1fr .78fr;gap:10%;align-items:center}
.inner-about-intro p:not(.eyebrow){font-size:16px;line-height:1.9;color:#52695b;max-width:660px;margin:0 0 23px}
.inner-about-visual{aspect-ratio:1.3;box-shadow:20px 18px 0 #e1eadd;transform:rotate(1deg);overflow:hidden}
.inner-about-visual img{width:100%;height:100%;object-fit:cover}
.about-work-intro{padding:54px 0 0;background:var(--paper)}
.about-work-intro p:not(.eyebrow){max-width:860px;font-size:15px;line-height:1.85;color:#536b5b}
.inner-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:38px}
.inner-step{padding:27px 24px;background:#fff;border:1px solid #dee7dd}
.inner-step>span{font-size:12px;font-weight:800;color:#477b57}
.inner-step h3{font:600 22px/1.2 Outfit,sans-serif;margin:33px 0 15px}
.inner-step p{font-size:13px;line-height:1.8;color:#53695d;margin:0}
.inner-image-band{padding:65px 0;background:#dfebdc}
.inner-image-band img{width:100%;max-height:380px;object-fit:cover}
.inner-image-band p{font-size:13px;color:#54705b;margin:17px 0 0}
.inner-cta{background:var(--pine);padding:75px 0;color:#fff}
.inner-cta-wrap{display:flex;align-items:center;justify-content:space-between;gap:40px}
.inner-cta .eyebrow{color:#b8d4b4}
.inner-cta h2{font:600 clamp(33px,4vw,51px)/1.15 Outfit,sans-serif;letter-spacing:-.04em;margin:0 0 14px}
.inner-cta p:not(.eyebrow){font-size:15px;line-height:1.75;max-width:650px;color:#c6dacf;margin:0}
.inner-cta .btn{white-space:nowrap}
.inner-faq-layout{display:grid;grid-template-columns:.75fr 1.2fr;gap:10%}
.inner-faq-layout>div:first-child>p:not(.eyebrow){font-size:15px;line-height:1.85;color:#566b5b}
.inner-faq-list{border-top:1px solid var(--rule)}
.inner-faq{border-bottom:1px solid var(--rule)}
.inner-faq summary{list-style:none;display:flex;gap:17px;align-items:start;padding:24px 0;cursor:pointer}
.inner-faq summary::-webkit-details-marker{display:none}
.inner-faq summary>span{font-size:11px;color:#4b805c;font-weight:800;line-height:2}
.inner-faq summary strong{font:600 20px/1.35 Outfit,sans-serif;flex:1}
.inner-faq summary b{color:#4b805c;font-size:22px;font-weight:300;transition:transform .25s}
.inner-faq[open] summary b{transform:rotate(45deg)}
.inner-faq>p{margin:-3px 30px 25px;color:#596c60;font-size:14px;line-height:1.8}
.inner-contact-layout{display:grid;grid-template-columns:.9fr 1fr;gap:10%;align-items:start}
.inner-contact-layout>div:first-child>p:not(.eyebrow){line-height:1.8;color:#536b5d;margin-bottom:35px}
.inner-contact-list{border-top:1px solid var(--rule)}
.inner-contact-list>div{padding:19px 0;border-bottom:1px solid var(--rule)}
.inner-contact-list small{font-size:10px;font-weight:800;color:#4a7956;display:block;letter-spacing:.1em;margin-bottom:8px}
.inner-contact-list a{font:600 21px Outfit,sans-serif;overflow-wrap:anywhere}
.inner-contact-list p{font-size:14px;line-height:1.7;margin:0;color:#536b5d}
.inner-form-panel{background:#fff;border:1px solid #dce6da;padding:32px 36px;box-shadow:15px 17px 0 #e1eadd}
.inner-form-panel h3{font:600 30px Outfit,sans-serif;margin:0 0 13px}
.inner-form-panel>p:not(.eyebrow){font-size:13px;line-height:1.7;color:#6b796f}
.modern-contact-form{display:flex;flex-direction:column;gap:17px;margin-top:25px}
.modern-contact-form label{display:flex;flex-direction:column;gap:8px;color:#425c4a;font-size:12px;font-weight:700}
.modern-contact-form input:not([type=hidden]),.modern-contact-form textarea{font:400 14px 'DM Sans',sans-serif;width:100%;border:1px solid #c7d9c7;padding:14px 16px;border-radius:0;background:#f7faf5;color:#173226}
.modern-contact-form textarea{min-height:150px;resize:vertical}
.modern-contact-form .btn{align-self:flex-start;margin-top:7px}
.service-catalog-nav{padding:45px 0 56px;background:#eff3ec;border-bottom:1px solid #dfe7dc}
.service-catalog-nav .eyebrow{margin-bottom:20px}
.service-catalog-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}
.service-catalog-links a{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #dce5d8;padding:15px 18px;font-size:14px;font-weight:700;transition:background .2s}
.service-catalog-links a:hover{background:#dce9da}
.service-catalog-links a span{font-size:11px;color:#57916a}
.service-catalog-links a b{margin-left:auto;color:#528161;font-weight:400}
.catalog-detail{scroll-margin-top:75px;padding:76px 0;background:var(--paper)}
.catalog-detail-alt{background:var(--wash)}
.catalog-detail-row{display:grid;grid-template-columns:.92fr 1fr;gap:9%;align-items:center}
.catalog-detail:nth-of-type(odd) .catalog-image{order:2}
.catalog-image{position:relative;aspect-ratio:1.38;overflow:hidden;background:#d5e1d2}
.catalog-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.catalog-image:hover img{transform:scale(1.045)}
.catalog-image>span{position:absolute;bottom:18px;left:18px;color:white;background:#123d2fe0;padding:10px 14px;font-size:10px;font-weight:800;letter-spacing:.09em}
.catalog-copy h2{font:600 clamp(34px,4vw,53px)/1.15 Outfit,sans-serif;letter-spacing:-.04em;margin:0 0 19px}
.catalog-copy .catalog-lead{font-size:15px;color:#50685a;line-height:1.83;margin:0 0 22px}
.catalog-copy ul{list-style:none;padding:0;margin:0 0 23px;display:grid;gap:9px}
.catalog-copy li{font-size:13px;font-weight:600;color:#304e3a;display:flex;gap:10px;align-items:start}
.catalog-copy li:before{content:'↗';color:#5d976c}
.catalog-tags{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 17px}
.catalog-tags span{border:1px solid #c9d7c9;padding:8px 10px;font-size:10px;color:#537059;font-weight:700}
@media(max-width:980px){.inner-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.inner-about-intro{gap:6%}.catalog-detail-row{gap:5%}}
@media(max-width:650px){.inner-hero{min-height:460px}.inner-hero-copy{padding:130px 0 68px}.inner-hero h1{font-size:clamp(39px,9.5vw,60px)}.inner-hero-copy>p:last-child{font-size:14px}.inner-content-section{padding:68px 0}.inner-about-intro{grid-template-columns:1fr;gap:35px}.inner-faq-layout{grid-template-columns:1fr;gap:28px}.inner-steps{grid-template-columns:1fr;gap:10px}.inner-step h3{margin:19px 0 10px}.inner-contact-layout{grid-template-columns:1fr;gap:40px}.inner-form-panel{padding:25px 23px}.inner-cta-wrap{align-items:flex-start;flex-direction:column}.inner-cta{padding:60px 0}.service-catalog-nav{padding:34px 0}.service-catalog-links{grid-template-columns:1fr;gap:7px}.catalog-detail{padding:62px 0}.catalog-detail-row{grid-template-columns:1fr;gap:28px}.catalog-detail:nth-of-type(odd) .catalog-image{order:0}.catalog-image{aspect-ratio:1.48}.catalog-copy h2{font-size:32px}}


/* V70 — tipografia delle pagine interne, in continuita con la homepage. */
.inner-hero-copy > p:last-child,
.inner-about-intro p:not(.eyebrow),
.about-work-intro p:not(.eyebrow),
.inner-cta p:not(.eyebrow),
.inner-faq-layout > div:first-child > p:not(.eyebrow),
.catalog-copy .catalog-lead,
.inner-contact-layout > div:first-child > p:not(.eyebrow) { font-size: var(--text-reading); }
.inner-step p, .inner-faq > p, .catalog-copy li,
.inner-form-panel > p:not(.eyebrow),
.inner-contact-list p { font-size: clamp(15px, calc(.86vw + 5px), 16px); }
.inner-faq summary strong { font-size: clamp(20px, calc(1vw + 7px), 23px); }
.service-catalog-links a { font-size: clamp(14px, calc(.8vw + 4px), 16px); }
.modern-contact-form label { font-size: 14px; }
.modern-contact-form input:not([type=hidden]),
.modern-contact-form textarea { font-size: 16px; }
@media(max-width:900px) {
  .inner-hero-copy > p:last-child, .inner-about-intro p:not(.eyebrow),
  .about-work-intro p:not(.eyebrow), .inner-cta p:not(.eyebrow),
  .inner-faq-layout > div:first-child > p:not(.eyebrow),
  .catalog-copy .catalog-lead { font-size: 16px; }
  .inner-faq > p, .inner-step p, .catalog-copy li { font-size: 15px; }
}
