/* Chez Arlette : feuille de style de la landing page. Direction "Maison ouverte". */

/* ---------- Polices auto-hébergées ---------- */

@font-face{font-family:'Lora';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/lora-400-latin.woff2) format('woff2');}
@font-face{font-family:'Lora';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/lora-600-latin.woff2) format('woff2');}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/source-sans-3-400-latin.woff2) format('woff2');}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/source-sans-3-600-latin.woff2) format('woff2');}
@font-face{font-family:'Caveat';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/caveat-500-subset.woff2) format('woff2');}

:root{
  --ca-bg:#FFFDF9;
  --ca-surface:#F8F1E8;
  --ca-peach:#FBE4D2;
  --ca-ink:#342F2A;
  --ca-accent:#A4604D;
  --ca-accent-soft:#F1C0A5;
  --ca-accent-tint:#FBEDE6;
  --ca-accent-deep:#7A4335;
  --ca-green:#405342;
  --ca-green-deep:#2C3A2E;
  --ca-muted:#686159;
  --ca-line:#E4DACE;
  --ca-field:#FFFFFF;
  --ca-on-dark:#EFE9E0;
  --ca-on-dark-muted:#C6BEB2;
  --ca-head:Lora,Georgia,'Times New Roman',serif;
  --ca-body:'Source Sans 3',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --ca-script:Caveat,'Segoe Script',cursive;
  --ca-r-sm:10px;
  --ca-r-md:18px;
  --ca-r-lg:28px;
  --ca-r-pill:999px;
  --ca-container:1180px;
  --ca-header-h:80px;
  --ca-bleed:max(20px,calc((100vw - var(--ca-container)) / 2 + 20px));
}

/* ---------- Socle ---------- */

body.ca *,body.ca *::before,body.ca *::after{box-sizing:border-box;}

body.ca{
  margin:0;
  background:var(--ca-bg);
  color:var(--ca-ink);
  font-family:var(--ca-body);
  font-size:18px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  -webkit-text-size-adjust:100%;
  overflow-x:hidden;
}

:where(body.ca) :where(h1,h2,h3,h4,p,ul,ol,li,figure,blockquote,dl,dd,fieldset,legend,details,summary){margin:0;padding:0;border:0;background:none;}
:where(body.ca) :where(ul,ol){list-style:none;}
:where(body.ca) :where(img,svg){display:block;max-width:100%;}
:where(body.ca) :where(img){height:auto;}
:where(body.ca) :where(a){color:var(--ca-accent);text-underline-offset:.18em;}
:where(body.ca) :where(button,input,select,textarea){font:inherit;color:inherit;margin:0;}
:where(body.ca) :where(h1,h2,h3,h4){font-family:var(--ca-head);font-weight:600;letter-spacing:0;}

body.ca :focus-visible{outline:2px solid var(--ca-accent);outline-offset:3px;border-radius:var(--ca-r-sm);}

@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth;}}

.ca-container{width:min(100% - 40px,var(--ca-container));margin-inline:auto;}
.ca-section{padding-block:clamp(56px,7vw,104px);}
.ca-section--surface{background:var(--ca-surface);}
.ca-section[id]{scroll-margin-top:calc(var(--ca-header-h) + 12px);}
.ca-center{text-align:center;margin-inline:auto;}

