/* ============================================================
   costandprofitability.com - Template A: method profile (long)
   Cluster "costing methods world". Praxis. Scoped .cc-pf.
   Page body only (<main>); WP injects nav/footer. Static, no JS.
   Generic long-form renderer output. EN / PT-PT / ES-ES. Never blue.
   ============================================================ */
.cc-pf{
  --o:#C75B22; --o-br:#E2761A; --grn:#1C7A57; --grn-soft:#E3F1EA;
  --ink:#1A1714; --ink2:#4A4138; --muted:#756859; --muted2:#9A8E7E;
  --paper:#F3EEE4; --paper2:#EDE6D8; --surface:#FBF9F3; --surface2:#FAF7F0;
  --line:#DCD3C2; --line2:#C9BEAA; --dark:#14110D; --red:#B23A2E; --red-soft:#F6E3DF; --wheat:#E8DBC2; --amber:#C8821E; --amber-soft:#F7EBD4;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --serif:'Newsreader',Georgia,serif;
  --sans:'Hanken Grotesk',system-ui,sans-serif;
  font-family:var(--sans);color:var(--ink);line-height:1.68;-webkit-font-smoothing:antialiased;
}
.cc-pf *{box-sizing:border-box;}
.cc-pf .pf-wrap{max-width:1000px;margin:0 auto;padding:0 28px;}
.cc-pf .pf-narrow{max-width:760px;margin:0 auto;}

