/* CAP ENTREPRENDRE · V8 — Squares, photography and legibility.
   Visual layer only: ARE/ARCE/ACRE business calculations remain unchanged.
   All photographs, SVGs and fonts are loaded locally; no CDN. */
:root{--radius:0px;--shadow:0 9px 27px rgba(23,54,39,.045)}
/* Geometric visual grammar: remove legacy rounded corners without touching native radio semantics. */
html body *{border-radius:0!important}
html body input[type="radio"],html body .eyebrow-dot,html body .caption-mark,html body .timeline-dot,html body [class*="spinner"]{border-radius:50%!important}
html body :is(button,a,summary,input,select,textarea):focus-visible{outline:3px solid #a87b42;outline-offset:3px}
html body{background:#f7f6f2}
html body .hero{box-shadow:0 15px 34px rgba(17,47,32,.085)}
html body .wizard-aside,html body .wizard-panel,html body .metric-card,html body .source-group,html body .compare-card,html body .org-card,html body .aid-card{box-shadow:0 5px 20px rgba(28,48,37,.035)}
html body .wizard-aside,html body .wizard-panel{border-color:#dce2d9}
html body .button-primary,html body .hero-start{box-shadow:0 3px 0 rgba(27,61,46,.09)}
html body :is(.wizard-panel,.wizard-aside,.library-card,.compare-card,.org-card,.aid-card,.info-panel,.privacy-panel){background-color:#fffefa}
html body .form-grid .field :is(input,select,textarea){border-color:#cbd8cb}
html body .form-grid .field :is(input,select,textarea):hover{border-color:#8ea992}
/* Page editorial banners: stable two-column photo/text with no lonely final punctuation. */
.page-container{padding-top:36px!important}
.page-container .editorial-hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr);min-height:325px;overflow:hidden;background:#173a2d;color:#fdfbf3;border:1px solid #24493a;position:relative;margin-bottom:42px;isolation:isolate}
.editorial-hero .editorial-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:42px clamp(24px,4vw,54px);position:relative;z-index:2}
.page-container .editorial-hero .page-eyebrow{color:#d9bd91;font-size:10px;font-weight:800;letter-spacing:.17em;margin:0 0 15px;text-transform:uppercase}
.page-container .editorial-hero h1{color:#fffdf6;font-family:var(--serif);font-weight:500;letter-spacing:-.045em;font-size:clamp(2.15rem,3.25vw,3.65rem);line-height:1.075;max-width:20ch;overflow-wrap:normal;word-break:normal;text-wrap:balance;margin:0}
.page-container .editorial-hero .page-lead{color:#e0e9df;font-size:clamp(12.8px,1.04vw,15px);line-height:1.8;max-width:54ch;margin:20px 0 0}
.page-container .editorial-hero .editorial-footnote{margin-top:22px;padding-top:14px;width:100%;border-top:1px solid rgba(238,240,229,.22);color:#cbdacf;font-size:10px;letter-spacing:.035em}
.editorial-visual{min-width:0;min-height:325px;margin:0;position:relative;overflow:hidden;background:#d9dace}
.editorial-visual img{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:center 44%;display:block;filter:saturate(.91) contrast(1.015);transition:transform .7s ease}
.editorial-hero:hover .editorial-visual img{transform:scale(1.035)}
.editorial-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(18,40,28,.55),transparent 30%);pointer-events:none}
.editorial-visual figcaption{position:absolute;bottom:17px;left:20px;color:#f7ebcf;font-size:10px;font-weight:800;letter-spacing:.145em;text-transform:uppercase;z-index:2}
#view-aides .editorial-visual img{object-position:center 35%}
#view-guide .editorial-visual img{object-position:center 46%}
#view-comparateur .editorial-visual img{object-position:center 50%}
#view-sources .editorial-visual img{object-position:center}
/* Lower home editorial cards: photo first, then the already-working navigation. */
html body .library-card{overflow:hidden;border:1px solid #d9e0d7;min-height:0;transition:border-color .18s,box-shadow .18s,transform .18s}
html body .library-card.is-sage{background:#f3f5ef}
.library-card .library-photo{position:relative;margin:-25px -25px 23px;height:170px;overflow:hidden;background:#e7e9df;flex:none}
.library-card .library-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 46%;transition:transform .55s ease;filter:saturate(.9)}
.library-card:nth-child(1) .library-photo img{object-position:center 47%}
.library-card:nth-child(2) .library-photo img{object-position:center 48%}
.library-card:nth-child(3) .library-photo img{object-position:center 40%}
.library-card .library-photo:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(to top,rgba(20,50,35,.62),transparent);pointer-events:none}
.library-card .library-photo figcaption{position:absolute;bottom:15px;left:19px;color:#fff6de;z-index:1;font-size:11px;font-weight:770;letter-spacing:.055em}
@media(hover:hover){.library-card:hover .library-photo img{transform:scale(1.05)}}
.library-card h3,.section-heading h2{overflow-wrap:normal;text-wrap:balance}
/* The editorial card photograph is descriptive, not a click target; CTA remains obvious. */
.library-card .library-link{margin-top:auto}
/* Slashes, dates and question marks stay attached to the preceding word. */
h1,h2,h3,h4{overflow-wrap:normal;word-break:normal;text-wrap:balance}
/* Align smaller informational assets to the same square visual system. */
html body .source-banner,html body .next-steps{border:1px solid #d8e2d7}
html body :is(.guide-steps,.org-grid,.aids-grid,.sources-grid,.compare-grid,.library-cards){gap:16px}
/* Better rhythm inside secondary views. */
#view-guide .guide-intro-grid{margin-top:5px}
#view-aides .section-heading:first-of-type,#view-comparateur .recommendation{margin-top:0}
/* Compact portrait image used for mobile header, not a second hero competing for attention. */
@media(max-width:1100px){
  .page-container .editorial-hero{grid-template-columns:minmax(0,1fr) minmax(245px,.68fr)}
  .editorial-hero .editorial-copy{padding:38px 33px}
  .page-container .editorial-hero h1{font-size:clamp(2rem,3.75vw,3rem)}
  .library-card .library-photo{height:135px;margin:-20px -18px 17px}
}
@media(max-width:760px){
  .page-container{padding-top:25px!important}
  .page-container .editorial-hero{display:flex;flex-direction:column;min-height:0;margin-bottom:28px}
  .editorial-hero .editorial-copy{padding:31px 27px 30px}
  .page-container .editorial-hero h1{font-size:clamp(2.05rem,5.6vw,3.0rem);line-height:1.11;max-width:22ch}
  .page-container .editorial-hero .page-lead{margin-top:17px;font-size:13px;line-height:1.66}
  .page-container .editorial-hero .editorial-footnote{font-size:10px;margin-top:18px}
  .editorial-visual{min-height:0;height:190px}
  .editorial-visual img{object-position:center 47%}
  .library-card .library-photo{height:185px;margin:-22px -22px 18px}
  .library-card{min-height:0}
}
@media(max-width:430px){
  .editorial-hero .editorial-copy{padding:27px 22px 24px}
  .page-container .editorial-hero h1{font-size:clamp(1.86rem,8vw,2.38rem);max-width:100%;letter-spacing:-.052em}
  .page-container .editorial-hero .page-lead{font-size:12.5px}
  .editorial-visual{height:160px}
  .library-card .library-photo{height:160px}
  html body .section-heading h2{font-size:clamp(1.55rem,6.5vw,2rem)}
}
@media print{.page-container .editorial-hero{display:block;color:#1b3b2d;border:0;background:none}.page-container .editorial-hero :is(h1,.page-eyebrow,.page-lead){color:#1b3b2d!important}.editorial-visual{display:none!important}.library-photo{display:none!important}}
@media(prefers-reduced-motion:reduce){.editorial-visual img,.library-photo img{transition:none!important}.editorial-hero:hover .editorial-visual img,.library-card:hover .library-photo img{transform:none!important}}
/* Readability audit: old blue/light-on-white rules in the guide were not accessible. */
html body .guide-summary{background:#1d4536;color:#fffefa;border:1px solid #1d4536}
html body .guide-summary h2,html body .guide-summary b{color:#fffefa!important}
html body .guide-summary>p,html body .personal-route p{color:#d7e5d9!important}
html body .guide-number,html body .personal-route span{color:#e3c596!important}
html body .guide-sidecall{background:#f1f4ec;color:#213f31;border:1px solid #dce4d8}
html body .guide-sidecall .guide-star{color:#b7874f}
html body .guide-sidecall p{color:#536b5e}
html body .guide-sidecall p strong{color:#244e39}
html body .guide-sidecall b{color:#214833}
html body .guide-index{color:#508767}
html body .guide-time,html body .panel-number,html body .section-heading span{color:#2e7350}
html body .info-panel .panel-emphasis{background:#eef5ec;border-left-color:#317352;color:#345b44}
html body .guide-check{background:#f3f6ef;color:#426953}
html body .guide-check input{accent-color:#245f42}
html body :is(.text-link,.org-card a,.aid-card a,.guide-copy a,.source-entry a){color:#1d6748}
html body .guide-copy p,html body .org-card p,html body .aid-card p,html body .source-entry p{color:#536c5e}
html body .guide-step{border-color:#dfe6dc}
html body .faq-list summary:after{color:#2b694d}