.ca-skip{position:absolute;left:-9999px;top:0;background:var(--ca-green);color:#FFFDF9;padding:12px 18px;z-index:200;text-decoration:none;}
.ca-skip:focus{left:0;}
.ca-vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

/* ---------- Typographie ---------- */

.ca-eyebrow{
  font-family:var(--ca-body);
  font-size:.9375rem;
  font-weight:600;
  letter-spacing:.01em;
  color:var(--ca-accent);
  margin-bottom:18px;
}
.ca-h2{font-size:clamp(1.7rem,1.15rem + 1.8vw,2.45rem);line-height:1.18;}
.ca-h2--narrow{max-width:20ch;}
.ca-lead{font-size:1.0625rem;color:var(--ca-muted);margin-top:18px;}
.ca-center .ca-lead{max-width:64ch;margin-inline:auto;}
.ca-prose p{max-width:66ch;margin-top:18px;}
.ca-prose p:first-child{margin-top:0;}

.ca-script{
  font-family:var(--ca-script);
  font-weight:500;
  font-size:clamp(1.375rem,1.1rem + .9vw,1.75rem);
  line-height:1.25;
  color:var(--ca-accent);
  transform:rotate(-4deg);
  display:inline-flex;
  flex-direction:column;
  gap:2px;
}
.ca-script svg{width:20px;height:20px;stroke:var(--ca-accent);align-self:flex-end;margin-top:2px;}

.ca-rule{width:64px;height:1px;background:var(--ca-accent-soft);border:0;margin:26px auto;position:relative;}
.ca-rule::after{content:"";position:absolute;left:50%;top:-2px;width:5px;height:5px;border-radius:50%;background:var(--ca-accent);transform:translateX(-50%);}

/* ---------- Icônes ---------- */

.ca-ico{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.ca-ico--lg{width:34px;height:34px;}
.ca-ico--xl{width:88px;height:88px;stroke-width:1;}

/* ---------- Boutons ---------- */

.ca-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:52px;padding:.82em 1.8em;
  border:1.5px solid transparent;border-radius:var(--ca-r-pill);
  font-family:var(--ca-body);font-size:1rem;font-weight:600;line-height:1.2;
  text-align:center;text-decoration:none;cursor:pointer;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .12s ease;
}
.ca-btn--primary{background:var(--ca-accent);color:#FFFDF9;}
.ca-btn--primary:hover{background:var(--ca-accent-deep);color:#FFFDF9;}
.ca-btn--outline{background:transparent;color:var(--ca-accent);border-color:var(--ca-accent);}
.ca-btn--outline:hover{background:var(--ca-accent-tint);}
.ca-btn--green{background:var(--ca-green);color:#FFFDF9;}
.ca-btn--green:hover{background:var(--ca-green-deep);color:#FFFDF9;}
.ca-btn--peach{background:var(--ca-accent-soft);color:var(--ca-green-deep);}
.ca-btn--peach:hover{background:#F6CDB2;color:var(--ca-green-deep);}
.ca-btn--sm{min-height:44px;padding:.55em 1.35em;font-size:1rem;}
.ca-btn:active{transform:translateY(1px);}
.ca-btn[aria-disabled="true"]{opacity:.62;cursor:progress;}
.ca-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px;}
.ca-center .ca-actions{justify-content:center;}

/* ---------- En-tête ---------- */

.ca-header{position:sticky;top:0;z-index:60;background:rgba(255,253,249,.96);border-bottom:1px solid var(--ca-line);}
body.admin-bar .ca-header{top:32px;}
.ca-header__inner{min-height:var(--ca-header-h);display:flex;align-items:center;gap:32px;position:relative;}
.ca-brand{display:block;text-decoration:none;color:var(--ca-ink);margin-right:auto;}
.ca-brand__name{display:block;font-family:var(--ca-head);font-weight:600;font-size:1.5rem;line-height:1.15;letter-spacing:.005em;}
.ca-brand__tag{display:block;font-size:.8125rem;color:var(--ca-muted);line-height:1.3;margin-top:3px;letter-spacing:.02em;}
.ca-nav ul{display:flex;align-items:center;gap:28px;}
.ca-nav a{color:var(--ca-ink);text-decoration:none;font-size:1rem;padding:6px 0;border-bottom:2px solid transparent;}
.ca-nav a:hover{color:var(--ca-accent);border-bottom-color:var(--ca-accent);}

.ca-menu{display:none;margin-left:auto;}
.ca-menu__toggle{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 16px;cursor:pointer;list-style:none;border:1px solid var(--ca-line);border-radius:var(--ca-r-pill);font-size:1rem;}
.ca-menu__toggle::-webkit-details-marker{display:none;}
.ca-menu__bars{position:relative;width:18px;height:1.5px;background:var(--ca-green);display:block;}
.ca-menu__bars::before,.ca-menu__bars::after{content:"";position:absolute;left:0;width:18px;height:1.5px;background:var(--ca-green);}
.ca-menu__bars::before{top:-6px;}
.ca-menu__bars::after{top:6px;}
.ca-menu[open] .ca-menu__panel{position:absolute;top:calc(100% + 1px);left:-20px;right:-20px;background:var(--ca-bg);border-bottom:1px solid var(--ca-line);padding:12px 20px 24px;}
.ca-menu__panel a:not(.ca-btn){display:block;padding:14px 0;color:var(--ca-ink);text-decoration:none;border-bottom:1px solid var(--ca-line);font-size:1.0625rem;}
.ca-menu__panel .ca-btn{margin-top:18px;width:100%;}

/* ---------- Héros ---------- */

.ca-hero{overflow:hidden;}
.ca-hero__inner{width:min(100% - 40px,var(--ca-container));margin-inline:auto;padding-block:clamp(36px,4.5vw,64px);}
.ca-hero__body{max-width:34rem;}
.ca-hero__title{font-size:clamp(2rem,1.25rem + 2.4vw,3rem);line-height:1.12;}
.ca-hero__promise{font-family:var(--ca-head);font-weight:600;font-size:clamp(1.15rem,1rem + .55vw,1.45rem);margin-top:16px;line-height:1.35;}
.ca-hero__text{margin-top:20px;color:var(--ca-muted);max-width:46ch;}
.ca-hero__note{margin-top:26px;font-size:.9375rem;color:var(--ca-muted);}
.ca-hero__media{position:relative;}
.ca-hero__script{display:block;margin-top:26px;}

@media (min-width:901px){
  .ca-hero__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);gap:clamp(28px,3.5vw,56px);align-items:center;}
  .ca-hero__media{justify-self:start;width:calc(100% + var(--ca-bleed));border-radius:var(--ca-r-lg) 0 0 var(--ca-r-lg);overflow:hidden;}
}

/* ---------- Bandeau vert ---------- */

.ca-band{background:var(--ca-green);color:var(--ca-on-dark);}
.ca-band ul{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;padding-block:34px;}
.ca-band li{display:flex;align-items:center;gap:16px;font-size:1rem;line-height:1.35;}
.ca-band .ca-ico{stroke:var(--ca-accent-soft);}

/* ---------- Introduction ---------- */

.ca-intro__wrap{max-width:720px;}
.ca-intro__body{margin-top:30px;}
.ca-intro__body p{max-width:none;font-size:1.1875rem;line-height:1.7;color:var(--ca-muted);margin-top:20px;}

/* ---------- Services ---------- */

.ca-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:46px;}
.ca-card{background:var(--ca-bg);border:1px solid var(--ca-line);border-radius:var(--ca-r-md);padding:30px 22px 32px;text-align:center;transition:box-shadow .2s ease,border-color .2s ease;}
.ca-card:hover{border-color:var(--ca-accent-soft);box-shadow:0 14px 30px -22px rgba(52,47,42,.5);}
.ca-card__badge{width:56px;height:56px;border-radius:50%;background:var(--ca-accent-tint);color:var(--ca-accent);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;}
.ca-card h3{font-size:1.1875rem;line-height:1.28;}
.ca-card p{margin-top:10px;font-size:1rem;color:var(--ca-muted);}
.ca-services__foot{margin-top:44px;text-align:center;}
.ca-services__foot p{max-width:60ch;margin-inline:auto;}

/* ---------- Histoire ---------- */

.ca-story{overflow:hidden;background:var(--ca-surface);}
.ca-story__inner{width:min(100% - 40px,var(--ca-container));margin-inline:auto;padding-block:clamp(40px,5vw,72px);}
.ca-story__body{max-width:34rem;}
.ca-story__media{position:relative;}
.ca-story__script{display:block;margin-top:30px;}

@media (min-width:901px){
  .ca-story__inner{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);gap:clamp(28px,3.5vw,56px);align-items:center;}
  .ca-story__media{justify-self:end;width:calc(100% + var(--ca-bleed));margin-left:calc(-1 * var(--ca-bleed));border-radius:0 var(--ca-r-lg) var(--ca-r-lg) 0;overflow:hidden;}
}

/* ---------- Fonctionnement ---------- */

.ca-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:50px;align-items:start;}
.ca-step{text-align:center;padding-inline:14px;position:relative;}
.ca-step + .ca-step::before{content:"";position:absolute;left:-9px;top:20px;width:11px;height:11px;border-top:1.5px solid var(--ca-accent-soft);border-right:1.5px solid var(--ca-accent-soft);transform:rotate(45deg);}
.ca-step__num{width:42px;height:42px;border-radius:50%;background:var(--ca-accent);color:#FFFDF9;display:flex;align-items:center;justify-content:center;font-family:var(--ca-head);font-size:1.25rem;font-weight:600;margin:0 auto 18px;}
.ca-step h3{font-size:1.125rem;}
.ca-step p{margin-top:10px;font-size:1rem;color:var(--ca-muted);}

/* ---------- Panneau bilan ---------- */

.ca-panel{background:var(--ca-green);color:var(--ca-on-dark);border-radius:var(--ca-r-lg);padding:clamp(30px,4vw,52px);display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(24px,3.5vw,48px);align-items:center;}
.ca-panel__offer{display:flex;flex-direction:column;align-items:stretch;gap:24px;min-width:250px;padding-left:clamp(24px,3vw,44px);border-left:1px solid rgba(241,192,165,.3);}
.ca-panel__offer .ca-btn{width:100%;}
.ca-panel__mark{color:var(--ca-accent-soft);}
.ca-panel a:not(.ca-btn){color:var(--ca-accent-soft);}
.ca-panel h2{color:#FFFDF9;font-size:clamp(1.45rem,1.15rem + 1.1vw,1.95rem);line-height:1.2;}
.ca-panel p{margin-top:14px;color:var(--ca-on-dark-muted);max-width:56ch;font-size:1.0625rem;}
.ca-price{display:block;font-family:var(--ca-head);font-weight:600;font-size:clamp(2.2rem,1.6rem + 2.4vw,3.2rem);line-height:1.05;color:#FFFDF9;white-space:nowrap;}
.ca-price--words{font-size:clamp(1.5rem,1.2rem + 1.1vw,2rem);white-space:normal;}
.ca-price small{display:block;font-family:var(--ca-body);font-size:.875rem;font-weight:400;line-height:1.5;color:var(--ca-on-dark-muted);margin-top:12px;letter-spacing:.01em;white-space:normal;}

/* ---------- Zone ---------- */

.ca-zone__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,64px);align-items:center;}
.ca-zone__aside{position:relative;padding-top:38px;}
.ca-zone__script{position:absolute;right:0;top:0;}
.ca-zone__aside img{width:100%;height:auto;}

/* ---------- FAQ ---------- */

.ca-faq__list{margin-top:38px;display:flex;flex-direction:column;gap:12px;}
.ca-faq__item{background:var(--ca-bg);border:1px solid var(--ca-line);border-radius:var(--ca-r-sm);}
.ca-faq__q{display:flex;align-items:center;gap:18px;justify-content:space-between;padding:19px 22px;cursor:pointer;list-style:none;font-family:var(--ca-body);font-size:1rem;font-weight:600;line-height:1.4;}
.ca-faq__q::-webkit-details-marker{display:none;}
.ca-faq__q .ca-ico{stroke:var(--ca-accent);width:20px;height:20px;transition:transform .2s ease;}
.ca-faq__item[open] .ca-faq__q .ca-ico{transform:rotate(180deg);}
.ca-faq__a{padding:0 56px 22px 22px;color:var(--ca-muted);font-size:1.0625rem;}

/* ---------- Contact ---------- */

.ca-contact{background:var(--ca-peach);}
.ca-contact__grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(30px,5vw,64px);align-items:start;}
.ca-contact__list{margin-top:30px;display:flex;flex-direction:column;gap:16px;}
.ca-contact__list li{display:flex;align-items:center;gap:14px;font-size:1rem;}
.ca-contact__list .ca-ico{stroke:var(--ca-accent);width:20px;height:20px;}
.ca-contact__list a{color:var(--ca-ink);text-decoration:none;}
.ca-contact__list a:hover{color:var(--ca-accent);}
.ca-contact__script{margin-top:36px;display:block;}

