/* FreeProNeurs: homepage-inspired photo panels and editorial flow.
   Palette and type families remain the existing Ingeniera del Cambio brand. */
.freeproneurs-page { --fp-rule:rgba(30,43,58,.15); }
.freeproneurs-page main [id] { scroll-margin-top:96px; }
.freeproneurs-page main :is(div,article,figure,li,details) { min-width:0; }
.freeproneurs-page .fp-photo { margin:0; overflow:hidden; background:var(--colour-two); }
.freeproneurs-page .fp-photo img { width:100%; height:100%; object-fit:cover; }
.freeproneurs-page .fp-dark { background:var(--colour-four); color:var(--colour-one); }
.freeproneurs-page .fp-dark :is(h1,h2,h3,p,strong) { color:var(--colour-one)!important; }
.freeproneurs-page .fp-dark .kicker { color:#9FB4A0!important; }
.freeproneurs-page .fp-dark .btn-solid { background:var(--idc-pink); color:var(--colour-one); }
.freeproneurs-page .fp-dark .btn-ghost { border-color:#9FB4A0; color:var(--colour-one); }
.freeproneurs-page .fp-hero { padding-top:76px; background:var(--colour-two); }
.freeproneurs-page .fp-hero-in { display:grid; grid-template-columns:1fr 1fr; max-width:1600px; margin:auto; }
.freeproneurs-page .fp-hero-photo { padding:38px; min-height:650px; }
.freeproneurs-page .fp-hero-photo img { object-position:52% center; }
.freeproneurs-page .fp-hero-copy { padding:80px clamp(32px,5vw,76px); align-content:center; }
.freeproneurs-page .fp-hero-copy h1 { font-size:clamp(2.1rem,3.8vw,3.5rem); }
.freeproneurs-page .fp-hero-copy .lead { margin-top:1.6rem; }
.freeproneurs-page .fp-hero-copy .lead:has(em) { font-size:clamp(1.6rem,2.7vw,2.4rem); margin-top:.6rem; }
.freeproneurs-page .fp-hero-copy .cta-row { gap:.8rem; }
.freeproneurs-page .fp-intro-head { max-width:850px; margin:0 auto 2.6rem; text-align:center; }
.freeproneurs-page .fp-intro-head .lead { max-width:none; }
.freeproneurs-page .fp-opening { display:grid; grid-template-columns:.85fr 1.15fr; gap:3rem; padding:2.6rem 3rem; border:1px solid var(--fp-rule); border-radius:10px; }
.freeproneurs-page .fp-premise { padding-right:2rem; border-right:1px solid var(--fp-rule); }
.freeproneurs-page .fp-premise p { font-size:1.4rem; font-weight:500; line-height:1.45; }
.freeproneurs-page .fp-premise p+p { margin-top:.5rem; }
.freeproneurs-page .fp-opening p:last-child { margin-bottom:0; }
.freeproneurs-page .fp-number { font-family:'IBM Plex Serif',Georgia,serif; font-style:italic; font-size:2rem; line-height:1; color:#647765; }
.freeproneurs-page .fp-benefits { list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:0 3.4rem; }
.freeproneurs-page .fp-benefits li { display:grid; grid-template-columns:42px 1fr; gap:1rem; border-top:1px solid var(--fp-rule); padding:1.9rem 0; }
.freeproneurs-page .fp-benefits h3 { font-size:1.15rem; margin-bottom:.8rem; }
.freeproneurs-page .fp-inclusions { display:grid; grid-template-columns:.9fr 1.1fr; border:1px solid var(--fp-rule); border-radius:10px; overflow:hidden; }
.freeproneurs-page .fp-session { display:flex; flex-direction:column; }
.freeproneurs-page .fp-session-copy { padding:2.6rem; }
.freeproneurs-page .fp-session h3 { font-size:1.8rem; margin-bottom:1.4rem; }
.freeproneurs-page .fp-session p+p { margin-top:1rem; }
.freeproneurs-page .fp-session p:last-child { font-family:'IBM Plex Serif',Georgia,serif!important; font-style:italic; font-size:1.35rem; color:#9FB4A0!important; }
.freeproneurs-page .fp-session .fp-photo { min-height:300px; flex:1; position:relative; }
.freeproneurs-page .fp-session .fp-photo img { position:absolute; inset:0; object-position:50% 26%; }
.freeproneurs-page .fp-inclusion-list { padding:.8rem 2.6rem; }
.freeproneurs-page .fp-inclusion { padding:1.5rem 0; border-bottom:1px solid var(--fp-rule); }
.freeproneurs-page .fp-inclusion:last-child { border:0; }
.freeproneurs-page .fp-inclusion h3 { font-size:1.1rem; margin-bottom:.6rem; }
.freeproneurs-page .fp-inclusion p { font-size:.95rem; }
.freeproneurs-page .fp-inclusion p:last-child { margin-bottom:0; }
.freeproneurs-page .fp-process-head { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:3.6rem; margin-bottom:2.6rem; }
.freeproneurs-page .fp-process-head .fp-photo { height:350px; border-radius:8px; }
.freeproneurs-page .fp-process-head img { object-position:65% 40%; }
.freeproneurs-page .fp-pullquote { font-size:1.6rem; color:#647765; max-width:28rem; }
.freeproneurs-page .fp-pillars { background:var(--colour-one); border:1px solid var(--fp-rule); border-radius:10px; overflow:hidden; }
.freeproneurs-page .fp-pillar { border-bottom:1px solid var(--fp-rule); }
.freeproneurs-page .fp-pillar:last-child { border:0; }
.freeproneurs-page .fp-pillar summary { display:grid; grid-template-columns:42px 1fr 24px; align-items:center; gap:1.2rem; cursor:pointer; list-style:none; padding:1.6rem 2rem; font-family:'Manrope',sans-serif; font-weight:600; text-transform:uppercase; line-height:1.3; }
.freeproneurs-page .fp-pillar summary::-webkit-details-marker { display:none; }
.freeproneurs-page .fp-toggle::before { content:'+'; font-size:1.5rem; font-weight:400; }
.freeproneurs-page .fp-pillar[open] .fp-toggle::before { content:'−'; }
.freeproneurs-page .fp-pillar[open] summary { padding-bottom:1rem; }
.freeproneurs-page .fp-pillar-copy { margin-left:calc(42px + 1.2rem); padding:0 2rem 1.4rem; max-width:850px; }
.freeproneurs-page .fp-pillar-copy .plist { margin:0 0 1rem; display:flex; flex-wrap:wrap; gap:.4rem 1.5rem; }
.freeproneurs-page .fp-pillar-copy .plist li { padding:.3rem 0; border-bottom:1px solid var(--fp-rule); }
.freeproneurs-page .fp-pillar-copy .plist li::before { display:none; }
.freeproneurs-page .fp-pillar-copy p:last-child { margin-bottom:0; }
.freeproneurs-page .fp-approach-feature { display:grid; grid-template-columns:1.1fr 1fr; border:1px solid var(--fp-rule); border-radius:10px; overflow:hidden; }
.freeproneurs-page .fp-approach-feature .fp-photo { min-height:410px; }
.freeproneurs-page .fp-approach-feature img { object-position:67% center; }
.freeproneurs-page .fp-approach-copy { padding:3rem; background:var(--colour-two); align-content:center; }
.freeproneurs-page .fp-approach-copy h3 { font-size:1.1rem; margin:1.8rem 0 1rem; }
.freeproneurs-page .fp-approach-copy p+p { margin-top:.8rem; }
.freeproneurs-page .fp-reasons { display:grid; grid-template-columns:1fr 1fr; gap:2rem 3.6rem; margin-top:3rem; }
.freeproneurs-page .fp-reasons h3 { font-size:1.2rem; margin-bottom:1rem; padding-top:1.4rem; border-top:1px solid var(--fp-rule); }
.freeproneurs-page .fp-reasons p:last-child { margin-bottom:0; }
.freeproneurs-page .fp-audience-head { max-width:930px; margin-bottom:2.5rem; }
.freeproneurs-page .fp-audience-panel { padding:2.5rem; background:var(--colour-one); border:1px solid var(--fp-rule); border-radius:10px 10px 0 0; }
.freeproneurs-page .fp-audience-label { margin-bottom:1.8rem; font-family:'IBM Plex Serif',Georgia,serif!important; font-style:italic; font-size:1.55rem; }
.freeproneurs-page .fp-audience-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.freeproneurs-page .fp-audience-groups > div { padding:0 1.8rem; border-left:1px solid var(--fp-rule); }
.freeproneurs-page .fp-audience-groups > div:first-child { padding-left:0; border:0; }
.freeproneurs-page .fp-audience-groups > div:last-child { padding-right:0; }
.freeproneurs-page .fp-audience-groups p+p { margin-top:1.2rem; }
.freeproneurs-page .fp-commitment { border-radius:0 0 10px 10px; padding:2rem 2.5rem; display:grid; grid-template-columns:1fr 1fr; gap:.4rem 3rem; }
.freeproneurs-page .fp-commitment p:first-child { grid-row:span 2; font-size:1.25rem; }
.freeproneurs-page .fp-pricing .sec-head { text-align:center; margin:0 auto 2.6rem; }
.freeproneurs-page .fp-pricing .lead { margin:auto; }
.freeproneurs-page .fp-pricing .cards { align-items:stretch; }
.freeproneurs-page .fp-pricing .card { padding-top:2rem; position:relative; }
.freeproneurs-page .fp-popular > .kicker { position:absolute; top:-.85rem; left:1.3rem; padding:.15rem .6rem; background:var(--colour-one); font-size:.72rem; }
.freeproneurs-page .fp-price { font-size:1.25rem!important; font-weight:500; padding:1rem 0; border-bottom:1px solid var(--fp-rule); margin-bottom:1rem; }
.freeproneurs-page .fp-popular { border:2px solid #647765; background:var(--colour-one); }
.freeproneurs-page .card .btn { margin-top:auto; }
.freeproneurs-page .card .plist { margin:0 0 1.6rem; }
.freeproneurs-page .fp-after { margin-top:1.6rem; }
.freeproneurs-page .fp-results { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2.2rem 2.8rem; }
.freeproneurs-page .fp-results > div { border-top:1px solid var(--fp-rule); padding-top:1.4rem; }
.freeproneurs-page .fp-results dt { font-family:'Manrope',sans-serif; font-size:1.3rem; font-weight:600; line-height:1.3; color:var(--colour-four); margin-bottom:.8rem; }
.freeproneurs-page .fp-results dd { line-height:1.5; }
.freeproneurs-page .fp-result-note { margin-top:2.8rem; padding-top:2rem; border-top:1px solid var(--fp-rule); }
.freeproneurs-page .fp-result-note p:first-child { font-size:1.3rem; margin-bottom:.5rem; }
.freeproneurs-page .fp-final-copy > p+p { margin-top:1.2rem; }
.freeproneurs-page [data-cta-pending="true"] { cursor:default; }
.freeproneurs-page :is(a,button,summary):focus-visible { outline:2px solid #647765; outline-offset:4px; }
@media(max-width:1000px) {
 .freeproneurs-page .fp-hero-photo { padding:24px; min-height:570px; }
 .freeproneurs-page .fp-hero-copy { padding:56px 28px; }
 .freeproneurs-page .fp-hero-copy .btn { padding:1.05em 1.3em; }
 .freeproneurs-page .fp-audience-groups > div { padding:0 1.2rem; }
}
@media(max-width:760px) {
 .freeproneurs-page .fp-hero-in { grid-template-columns:1fr; }
 .freeproneurs-page .fp-hero-copy { grid-row:1; padding:48px 5%; }
 .freeproneurs-page .fp-hero-photo { min-height:0; padding:24px 5%; height:350px; }
 .freeproneurs-page .fp-hero-photo img { object-position:center 42%; }
 .freeproneurs-page .fp-opening,.freeproneurs-page .fp-benefits,.freeproneurs-page .fp-inclusions,.freeproneurs-page .fp-process-head,.freeproneurs-page .fp-approach-feature,.freeproneurs-page .fp-reasons,.freeproneurs-page .fp-audience-groups,.freeproneurs-page .fp-commitment,.freeproneurs-page .fp-results { grid-template-columns:1fr; }
 .freeproneurs-page .fp-opening { padding:1.6rem; gap:1.6rem; }
 .freeproneurs-page .fp-premise { padding:0 0 1.5rem; border-right:0; border-bottom:1px solid var(--fp-rule); }
 .freeproneurs-page .fp-premise p { font-size:1.18rem; }
 .freeproneurs-page .fp-benefits li { grid-template-columns:32px 1fr; gap:.8rem; padding:1.5rem 0; }
 .freeproneurs-page .fp-session-copy { padding:2rem 1.6rem; }
 .freeproneurs-page .fp-session h3 { font-size:1.5rem; }
 .freeproneurs-page .fp-session .fp-photo { min-height:310px; }
 .freeproneurs-page .fp-inclusion-list { padding:0 1.6rem; }
 .freeproneurs-page .fp-process-head { gap:2rem; }
 .freeproneurs-page .fp-process-head .fp-photo { height:260px; }
 .freeproneurs-page .fp-process-head .sec-head { margin-bottom:1.4rem; }
 .freeproneurs-page .fp-pullquote { font-size:1.4rem; }
 .freeproneurs-page .fp-pillar summary { grid-template-columns:28px 1fr 18px; gap:.65rem; padding:1.3rem 1rem; font-size:.95rem; }
 .freeproneurs-page .fp-pillar .fp-number { font-size:1.5rem; }
 .freeproneurs-page .fp-pillar-copy { margin-left:0; padding:0 1.2rem 1.4rem; }
 .freeproneurs-page .fp-approach-feature .fp-photo { min-height:0; height:290px; }
 .freeproneurs-page .fp-approach-copy { padding:2rem 1.5rem; }
 .freeproneurs-page .fp-reasons { gap:1.8rem; margin-top:2rem; }
 .freeproneurs-page .fp-audience-panel { padding:1.6rem; }
 .freeproneurs-page .fp-audience-groups > div { padding:1.4rem 0!important; border-left:0; border-top:1px solid var(--fp-rule); }
 .freeproneurs-page .fp-audience-groups > div:first-child { padding-top:0!important; }
 .freeproneurs-page .fp-audience-groups > div:last-child { padding-bottom:0!important; }
 .freeproneurs-page .fp-commitment { padding:1.6rem; gap:1rem; }
 .freeproneurs-page .fp-commitment p:first-child { grid-row:auto; font-size:1.1rem; }
 .freeproneurs-page .cards { grid-template-columns:minmax(0,1fr); }
 .freeproneurs-page .fp-pricing .card { padding:1.8rem 1.5rem; }
 .freeproneurs-page .fp-results { gap:1.6rem; }
 .freeproneurs-page .btn { max-width:100%; }
 .freeproneurs-page .pnav-links.open { max-height:calc(100dvh - 76px); overflow-y:auto; }
}
@media(prefers-reduced-motion:reduce) { html:has(.freeproneurs-page) { scroll-behavior:auto; } }
@media print { .freeproneurs-page details::details-content { display:block!important; content-visibility:visible!important; } }
