:root{--ink:#14243b;--muted:#49576a;--paper:#fbfaf7;--line:#dedfdc;--white:#fff;--red:#b33222;--hot:#ff765b;--pad:clamp(1rem,4vw,3.5rem);--width:1240px;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #287bb8;outline-offset:3px}h1,h2,h3,p{margin:0}.wrap{max-width:var(--width);margin:auto;padding-inline:var(--pad)}.skip{position:absolute;top:-400px}.skip:focus{top:.5rem;left:.5rem;z-index:9;background:#fff;padding:.6rem}.header{background:var(--paper);border-bottom:1px solid var(--line)}.bar{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:1.3rem}.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;font-weight:900}.mark{background:var(--ink);color:white;padding:.25rem .4rem;letter-spacing:-.06em;font-size:1.04rem}.mark span{color:var(--hot)}.brandtext{font-size:.8rem;line-height:1.1;white-space:nowrap}.brandtext small{display:block;margin-top:.25rem;letter-spacing:.08em;color:var(--muted);font-size:.58rem}.bar nav{display:flex;gap:1.6rem}.bar nav a,.footer>a:last-child{font-size:.84rem;text-decoration:none;font-weight:700}.bar nav a:hover,.footer>a:last-child:hover{text-decoration:underline}.request{border:1px solid var(--ink);color:var(--ink);background:transparent;font-weight:750;padding:.57rem .7rem;border-radius:4px;font-size:.85rem;white-space:nowrap}.request b{background:var(--ink);color:white;padding:.17rem .37rem;margin-left:.27rem;border-radius:20px;font-size:.7rem}.hero{background:#101e32;color:white}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:stretch;min-height:390px}.hero-copy{padding:3.3rem 1.5rem 3.4rem 0;align-self:center}.kicker{font-size:.73rem;font-weight:850;letter-spacing:.14em;color:var(--red);display:flex;align-items:center;gap:.45rem}.hero .kicker{color:#ff9c88}.kicker span{width:.47rem;height:.47rem;background:var(--hot);display:inline-block}.hero h1{font-size:clamp(2.55rem,6.15vw,5.1rem);line-height:.98;letter-spacing:-.07em;margin:.9rem 0 1rem}.hero h1 em{font-style:normal;color:#ff927c}.hero-sub{color:#e0e7f0;max-width:35ch;line-height:1.55;font-size:1.05rem;margin-bottom:1.35rem}.primary{display:inline-flex;gap:.85rem;align-items:center;background:#ff8c74;color:#18191d;border:1px solid transparent;padding:.75rem .95rem;text-decoration:none;border-radius:4px;font-weight:850}.primary:hover{background:#ffad9b}.hero-graphic{overflow:hidden;min-height:270px;background:#203650}.hero-graphic svg{display:block;width:100%;height:100%}.strip{border-bottom:1px solid var(--line);background:#f0eee7}.strip-items{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.65rem 1.2rem;padding-block:.85rem;font-size:.83rem;font-weight:750}.strip-items b{color:var(--red);font-family:ui-monospace,monospace;margin-right:.4rem}.catalogue{padding-block:3.1rem 3.6rem}.section-head{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;margin-bottom:1.45rem}.section-head h2,.process h2{font-size:clamp(1.85rem,3.4vw,3.1rem);line-height:1.02;letter-spacing:-.055em;margin-top:.35rem}.section-head>p{color:var(--muted);max-width:34ch;line-height:1.5}.toolbar{display:flex;gap:.75rem;align-items:center;justify-content:space-between;flex-wrap:wrap}.filters{display:flex;gap:.35rem;flex-wrap:wrap}.filters button{border:1px solid var(--line);background:white;color:var(--ink);border-radius:3px;padding:.5rem .65rem;font-size:.79rem;font-weight:750}.filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.search{display:flex;align-items:center;gap:.45rem;background:#fff;border:1px solid var(--line);padding:.32rem .55rem;border-radius:3px}.search span{font-size:1.25rem}.search input{border:0;width:11rem;padding:.2rem;color:var(--ink);background:white;font-size:.84rem}.results{color:var(--muted);font-size:.78rem;margin:.8rem 0 .55rem}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}.card{background:white;border:1px solid var(--line);border-radius:5px;overflow:hidden;display:flex;flex-direction:column;min-width:0}.tile{height:122px;background:var(--tile,#e9edf4);display:grid;place-items:center;color:var(--ink);position:relative}.tile svg{width:68px;height:68px}.tile-note{position:absolute;bottom:.45rem;right:.55rem;color:var(--muted);font-size:.62rem}.card-body{padding:.8rem;display:flex;flex-direction:column;flex:1;gap:.38rem}.category{font-size:.65rem;font-weight:850;color:var(--red);letter-spacing:.09em;text-transform:uppercase}.card h3{font-size:1.01rem;line-height:1.2}.card p:not(.category){font-size:.83rem;color:var(--muted);line-height:1.42}.price{margin-top:auto;padding-top:.45rem;font-size:.84rem;font-weight:850}.actions{display:flex;gap:.35rem;margin-top:.35rem}.actions button,.secondary{flex:1;border:1px solid var(--ink);background:white;color:var(--ink);border-radius:3px;padding:.5rem .42rem;font-size:.77rem;font-weight:750}.actions button:last-child{background:var(--ink);color:white}.actions button[disabled]{background:#e6e9ec;color:#3e4d61;border-color:#ccd3dc;cursor:default}.process{background:#f0eee7;border-block:1px solid var(--line)}.process-inner{display:grid;grid-template-columns:1fr 1.1fr;gap:2rem;padding-block:2.4rem}.process ol{padding-left:1.2rem;margin:.1rem 0}.process li{padding:.5rem .15rem;line-height:1.4;color:var(--muted)}.process li b{color:var(--ink)}.footer{min-height:100px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-block:1rem}.footer small,.muted{color:var(--muted)}dialog{max-width:min(580px,calc(100vw - 2rem));width:100%;max-height:88vh;overflow:auto;border:1px solid var(--line);border-radius:6px;color:var(--ink);padding:1.1rem;background:var(--paper)}dialog::backdrop{background:#0b1428bf}.dialog-head{display:flex;align-items:start;justify-content:space-between;gap:1rem;padding-bottom:.75rem}.dialog-head h2{line-height:1.07;letter-spacing:-.035em}.close{min-width:38px;min-height:38px;border:1px solid var(--line);border-radius:4px;background:white;font-size:1.4rem}.detail p,.detail ul{line-height:1.5;margin:.55rem 0}.detail a{color:#0d577c}.detail .secondary{margin-top:.8rem}.line-item{border-bottom:1px solid var(--line);padding:.7rem 0;display:flex;align-items:center;gap:.6rem;justify-content:space-between}.line-item strong{flex:1}.line-item input{width:5.1rem}.line-item label{font-size:.77rem}.line-item button{flex:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:1rem}.form-grid label{font-size:.8rem;font-weight:750}.form-grid input,.line-item input{display:block;width:100%;margin-top:.2rem;background:white;color:var(--ink);border:1px solid var(--line);border-radius:3px;padding:.45rem}.dialog-foot{margin-top:1rem;display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.empty{grid-column:1/-1;padding:1.3rem;border:1px dashed var(--line);color:var(--muted)}
@media(max-width:900px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:670px){.bar{min-height:61px;gap:.4rem}.bar nav{display:none}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:2.45rem 0 2rem}.hero-graphic{height:190px;min-height:0}.hero-graphic svg{object-fit:cover}.strip-items{display:grid;grid-template-columns:1fr;gap:.4rem}.section-head{display:block}.section-head>p{margin-top:.65rem}.catalogue{padding-block:2rem 2.5rem}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.card-body{padding:.63rem}.actions{flex-wrap:wrap}.actions button{flex-basis:100%}.tile{height:96px}.tile svg{width:54px;height:54px}.process-inner{grid-template-columns:1fr;gap:1rem}.footer{min-height:0}.line-item{gap:.4rem}.line-item strong{font-size:.83rem}}
.tile:has(.product-photo){background:#edf0f2; height:158px}
.product-photo{width:100%;height:100%;max-height:158px;object-fit:contain;mix-blend-mode:multiply;padding:.3rem .55rem .55rem}
.photo-note{border-radius:3px;background:#f7f8f9dc;padding:.18rem .23rem}
.primary:disabled{opacity:.55;cursor:default}
@media(max-width:670px){.tile:has(.product-photo){height:122px}.product-photo{max-height:122px}}
[hidden]{display:none!important}
.hero h1{font-size:clamp(2.52rem,5.5vw,4.85rem);max-width:11ch}
.hero-actions{display:flex;gap:.75rem 1rem;flex-wrap:wrap;align-items:center}
.hero-link{font-size:.91rem;color:white;text-underline-offset:.22em}
.v2-hero-art{isolation:isolate;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(8,minmax(32px,1fr));gap:.5rem;padding:1.65rem;background:repeating-linear-gradient(90deg,#99b0c114 0 1px,transparent 1px 24px),repeating-linear-gradient(0deg,#99b0c114 0 1px,transparent 1px 24px),linear-gradient(140deg,#192b45,#2d4968)}
.hero-card{background:#e3e7e9;border:1px solid #f9f9fb44;position:relative;overflow:hidden;border-radius:4px;box-shadow:0 12px 24px #0004;min-height:0}
.hero-card img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;padding:.55rem .4rem 1.45rem}
.hero-card span{position:absolute;bottom:0;left:0;right:0;background:#14243b;color:white;font-size:.61rem;letter-spacing:.08em;font-weight:850;padding:.3rem .45rem}
.hero-a{grid-area:2/1/6/4}.hero-b{grid-area:1/4/8/7;background:#e8d9d0}.hero-c{grid-area:6/2/9/4}
.needs{padding-block:2.7rem 1.7rem}.need-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.need-card{display:flex;flex-direction:column;gap:.55rem;text-decoration:none;background:#fff;border:1px solid var(--line);border-top:3px solid #bb3928;padding:1rem;border-radius:4px;min-height:155px}
.need-card:focus-visible,.need-card:hover{border-color:var(--red);background:#fffaf7}.need-tag{font-size:.67rem;font-weight:850;letter-spacing:.07em;color:var(--red)}.need-card h3{font-size:1.18rem;letter-spacing:-.028em}.need-card p{font-size:.86rem;color:var(--muted);line-height:1.44}.need-cta{font-size:.81rem;font-weight:820;margin-top:auto;padding-top:.25rem}.help-row{display:flex;gap:.6rem 1rem;flex-wrap:wrap;align-items:center;margin-top:.9rem;color:var(--muted);font-size:.82rem}.help-row a{color:#15496d}.help-row .secondary{flex:0 0 auto}
.catalogue{padding-top:1.9rem}.group-notice{display:flex;align-items:center;gap:.55rem;margin-top:.65rem;padding:.55rem .68rem;background:#efe9df;color:var(--ink);border-radius:4px}.group-notice .secondary{flex:0 0 auto}
.card .actions a{flex:1;border:1px solid var(--ink);background:white;color:var(--ink);border-radius:3px;padding:.5rem .42rem;font-size:.77rem;font-weight:750;text-align:center;text-decoration:none}
.card .actions a:hover{background:#f0f3f7}.line-item{display:grid;grid-template-columns:minmax(0,2fr) minmax(3.75rem,.7fr) minmax(0,1.35fr) auto}.line-item input{min-width:0}.line-item label{min-width:0}.line-item button{min-height:40px}.wide{grid-column:1/-1}.form-grid label span{font-weight:400;color:var(--muted)}.form-grid textarea{display:block;width:100%;margin-top:.2rem;background:white;color:var(--ink);border:1px solid var(--line);border-radius:3px;padding:.48rem;font:inherit;resize:vertical}
.summary-preview{padding:.65rem .75rem;background:#eceff4;border-radius:4px;margin-top:.8rem}.summary-preview pre{margin:.27rem 0;font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);font-size:.83rem}.sticky-request{display:none}
@media(max-width:670px){
 .v2-hero-art{height:200px;padding:.7rem;grid-template-rows:repeat(8,minmax(0,1fr));gap:.3rem}.hero-card img{padding:.15rem .18rem .95rem}.hero-card span{padding:.2rem .3rem;font-size:.52rem}
 .need-grid{grid-template-columns:1fr}.need-card{min-height:0;padding:.77rem}.needs{padding-block:1.7rem .8rem}.need-card p{max-width:46ch}.hero h1{max-width:13ch}.hero-actions .primary{min-height:44px}
 .line-item{grid-template-columns:1fr 1fr;gap:.5rem}.line-item strong{grid-column:1/-1}
 .line-item button{justify-self:start}.card .actions a{flex-basis:100%;min-height:42px;padding:.66rem .42rem}.card .actions button{min-height:42px}
 .sticky-request{display:block;position:fixed;left:max(1rem,env(safe-area-inset-left));right:max(1rem,env(safe-area-inset-right));bottom:max(.65rem,env(safe-area-inset-bottom));z-index:2;background:var(--ink);color:white;box-shadow:0 6px 18px #10192866;border:1px solid #fff8;border-radius:5px;padding:.7rem;font-weight:850}.sticky-request b{background:#ff8c74;color:#201c1a;padding:.12rem .36rem;margin-left:.3rem;border-radius:20px}
 body:has(.sticky-request:not([hidden])) .footer{padding-bottom:4rem}
}
.card p.safety-note{color:#5f3919;background:#fff3da;padding:.28rem .37rem;border-radius:3px;font-size:.73rem}
.demo-panel{margin-top:1rem;padding:1rem;border:1px solid #8b9db2;border-radius:5px;background:#eff2f7}.demo-panel h3{margin:.18rem 0 .4rem;font-size:1.04rem}.demo-panel p:not(.kicker){font-size:.84rem;color:var(--muted);line-height:1.45}.demo-panel p[role=status]{margin-top:.45rem;font-weight:750}.demo-actions{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:.7rem}.demo-actions .secondary{min-height:43px;flex:0 1 auto}.demo-actions .secondary:disabled{opacity:.56;cursor:default}
.editorial-visual,.workshop-visual{margin:0;position:relative;overflow:hidden;background:#273b50}
.editorial-visual{min-height:330px}
.editorial-visual img,.workshop-visual img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 46%}
.editorial-visual figcaption,.workshop-visual figcaption{position:absolute;bottom:0;left:0;right:0;padding:.5rem .65rem;background:#101e32eb;color:#fff;font-size:.68rem;line-height:1.3}
.workshop{display:grid;grid-template-columns:1fr 1.05fr;align-items:stretch;gap:1.2rem;margin-bottom:2.6rem}
.workshop-copy{align-self:center;padding:1.4rem 1.4rem 1.4rem 0}
.workshop h2{letter-spacing:-.035em;font-size:clamp(1.55rem,3.1vw,2.5rem);line-height:1.08;margin:.38rem 0 .7rem}
.workshop p:not(.kicker){color:var(--muted);max-width:45ch;line-height:1.5;margin-bottom:.9rem}
.workshop a{font-size:.87rem;font-weight:750;text-underline-offset:3px}
.workshop-visual{min-height:260px;border-radius:5px}
@media(max-width:670px){
 .editorial-visual{min-height:0;height:220px}.workshop{grid-template-columns:1fr;gap:.6rem;margin-bottom:1.6rem}
 .workshop-copy{padding:.25rem 0 .55rem}.workshop-visual{min-height:165px}
 .editorial-visual figcaption,.workshop-visual figcaption{font-size:.62rem}
}

/* Official Coup de Pub identity, independent of product photography. */
.brand-lockup{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.16rem;min-width:0;line-height:1;padding-block:.38rem}
.brand-lockup .brand-logo{display:block;width:clamp(108px,12vw,152px);height:44px;object-fit:contain;object-position:left center}
.brand-lockup .brand-section{font-size:.63rem;font-weight:700;color:var(--muted);letter-spacing:.025em}
.brand-footer{background:#101e32;color:#f1f5f9}
.brand-footer .footer{padding-block:1.15rem}
.brand-footer .footer small{color:#dae4f1}
.brand-footer a:focus-visible{outline-color:#ff9c88}
@media(max-width:670px){
 .brand-lockup .brand-logo{height:34px}
 .brand-footer .footer{gap:.65rem 1rem}
 body:has(.sticky-request:not([hidden])) .brand-footer .footer{padding-bottom:4.35rem}
}

/* Direct contact for the initial three catalogue products. */
.fiche-contact{border-top:1px solid var(--line);padding-top:1.2rem}
.fiche-contact>h2{font-size:1.35rem}
.fiche-contact>p{line-height:1.55;margin:.5rem 0}
.fiche-contact-actions{display:flex;align-items:center;gap:.8rem 1.1rem;flex-wrap:wrap;margin:.9rem 0 .5rem}
.fiche-phone{font-size:.93rem;font-weight:750;text-underline-offset:3px}
@media(max-width:700px){.fiche-contact-actions{align-items:stretch;flex-direction:column}.fiche-phone{padding-block:.45rem}}

/* Price comparison is an invitation, not a guarantee. */
.process .quote-promise{margin:.85rem 0 0;line-height:1.5;max-width:36ch}
.fiche-contact .quote-promise{font-weight:700}

/* Public contact options, no automatic submission. */
.dialog-foot a.primary{min-height:44px;align-items:center}
.dialog-foot a[aria-disabled=true]{opacity:.55;cursor:not-allowed}
.dialog-foot .request-phone{align-self:center;font-size:.86rem;font-weight:750;text-underline-offset:.2em}
.dialog-foot #request-hint,.dialog-foot #copied{flex-basis:100%;line-height:1.4;font-size:.85rem}
.nojs-contact{padding-block:.8rem;line-height:1.45}