.ca-form{background:var(--ca-field);border-radius:var(--ca-r-md);padding:clamp(24px,3vw,38px);box-shadow:0 18px 40px -34px rgba(52,47,42,.55);}
.ca-field{margin-top:20px;}
.ca-field:first-of-type{margin-top:0;}
.ca-field label{display:block;font-size:.9375rem;font-weight:600;margin-bottom:8px;}
.ca-req{color:var(--ca-accent);}
.ca-field input,.ca-field select,.ca-field textarea{width:100%;padding:13px 15px;background:var(--ca-field);border:1px solid var(--ca-line);border-radius:var(--ca-r-sm);font-size:1rem;color:var(--ca-ink);}
.ca-field textarea{min-height:118px;resize:vertical;}
.ca-field input::placeholder,.ca-field textarea::placeholder{color:#9A9187;}
.ca-field input:focus-visible,.ca-field select:focus-visible,.ca-field textarea:focus-visible{outline:2px solid var(--ca-accent);outline-offset:2px;border-color:var(--ca-accent);}
.ca-field--half{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px;}
@media (min-width:601px){
  .ca-field--half .ca-field{display:flex;flex-direction:column;}
  .ca-field--half .ca-field label{min-height:2.9em;display:flex;align-items:flex-end;margin-bottom:8px;}
}
.ca-field--half .ca-field{margin-top:0;}
.ca-error{display:block;margin-top:7px;font-size:.875rem;color:var(--ca-accent-deep);}
.ca-field--invalid input,.ca-field--invalid select,.ca-field--invalid textarea{border-color:var(--ca-accent);}
.ca-consent{display:flex;gap:12px;align-items:flex-start;margin-top:24px;}
.ca-consent input{width:20px;height:20px;flex:none;margin-top:3px;accent-color:var(--ca-green);}
.ca-consent label{font-size:.9375rem;font-weight:400;margin:0;color:var(--ca-muted);}
.ca-form__submit{margin-top:26px;width:100%;}
.ca-form__legal{margin-top:14px;font-size:.875rem;color:var(--ca-muted);}
.ca-form__privacy{margin-top:22px;padding-top:18px;border-top:1px solid var(--ca-line);font-size:.8125rem;line-height:1.6;color:var(--ca-muted);}
.ca-form__privacy a{color:var(--ca-accent);}
.ca-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden;}
.ca-alert{border-radius:var(--ca-r-sm);padding:16px 18px;font-size:1rem;margin-bottom:24px;}
.ca-alert--error{background:var(--ca-accent-tint);border:1px solid var(--ca-accent-soft);color:var(--ca-accent-deep);}
.ca-alert--ok{background:var(--ca-field);border-radius:var(--ca-r-md);padding:clamp(28px,4vw,44px);margin:0;box-shadow:0 18px 40px -34px rgba(52,47,42,.55);}
.ca-alert--ok h3{font-size:1.5rem;}
.ca-alert--ok p{margin-top:12px;color:var(--ca-muted);max-width:48ch;}

