/* P-POSE V42 — green sampled from the supplied, unmodified logo. */
:root{
  --brand-green:#9bc2b1; --brand-green-hover:#87b7a3; --brand-soft:#edf6f1;
  --brand-ink:#262c30;
  --green:var(--brand-green); --green-deep:var(--brand-green); --green-soft:var(--brand-soft);
  --sage:var(--brand-green); --sage-deep:var(--brand-green);
  --terracotta:var(--brand-green); --terracotta-deep:var(--brand-green-hover);
  --accent:var(--brand-green);
}
/* Show the full artwork; only the original JPEG's white outside margins are hidden. */
.header .brand-logo-frame,.footer .brand-logo-frame{
  display:block!important;position:relative;overflow:hidden;flex:0 0 auto!important;
  width:126px!important;height:87px!important;background:#fff;
}
.header .brand-logo-frame .logo,.footer .brand-logo-frame .logo{
  position:absolute!important;left:-15.9%!important;top:-23.1%!important;
  width:131.6%!important;max-width:none!important;height:auto!important;
  margin:0!important;filter:none!important;object-fit:contain!important;
}
.header .nav{height:106px!important;min-height:106px!important}
.header{border-bottom:2px solid var(--brand-green)!important}
.topbar{background:var(--brand-soft)!important;color:var(--brand-ink)!important}
.header .menu>a:not(.cta):after,
nav a.is-current-page::after,.site-nav a.is-current-page::after,.main-nav a.is-current-page::after{
  background:var(--brand-green)!important;height:3px!important;
}
nav a.is-current-page,.site-nav a.is-current-page,.main-nav a.is-current-page{color:var(--brand-ink)!important}
/* A pale brand colour needs dark lettering, including hover and mobile states. */
.cta,.header .cta,.mobile-devis,.quote-submit,.cta.light{
  background:var(--brand-green)!important;background-image:none!important;
  border-color:var(--brand-green)!important;color:var(--brand-ink)!important;
  box-shadow:0 6px 18px rgba(38,44,48,.10)!important;
}
.cta:hover,.header .cta:hover,.mobile-devis:hover,.quote-submit:hover,.cta.light:hover{
  background:var(--brand-green-hover)!important;border-color:var(--brand-green-hover)!important;
  color:var(--brand-ink)!important;filter:none!important;
}
.cta.secondary,.cta.ghost{background:#fff!important;color:var(--brand-ink)!important;border-color:var(--brand-green)!important}
.signature-note,.text-link,.google-proof a,.trust-arrow,.rating-real b,
.story-hero .story-kicker,.story-intro span,.selection-note,.step:before{
  color:var(--brand-ink)!important;
}
.text-link,.google-proof a,.signature-note{border-bottom:3px solid var(--brand-green)!important}
.step-icon,.ppose-step-icon,.contact-icon-large,.icon-bubble,.contact-big-icon:not(.mail),.trust-link-icon{
  background:var(--brand-green)!important;color:var(--brand-ink)!important;
}
.process-number{display:inline-block;background:var(--brand-soft);color:var(--brand-ink)!important;border-left:4px solid var(--brand-green);padding:5px 11px;border-radius:0 6px 6px 0}
.story-scene .accent{stroke:var(--brand-green)!important}.story-scene .soft-fill{fill:var(--brand-soft)!important}
.contact-devis,.warm-note,.preview-notice{background:var(--brand-soft)!important;border-color:var(--brand-green)!important;color:var(--brand-ink)!important}
.choice:hover,.choice.selected,.quote-choice input:checked+.choice-visual{
  border-color:var(--brand-green)!important;background:var(--brand-soft)!important;
  box-shadow:0 0 0 2px var(--brand-green)!important;
}
.quote-choice input:checked+.choice-visual .choice-label:before{background:var(--brand-green)!important;border-color:var(--brand-ink)!important}
.choice.selected .icon-tile{background:var(--brand-green)!important;border-color:var(--brand-green)!important}
input[type="checkbox"],input[type="radio"]{accent-color:var(--brand-green)}
.progress span.active,.devis-card .progress span.active{background:var(--brand-green)!important}
#amenagements .card-meta em{background:var(--brand-soft)!important;border-color:var(--brand-green)!important;color:var(--brand-ink)!important}
#amenagements .catalogue-more summary span{color:var(--brand-ink);background:var(--brand-green);border-radius:50%;width:34px;height:34px;display:grid;place-items:center}
#amenagements .catalogue-more-links a:hover{color:var(--brand-ink)!important;background:var(--brand-soft)}
.category-links a:hover{background:var(--brand-green)!important;color:var(--brand-ink)!important;border-color:var(--brand-green)!important}
.video-control{color:var(--brand-ink)!important;border-color:var(--brand-green)!important}
.footer{background:var(--brand-ink)!important;border-top:7px solid var(--brand-green)}
.footer .footer-logo-link{width:180px!important;height:124px!important;border:13px solid #fff;border-radius:9px;box-sizing:content-box;margin-bottom:24px}
.footer h4,.footer a:hover{color:var(--brand-green)!important}
.footer-social a:hover{background:var(--brand-green)!important;border-color:var(--brand-green)!important;color:var(--brand-ink)!important}
a:focus-visible,button:focus-visible,[role="button"]:focus-visible,:focus-visible,
.quote-choice input:focus-visible+.choice-visual{
  outline:2px solid var(--brand-ink)!important;outline-offset:4px;box-shadow:0 0 0 5px var(--brand-green)!important;
}
.skip-link{color:var(--brand-ink)!important;border-color:var(--brand-green)!important}
[id]{scroll-margin-top:145px}
@media(max-width:1120px){
  .header .nav{height:94px!important;min-height:94px!important}
  .header .brand-logo-frame{width:110px!important;height:76px!important}
  .mobile-menu{max-height:calc(100dvh - 122px)!important}
  [id]{scroll-margin-top:132px}
}
@media(max-width:560px){
  .header .nav{height:82px!important;min-height:82px!important}
  .header .brand-logo-frame{width:96px!important;height:66px!important}
  .mobile-menu{max-height:calc(100dvh - 84px)!important}
  [id]{scroll-margin-top:100px}
}
@media(max-width:360px){.header .brand-logo-frame{width:83px!important;height:57px!important}}

.story-num{background:var(--brand-green)!important;color:var(--brand-ink)!important}
.story-note{color:var(--brand-ink)!important;border-left:3px solid var(--brand-green);padding-left:14px}
.quote-fields b,.quote-block b,.furniture-fieldset b{color:var(--brand-ink)!important}

/* Keep the home introduction aligned with the rest of the page. */
.hero .wrap.hero-content{width:min(var(--max),calc(100% - 56px))!important;max-width:var(--max)!important;margin-left:auto!important;margin-right:auto!important}
@media(max-width:900px){.hero .wrap.hero-content{width:calc(100% - 34px)!important}}

/* V43: header wordmark only; the complete footer logo remains unchanged. */
.header .brand-logo-frame{width:148px!important;height:41px!important}
.header .brand-logo-frame .logo{top:-206.1%!important}
.header .nav{height:78px!important;min-height:78px!important}
[id]{scroll-margin-top:120px}
@media(max-width:1120px){
 .header .brand-logo-frame{width:136px!important;height:37.7px!important}
 .header .nav{height:76px!important;min-height:76px!important}
 .mobile-menu{max-height:calc(100dvh - 104px)!important}
 [id]{scroll-margin-top:112px}
}
@media(max-width:560px){
 .header .brand-logo-frame{width:110px!important;height:30.5px!important}
 .header .nav{height:70px!important;min-height:70px!important}
 .mobile-menu{max-height:calc(100dvh - 72px)!important}
 [id]{scroll-margin-top:90px}
}
@media(max-width:360px){.header .brand-logo-frame{width:87px!important;height:24.1px!important}}

/* V44: persistent, shared navigation state on desktop and mobile.
   Dark green lettering stays readable; the underline uses the logo green. */
.header .menu>a:not(.cta):is([aria-current],.is-active),
.header .mobile-menu>a:is([aria-current],.is-active){
  color:#506a58!important;font-weight:700!important;
}
.header .menu>a:not(.cta):is([aria-current],.is-active)::after{
  content:"";position:absolute;left:0!important;right:0!important;bottom:4px!important;
  height:3px!important;opacity:1!important;border-radius:999px;
  background:var(--brand-green)!important;transform:none!important;
}
.header .mobile-menu>a:is([aria-current],.is-active){
  text-decoration-line:underline!important;text-decoration-color:var(--brand-green)!important;
  text-decoration-thickness:3px!important;text-underline-offset:6px!important;
}

/* V44: brighter off-white surfaces, keeping the logo green intact. */
:root{--paper:#eaf3ed;--paper-2:#eaf3ed}

/* Centre the title and description in introductions without adjacent imagery. */
.text-only-intro{text-align:center!important}
.text-only-intro h1,.text-only-intro p{margin-left:auto!important;margin-right:auto!important}
.text-only-intro .eyebrow,.text-only-intro .breadcrumb,.text-only-intro .actions{justify-content:center!important}
.quote-intro.text-only-intro{margin-left:auto!important;margin-right:auto!important}

/* V45: centre the furniture catalogue introduction as requested. */
#amenagements .section-head{display:block!important;text-align:center!important}
#amenagements .section-head h2,#amenagements .section-head p{margin-left:auto!important;margin-right:auto!important;text-align:center!important}

/* V53: mint surfaces echo the unchanged logo. */
:root{--paper:#f2f8f4;--paper-2:#eaf3ed;--brand-soft:#eaf3ed;--mint-soft:#eaf3ed;--mint-border:#c5dbcf}

/* White page canvas; pastel belongs to cards and contained panels. */
html,body,main,.header,.mobile-menu{background:#fff!important}
main>.section,main>.page-hero,main>.story-hero,main>.journey-hero,
main>.category-help,main>.category-related,main>.project-intro,
main>.project-presentation{background:#fff!important}

/* The page canvas stays white, including legacy high-specificity rules. */
html body,body.devis-page,body .topbar,body main>section:not(.hero),body main>.section.alt,body main>.section.soft{background:#fff!important;background-image:none!important}
body main>.quote,body main>.story-proof,body main>.ppose-proof,body main>.ppose-proof p,body main>.ppose-proof h2{color:var(--brand-ink)!important}
body main>.quote>.wrap,body main>.story-proof>.wrap,body main>.ppose-proof>.wrap{background:var(--mint-soft);border-radius:28px;padding:36px;box-sizing:border-box}
body main>.quote small,body main>.story-proof .eyebrow{color:#405348!important}
body main>.story-proof .story-points span{border-color:var(--mint-border)}
@media(max-width:600px){body main>.quote>.wrap,body main>.story-proof>.wrap{padding:26px 22px}}

/* Original P-POSE brand fonts supplied with the identity guide. */
@font-face{font-family:'Pepose';src:url('../fonts/p_pose_book.ttf') format('truetype');font-weight:100 400;font-style:normal;font-display:swap}
@font-face{font-family:'Pepose';src:url('../fonts/p_pose_medium.ttf') format('truetype');font-weight:500 900;font-style:normal;font-display:swap}
@font-face{font-family:'Futura PPOSE';src:url('../fonts/FuturaBT-Light.otf') format('opentype');font-weight:100 300;font-style:normal;font-display:swap}
@font-face{font-family:'Futura PPOSE';src:url('../fonts/FuturaBT-Book.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Futura PPOSE';src:url('../fonts/FuturaBT-Medium.otf') format('opentype');font-weight:500 600;font-style:normal;font-display:swap}
@font-face{font-family:'Futura PPOSE';src:url('../fonts/FuturaBT-Bold.otf') format('opentype');font-weight:700 900;font-style:normal;font-display:swap}
:root{--font-body:'Futura PPOSE',Futura,'Avenir Next',Arial,sans-serif;--font-heading:'Pepose','Futura PPOSE',Arial,sans-serif;--serif:var(--font-heading)}
body,body :where(p,span,a,li,button,input,textarea,select,label,legend,div,strong,em,small,summary,figcaption){font-family:var(--font-body)!important}
body h1,body h2,body h3,body h4,body h5,body h6,body :is(h1,h2,h3,h4,h5,h6) *{font-family:var(--font-heading)!important;font-weight:500!important}
body blockquote,body blockquote *{font-family:var(--font-heading)!important;font-weight:400!important}
body .story-hero h1,body .story-proof h2,body .story-copy h3,body .story-final h2{font-family:var(--font-heading)!important;font-weight:500!important}

/* V53: constrain the text columns so a single-line heading cannot squash its neighbour. */
.story-proof-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.story-proof-grid>*,.story-points>*,.proof-grid>*{min-width:0}
.story-points{grid-template-columns:repeat(2,minmax(0,1fr))}
.proof-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
@media(max-width:900px){.proof-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:860px){.story-proof-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:620px){.story-points{grid-template-columns:minmax(0,1fr)}}

/* Extend the existing bubble above the photograph; preserve the photograph and side spacing. */
#amenagements .card{padding-top:20px}
@media(max-width:600px){#amenagements .card{padding-top:16px}}

/* V53: the quote categories echo the hand-drawn process scenes. */
.quote-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.quote-choice{min-width:0}
.choice-visual{background:#f2f8f4;border-color:#d2e3d8;border-radius:22px;height:254px;gap:14px;padding:22px}
.choice-visual img{width:150px;height:134px;max-width:100%;object-fit:contain}
.choice-label{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:11px;min-height:46px;line-height:1.35}
.choice-label:before{box-sizing:border-box;margin:0;width:22px;height:22px;vertical-align:initial;background:#fff;border-color:#91ad9e}
.quote-choice input:checked+.choice-visual{background:#e1eee6!important}
.quote-choice input:checked+.choice-visual .choice-label:before{box-shadow:inset 0 0 0 5px #fff}
@media(hover:hover){.quote-choice:hover .choice-visual{background:#eaf3ed;border-color:#9bc2b1}}
@media(max-width:700px){.quote-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-visual{height:242px;padding:17px 13px;gap:12px}.choice-visual img{width:140px;height:126px}.choice-label{font-size:16px;gap:8px;grid-template-columns:20px minmax(0,1fr)}.choice-label:before{width:20px;height:20px}}
@media(max-width:390px){.choice-visual{padding:15px 10px;height:232px}.choice-visual img{width:125px;height:114px}.choice-label{font-size:15px;gap:7px}}

/* V53: a contained panel for the category links, on the white page. */
.category-related>.wrap{box-sizing:border-box;padding:34px 36px 38px;background:var(--mint-soft);border:1px solid var(--mint-border);border-radius:30px}
.category-related h2{font-size:clamp(28px,3vw,42px);margin:0 0 24px;text-align:center}
.category-related .category-links{justify-content:center;gap:12px}
.category-related .category-links a{background:#fff;border-color:#ccded2;color:var(--brand-ink)}
@media(max-width:600px){.category-related>.wrap{padding:27px 20px 29px;border-radius:24px}.category-related h2{font-size:29px;margin-bottom:20px}.category-related .category-links{gap:9px}.category-related .category-links a{padding:10px 13px;font-size:14px}}

/* V53: one invitation per card, followed by one complete process section. */
#amenagements .card-meta{justify-content:flex-start}
#amenagements .card-meta em{text-align:left;margin-top:0;font-size:13px}
.process-actions{margin-top:36px;text-align:center}
@media(max-width:600px){.process-actions{margin-top:28px}.process-actions .cta{max-width:100%;box-sizing:border-box}}

/* V53: centre the disclosure icon geometrically, independently of font metrics. */
#amenagements .catalogue-more summary > span{
  position:relative;flex:0 0 34px;font-size:0;line-height:0;
  transform-origin:50% 50%;
}
#amenagements .catalogue-more summary > span::before,
#amenagements .catalogue-more summary > span::after{
  content:"";position:absolute;left:50%;top:50%;
  background:currentColor;border-radius:1px;transform:translate(-50%,-50%);
}
#amenagements .catalogue-more summary > span::before{width:16px;height:2px}
#amenagements .catalogue-more summary > span::after{width:2px;height:16px}

/* Brand text accents: green on white, white over the home video. */
:root{--gold:var(--brand-green);--gold-deep:#405348}
body main .eyebrow{color:#405348!important}
body main .hero .eyebrow,body .devis-aside .eyebrow{color:#fff!important}