/* hero */
.cc-pf .pf-hero{background:var(--dark);color:#fff;border-radius:0 0 16px 16px;padding:58px 0 52px;position:relative;overflow:hidden;}
.cc-pf .pf-hero::after{content:"";position:absolute;right:-120px;top:-130px;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,rgba(199,91,34,.2),transparent 70%);}
.cc-pf .pf-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--o-br);display:flex;align-items:center;gap:11px;margin-bottom:18px;}
.cc-pf .pf-eyebrow::before{content:"";width:22px;height:1px;background:var(--o-br);}
.cc-pf .pf-hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(32px,4.8vw,50px);line-height:1.05;letter-spacing:-.015em;margin:0;position:relative;z-index:2;max-width:22ch;}
.cc-pf .pf-hero h1 em{font-style:italic;color:var(--o-br);}
.cc-pf .pf-lede{color:#CFC4B2;margin:20px 0 0;max-width:70ch;font-size:17px;line-height:1.66;position:relative;z-index:2;}
.cc-pf .pf-lede + .pf-lede{margin-top:14px;font-size:15.5px;color:#B8AC98;}

/* answer box */
.cc-pf .pf-answer{background:var(--dark);color:#EDE6D8;border-radius:14px;padding:28px 32px;margin:-28px auto 0;position:relative;z-index:5;max-width:860px;box-shadow:0 18px 40px -22px rgba(20,17,13,.5);}
.cc-pf .pf-answer .al{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--o-br);margin-bottom:12px;display:flex;align-items:center;gap:10px;}
.cc-pf .pf-answer .al::before{content:"";width:18px;height:1px;background:var(--o-br);}
.cc-pf .pf-answer p{font-family:var(--serif);font-size:18px;line-height:1.55;color:#F8F4EC;margin:0;}
.cc-pf .pf-answer p b,.cc-pf .pf-answer p strong{color:#fff;font-weight:600;}

/* sections */
.cc-pf .pf-sec{padding:46px 0;}
.cc-pf .pf-sec.alt{background:var(--paper2);}
.cc-pf .pf-kicker{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--o);margin-bottom:12px;display:flex;align-items:center;gap:10px;}
.cc-pf .pf-kicker::before{content:"";width:18px;height:1px;background:var(--o);}
.cc-pf .pf-sec h2{font-family:var(--serif);font-weight:500;font-size:clamp(24px,3vw,31px);letter-spacing:-.01em;line-height:1.13;margin:0 0 16px;color:var(--ink);}
.cc-pf .pf-sec h3{font-family:var(--serif);font-weight:500;font-size:20px;margin:24px 0 10px;color:var(--ink);}
.cc-pf .pf-sec p{font-size:16.5px;line-height:1.72;color:var(--ink2);margin:0 0 16px;max-width:74ch;text-wrap:pretty;}
.cc-pf .pf-sec p:last-child{margin-bottom:0;}
.cc-pf .pf-sec p strong{color:var(--ink);font-weight:600;}
.cc-pf .pf-sec em{font-style:italic;}
.cc-pf .pf-sec code{font-family:var(--mono);font-size:.88em;background:var(--paper2);padding:2px 6px;border-radius:4px;color:var(--ink);}
.cc-pf .pf-sec.alt code{background:var(--surface);}
.cc-pf .pf-sec ul{margin:0 0 16px;padding-left:0;list-style:none;max-width:74ch;}
.cc-pf .pf-sec ul li{position:relative;padding-left:22px;margin-bottom:9px;font-size:16px;color:var(--ink2);line-height:1.6;}
.cc-pf .pf-sec ul li::before{content:"";position:absolute;left:2px;top:11px;width:6px;height:6px;border-radius:50%;background:var(--o);}
.cc-pf .pf-sec ul li strong{color:var(--ink);font-weight:600;}

/* numbered step cards (How it works) */
.cc-pf .pf-steps{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:6px;}
.cc-pf .pf-step{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px 22px;}
.cc-pf .pf-step .sh{display:flex;align-items:baseline;gap:12px;margin-bottom:8px;}
.cc-pf .pf-step .sn{flex:none;font-family:var(--serif);font-size:22px;font-weight:500;color:var(--o);line-height:1;}
.cc-pf .pf-step .st{font-family:var(--serif);font-size:17px;font-weight:500;color:var(--ink);line-height:1.25;}
.cc-pf .pf-step p{font-size:14px;line-height:1.6;color:var(--ink2);margin:0;max-width:none;}
@media(max-width:760px){ .cc-pf .pf-steps{grid-template-columns:1fr;} }

/* tables (worked example) */
.cc-pf .pf-table-wrap{overflow-x:auto;margin:0 0 18px;}
.cc-pf table.pf-table{width:100%;border-collapse:separate;border-spacing:0;min-width:420px;font-size:14.5px;background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden;}
.cc-pf .pf-table thead th{background:var(--dark);color:var(--paper);font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;text-align:left;padding:11px 15px;}
.cc-pf .pf-table thead th.num{text-align:right;}
.cc-pf .pf-table tbody td{padding:11px 15px;border-top:1px solid var(--line);color:var(--ink2);vertical-align:top;line-height:1.45;}
.cc-pf .pf-table tbody td.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink);}
.cc-pf .pf-table tbody td.lbl{font-weight:500;color:var(--ink);}
.cc-pf .pf-table tbody tr:nth-child(even) td{background:var(--surface2);}

/* strengths vs weaknesses contrast */
.cc-pf .pf-sw{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:6px;}
.cc-pf .pf-swcol{border-radius:14px;padding:24px 26px;border:1px solid var(--line);}
.cc-pf .pf-swcol.s{background:var(--grn-soft);border-color:#BFE0CE;}
.cc-pf .pf-swcol.w{background:var(--amber-soft);border-color:#EAD7AE;}
.cc-pf .pf-swcol .swh{display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px;}
.cc-pf .pf-swcol.s .swh{color:var(--grn);}
.cc-pf .pf-swcol.w .swh{color:var(--amber);}
.cc-pf .pf-swcol .swh .ic{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff;}
.cc-pf .pf-swcol.s .swh .ic{background:var(--grn);}
.cc-pf .pf-swcol.w .swh .ic{background:var(--amber);}
.cc-pf .pf-swcol h2{font-size:0;margin:0;height:0;}
.cc-pf .pf-swcol p{font-size:15px;line-height:1.62;color:var(--ink2);margin:0 0 12px;max-width:none;}
.cc-pf .pf-swcol p:last-child{margin-bottom:0;}
.cc-pf .pf-swcol ul{margin:0;}
.cc-pf .pf-swcol ul li{font-size:14.5px;}
.cc-pf .pf-swcol.s ul li::before{background:var(--grn);}
.cc-pf .pf-swcol.w ul li::before{background:var(--amber);}
@media(max-width:760px){ .cc-pf .pf-sw{grid-template-columns:1fr;} }

/* glossary callout (optional) */
.cc-pf .pf-gloss{background:var(--surface2);border:1px solid var(--line);border-left:3px solid var(--o);border-radius:0 12px 12px 0;padding:20px 24px;margin-top:8px;}
.cc-pf .pf-gloss .gl{font-family:var(--mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--o);margin-bottom:12px;}
.cc-pf .pf-gloss dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:7px 16px;}
.cc-pf .pf-gloss dt{font-style:italic;font-family:var(--serif);font-size:15px;color:var(--ink);white-space:nowrap;}
.cc-pf .pf-gloss dd{margin:0;font-size:14px;color:var(--ink2);}

/* FAQ */
.cc-pf .pf-faq{max-width:760px;margin:20px auto 0;}
.cc-pf .faq-item{border-bottom:1px solid var(--line);}
.cc-pf .faq-item summary{list-style:none;cursor:pointer;padding:18px 40px 18px 2px;position:relative;font-family:var(--serif);font-size:18px;color:var(--ink);font-weight:500;}
.cc-pf .faq-item summary::-webkit-details-marker{display:none;}
.cc-pf .faq-item summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:22px;color:var(--o);}
.cc-pf .faq-item[open] summary::after{content:"\2212";}
.cc-pf .faq-item .faq-a{padding:0 40px 20px 2px;}
.cc-pf .faq-item .faq-a p{margin:0 0 12px;font-size:15.5px;line-height:1.7;color:var(--ink2);max-width:none;}
.cc-pf .faq-item .faq-a p:last-child{margin-bottom:0;}

/* related + CTA */
.cc-pf .pf-related{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:22px;}
.cc-pf .pf-related a{border:1px solid var(--line);border-radius:9px;padding:14px 16px;background:var(--surface);text-decoration:none;transition:all .14s;}
.cc-pf .pf-related a:hover{border-color:var(--o);background:var(--surface2);}
.cc-pf .pf-related .rt{display:block;font-weight:600;color:var(--ink);font-size:14.5px;}
.cc-pf .pf-related .rd{display:block;color:var(--muted);font-size:12.5px;margin-top:3px;}
.cc-pf .pf-cta{background:var(--dark);color:#fff;border-radius:16px;padding:42px 38px;text-align:center;position:relative;overflow:hidden;margin-top:8px;}
.cc-pf .pf-cta::after{content:"";position:absolute;left:50%;top:-140px;width:420px;height:420px;border-radius:50%;transform:translateX(-50%);background:radial-gradient(circle,rgba(199,91,34,.2),transparent 70%);}
.cc-pf .pf-cta p{color:#EDE6D8;max-width:54ch;margin:0 auto 22px;font-size:17px;position:relative;z-index:2;font-family:var(--serif);font-style:italic;}
.cc-pf .pf-cta p b{font-style:normal;font-weight:600;color:var(--o-br);}
.cc-pf .pf-cta a{font-family:var(--sans);font-weight:600;font-size:14.5px;padding:14px 26px;border-radius:8px;text-decoration:none;background:var(--o);color:#fff;position:relative;z-index:2;display:inline-block;transition:background .15s;}
.cc-pf .pf-cta a:hover{background:var(--o-br);}

/* history timeline (simple two-step) */
.cc-pf .pf-fig{margin:6px 0 18px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px;}
.cc-pf .pf-fig svg{width:100%;height:auto;display:block;}
.cc-pf .pf-fig .fc{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted2);text-align:center;margin-top:12px;}

@media(max-width:560px){
  .cc-pf .pf-hero{padding:42px 0 38px;}
  .cc-pf .pf-answer{padding:22px 20px;}
  .cc-pf .pf-related{grid-template-columns:1fr;}
  .cc-pf .pf-cta{padding:32px 22px;}
  .cc-pf .pf-gloss dl{grid-template-columns:1fr;gap:2px 0;}
  .cc-pf .pf-gloss dt{margin-top:8px;}
}