/* ---------- Blocs de réserve pour les photographies ---------- */

.ca-ph{
  position:relative;width:100%;height:100%;min-height:280px;
  background:linear-gradient(140deg,var(--ca-surface) 0%,var(--ca-peach) 58%,var(--ca-accent-soft) 100%);
  display:flex;align-items:center;justify-content:center;
}
.ca-ph::after{
  content:"";position:absolute;inset:0;opacity:.5;
  background-image:radial-gradient(circle at 1px 1px,rgba(164,96,77,.28) 1px,transparent 0);
  background-size:22px 22px;
}
.ca-ph .ca-ico{position:relative;z-index:1;stroke:rgba(164,96,77,.55);}
.ca-ph--ratio{aspect-ratio:4/3;min-height:0;border-radius:var(--ca-r-md);overflow:hidden;}
.ca-ph--sketch{aspect-ratio:16/9;min-height:0;border-radius:var(--ca-r-md);overflow:hidden;}

.ca-hero__media img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;}
.ca-story__media img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;}

/* ---------- Pied de page ---------- */

.ca-footer{background:var(--ca-green-deep);color:var(--ca-on-dark);padding-block:clamp(48px,6vw,72px) 0;}
.ca-footer a:not(.ca-btn){color:var(--ca-on-dark);text-decoration:none;}
.ca-footer a:not(.ca-btn):hover{color:var(--ca-accent-soft);text-decoration:underline;}
.ca-footer :focus-visible{outline-color:var(--ca-accent-soft);}
.ca-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1.15fr 1.15fr;gap:36px;}
.ca-footer__name{display:block;font-family:var(--ca-head);font-weight:600;font-size:1.4rem;color:#FFFDF9;line-height:1.2;}
.ca-footer__title{font-size:1rem;font-weight:600;color:var(--ca-accent-soft);letter-spacing:.01em;}
.ca-footer__grid p{margin-top:16px;font-size:1rem;color:var(--ca-on-dark-muted);max-width:34ch;}
.ca-footer__grid ul{margin-top:18px;display:flex;flex-direction:column;gap:11px;}
.ca-footer__grid li{font-size:1rem;display:flex;align-items:center;gap:11px;}
.ca-footer .ca-ico{width:17px;height:17px;stroke:var(--ca-accent-soft);}
.ca-footer__bottom{margin-top:clamp(40px,5vw,64px);padding-block:22px;border-top:1px solid rgba(241,192,165,.2);display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;font-size:.875rem;color:var(--ca-on-dark-muted);}
.ca-footer__legal{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;}
.ca-footer__bottom svg{width:14px;height:14px;display:inline;vertical-align:-2px;stroke:var(--ca-accent-soft);fill:none;stroke-width:1.5;}

/* ---------- Adaptations ---------- */

@media (max-width:1080px){
  .ca-panel__mark{display:none;}
  .ca-cards{grid-template-columns:repeat(2,1fr);}
  .ca-footer__grid{grid-template-columns:1fr 1fr;}
  .ca-band ul{grid-template-columns:repeat(2,1fr);gap:22px 28px;}
}

@media (max-width:900px){
  .ca-nav,.ca-header__cta{display:none;}
  .ca-menu{display:block;}
  .ca-hero__inner,.ca-story__inner{display:block;padding-block:34px;}
  .ca-hero__body,.ca-story__body{max-width:none;}
  .ca-hero__media,.ca-story__media{margin-inline:calc(50% - 50vw);margin-top:30px;width:auto;border-radius:0;}
  .ca-story__media{margin-top:0;margin-bottom:30px;}
  .ca-hero__media .ca-ph,.ca-story__media .ca-ph{min-height:0;aspect-ratio:3/2;}
  .ca-hero__media img,.ca-story__media img{aspect-ratio:3/2;}
  .ca-story__media img{aspect-ratio:3/2;}
  .ca-panel{grid-template-columns:1fr;text-align:left;}
  .ca-panel__mark{display:none;}
  .ca-panel__offer{padding-left:0;padding-top:28px;border-left:0;border-top:1px solid rgba(241,192,165,.3);align-items:flex-start;}
  .ca-panel__offer .ca-btn{width:auto;}
  .ca-zone__grid,.ca-contact__grid{grid-template-columns:1fr;}
  .ca-steps{grid-template-columns:1fr 1fr;gap:34px 0;}
  .ca-step + .ca-step::before{display:none;}
}

@media (max-width:600px){
  .ca-cards,.ca-steps,.ca-band ul,.ca-footer__grid,.ca-field--half{grid-template-columns:1fr;}
  .ca-actions .ca-btn{width:100%;}
  .ca-faq__a{padding-right:22px;}
  body.admin-bar .ca-header{top:46px;}
}

@media (prefers-reduced-motion:reduce){
  body.ca *,body.ca *::before,body.ca *::after{transition:none!important;animation:none!important;}
}

/* ---------- Pages intérieures ---------- */

.ca-pagehead{background:var(--ca-surface);border-bottom:1px solid var(--ca-line);padding-block:clamp(30px,4vw,54px);}
.ca-pagehead__inner{max-width:720px;}
.ca-pagehead h1{font-size:clamp(1.85rem,1.3rem + 1.9vw,2.7rem);line-height:1.16;margin-top:14px;}
.ca-pagehead__date{margin-top:14px;font-size:.875rem;color:var(--ca-muted);}
.ca-pagehead__lead{margin-top:18px;font-size:1.25rem;line-height:1.6;color:var(--ca-muted);max-width:60ch;}
.ca-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:9px;font-size:.875rem;color:var(--ca-muted);}
.ca-crumbs a{color:var(--ca-accent);text-decoration:none;}
.ca-crumbs a:hover{text-decoration:underline;}

.ca-article__inner{max-width:720px;}
.ca-article__inner > *:first-child{margin-top:0;}
.ca-article__inner h2{font-size:clamp(1.5rem,1.2rem + 1vw,2rem);line-height:1.22;margin-top:54px;}
.ca-article__inner h3{font-size:1.3125rem;line-height:1.32;margin-top:36px;}
.ca-article__inner p{margin-top:22px;font-size:1.1875rem;line-height:1.7;}
.ca-article__inner ul,.ca-article__inner ol{margin-top:22px;display:flex;flex-direction:column;gap:14px;}
.ca-article__inner li{position:relative;padding-left:29px;font-size:1.1875rem;line-height:1.65;}
.ca-article__inner li::before{content:"";position:absolute;left:3px;top:13px;width:7px;height:7px;border-radius:50%;background:var(--ca-accent-soft);}
.ca-article__inner a:not(.ca-btn){color:var(--ca-accent);}
.ca-article__inner strong{font-weight:600;}
.ca-article__inner blockquote{margin-top:26px;padding:2px 0 2px 22px;border-left:2px solid var(--ca-accent-soft);color:var(--ca-muted);}
.ca-article__inner table{width:100%;border-collapse:collapse;margin-top:24px;font-size:1rem;}
.ca-article__inner th,.ca-article__inner td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--ca-line);vertical-align:top;}
.ca-article__inner th{font-weight:600;}
.ca-article__inner .ca-form{max-width:none;margin-top:30px;}
.ca-article__inner .ca-callout{margin-top:34px;background:var(--ca-surface);border:1px solid var(--ca-line);border-radius:var(--ca-r-md);padding:26px 30px;}
.ca-article__inner .ca-callout p:first-child{margin-top:0;}

.ca-endcta .ca-lead{margin-inline:auto;}
.ca-index{margin-top:32px;display:grid;grid-template-columns:1fr 1fr;gap:4px 26px;padding:26px 28px;background:var(--ca-surface);border:1px solid var(--ca-line);border-radius:var(--ca-r-md);}
.ca-index a{display:block;padding:8px 0;color:var(--ca-ink);text-decoration:none;font-size:1.0625rem;border-bottom:1px solid transparent;}
.ca-index a:hover{color:var(--ca-accent);border-bottom-color:var(--ca-accent-soft);}
.ca-article__inner h2[id]{scroll-margin-top:calc(var(--ca-header-h) + 18px);}
@media (max-width:560px){.ca-index{grid-template-columns:1fr;padding:20px 22px;}}

/* ---------- Bandeau de consentement ---------- */

.ca-cookie{display:none;position:fixed;left:0;right:0;bottom:0;z-index:100;background:var(--ca-bg);border-top:1px solid var(--ca-line);box-shadow:0 -14px 36px -30px rgba(52,47,42,.6);}
.ca-cookie.is-open{display:block;}
.ca-cookie__inner{width:min(100% - 40px,var(--ca-container));margin-inline:auto;padding-block:18px;display:flex;align-items:center;gap:26px;flex-wrap:wrap;}
.ca-cookie__text{flex:1 1 30ch;font-size:.9375rem;line-height:1.6;color:var(--ca-muted);margin:0;}
.ca-cookie__text a{color:var(--ca-accent);}
.ca-cookie__actions{display:flex;gap:12px;flex:none;}
.ca-footer__legal a[data-ca-consent-open]{cursor:pointer;}

@media (max-width:600px){
  .ca-cookie__inner{gap:16px;padding-block:16px;}
  .ca-cookie__actions{width:100%;}
  .ca-cookie__actions .ca-btn{flex:1;}
}