/* Atelier Rivage — a measured, practical workshop identity. */
.demo.demo-atelier-rivage{--paper:#f3f1e9;--ink:#20231e;--accent:#f4cc25;--soft:#e6e4d9;--heading-font:'Barlow Condensed',Impact,sans-serif;--surface:#eeece3}
.demo-atelier-rivage .demo-header{border-bottom:2px solid var(--ink)}.demo-atelier-rivage .demo-header-inner{max-width:1440px;padding-block:16px}.demo-atelier-rivage .demo-brand>span{font-family:'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;font-size:36px;letter-spacing:.015em}.demo-atelier-rivage .demo-brand>small{letter-spacing:.12em}.demo-atelier-rivage .demo-nav>.nav-action{background:var(--accent);color:var(--ink);border:2px solid var(--ink);font-weight:800}
.demo-atelier-rivage .rivage-wrap{width:min(1240px,calc(100% - 80px));margin-inline:auto}.demo-atelier-rivage .rivage-label{font:750 11px/1.6 Manrope,sans-serif;letter-spacing:.13em}.demo-atelier-rivage .rivage-note{display:flex;justify-content:space-between;gap:20px;padding:10px max(40px,calc((100vw - 1240px)/2));border-bottom:1px solid var(--ink);background:var(--accent);font-size:11px;font-weight:750;letter-spacing:.08em}.demo-atelier-rivage .rivage-hero-grid{display:grid;grid-template-columns:1fr 1fr;min-height:680px;border-bottom:2px solid var(--ink)}.demo-atelier-rivage .rivage-heading{padding:48px 40px 55px max(40px,calc((100vw - 1240px)/2))}.demo-atelier-rivage .rivage-heading h1{font-family:var(--heading-font);font-size:clamp(76px,8.4vw,128px);font-weight:600;line-height:.89;letter-spacing:-.015em;margin:24px 0 27px}.demo-atelier-rivage .rivage-heading h1 em{font-style:normal;background:var(--accent);padding:0 9px 4px 3px;display:inline-block}.demo-atelier-rivage .rivage-heading>p:not(.rivage-label){max-width:410px;font-size:15px;line-height:1.75}.demo-atelier-rivage .rivage-button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:54px;padding:15px 21px;background:var(--ink);color:var(--paper);font-size:13px;font-weight:750;border:2px solid var(--ink);margin-top:26px}.demo-atelier-rivage .rivage-button:hover{background:var(--accent);color:var(--ink)}.demo-atelier-rivage .rivage-button>span{font-size:22px;line-height:1}.demo-atelier-rivage .rivage-cover{position:relative;min-height:0;border-left:2px solid var(--ink);background:var(--ink)}.demo-atelier-rivage .rivage-cover>img{height:100%;width:100%;object-fit:cover;filter:saturate(.65)}.demo-atelier-rivage .rivage-cover figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:12px;padding:14px 22px;background:var(--ink);color:var(--paper);font-size:10px;letter-spacing:.08em}.demo-atelier-rivage .rivage-work{padding-block:90px}.demo-atelier-rivage .rivage-work header{display:grid;grid-template-columns:1fr 2fr;gap:30px;margin-bottom:45px}.demo-atelier-rivage .rivage-site h2{font-size:clamp(36px,4vw,58px);font-family:var(--heading-font);font-weight:600;line-height:1.05;letter-spacing:0}.demo-atelier-rivage .rivage-work-list>a{display:grid;grid-template-columns:65px 1fr 180px;gap:22px;padding:27px 0;border-top:1px solid var(--ink);align-items:start}.demo-atelier-rivage .rivage-work-list>a:last-child{border-bottom:1px solid var(--ink)}.demo-atelier-rivage .rivage-number{font:600 28px/1.3 var(--heading-font)}.demo-atelier-rivage .rivage-work h3{font-size:24px;line-height:1.3}.demo-atelier-rivage .rivage-work-list p{max-width:640px;font-size:14px;margin-top:9px}.demo-atelier-rivage .rivage-work-price{display:flex;gap:25px;justify-content:space-between;font-size:14px;font-weight:750}.demo-atelier-rivage .rivage-work-list>a:hover h3{text-decoration:underline;text-underline-offset:5px}.demo-atelier-rivage .rivage-small{font-size:12px;max-width:700px;margin:22px 0 0 87px}.demo-atelier-rivage .rivage-plan{display:grid;grid-template-columns:1fr 1fr;gap:75px;padding-bottom:95px;align-items:start}.demo-atelier-rivage .rivage-plan figure img{width:100%;aspect-ratio:1;object-fit:cover}.demo-atelier-rivage .rivage-plan figcaption{padding:13px 0;font-size:11px;letter-spacing:.08em;border-bottom:1px solid var(--ink)}.demo-atelier-rivage .rivage-plan h2{margin:20px 0 25px}.demo-atelier-rivage .rivage-plan ol{padding:0;list-style:none;counter-reset:steps}.demo-atelier-rivage .rivage-plan li{padding:19px 0 19px 42px;border-top:1px solid var(--line);position:relative;counter-increment:steps}.demo-atelier-rivage .rivage-plan li:before{content:'0' counter(steps);position:absolute;left:0;top:18px;font-size:12px;font-weight:750}.demo-atelier-rivage .rivage-plan li strong{font-size:15px}.demo-atelier-rivage .rivage-plan li p{font-size:13px;margin-top:7px}.demo-atelier-rivage .rivage-text-link{display:inline-flex;align-items:center;gap:20px;min-height:44px;font-size:13px;font-weight:750;border-bottom:1px solid;margin-top:16px}.demo-atelier-rivage .rivage-ticket{display:flex;gap:50px;align-items:center;justify-content:space-between;background:var(--accent);border:2px solid var(--ink);padding:45px;margin-bottom:80px;position:relative}.demo-atelier-rivage .rivage-ticket h2{margin-block:15px}.demo-atelier-rivage .rivage-ticket p:not(.rivage-label){max-width:600px;font-size:14px}.demo-atelier-rivage .rivage-ticket .rivage-button{margin:0;flex:none}
.demo-atelier-rivage .demo-footer{background:var(--ink);color:var(--paper);--line:#ffffff3d}.demo-atelier-rivage .footer-brand{font-family:var(--heading-font);text-transform:uppercase;font-size:42px;letter-spacing:0}.demo-atelier-rivage .footer-bottom>small{color:var(--paper)}.demo-atelier-rivage .de-page-heading{border-bottom:2px solid var(--ink);margin-bottom:35px;padding-block:48px}.demo-atelier-rivage .de-page-heading h1{font-family:var(--heading-font);font-size:clamp(48px,6vw,84px);font-weight:600;text-transform:uppercase;letter-spacing:0}.demo-atelier-rivage .de-kicker{display:inline-block;background:var(--accent);padding:5px 9px;color:var(--ink)}.demo-atelier-rivage .de-panel{border:2px solid var(--ink);box-shadow:6px 6px 0 var(--soft)}.demo-atelier-rivage .de-panel h2{font-family:var(--heading-font);font-size:35px}.demo-atelier-rivage .de-services{grid-template-columns:1fr;gap:0}.demo-atelier-rivage .de-service-card{display:grid;grid-template-columns:230px 1fr;gap:8px 32px;padding-block:30px;border-bottom:1px solid var(--ink)}.demo-atelier-rivage .de-service-card>img{grid-row:1/4;aspect-ratio:1.15;height:100%;margin:0}.demo-atelier-rivage .de-service-card h2{font-family:var(--heading-font);font-size:34px;letter-spacing:0}.demo-atelier-rivage .de-service-card .de-actions{margin:0;padding-top:12px}.demo-atelier-rivage .de-service-price strong{font-family:Manrope,sans-serif}.demo-atelier-rivage .de-button,.demo-atelier-rivage .demo-button{border-width:2px}.demo-atelier-rivage .de-progress{border-bottom:1px solid var(--ink);padding-bottom:18px}.demo-atelier-rivage .de-progress [aria-current]{background:var(--accent);padding:3px 7px}.demo-atelier-rivage .de-gallery{gap:35px}.demo-atelier-rivage .de-gallery figcaption{padding-top:15px;border-bottom:1px solid var(--ink)}
@media(max-width:1050px){.demo-atelier-rivage .rivage-heading{padding-left:30px}.demo-atelier-rivage .rivage-hero-grid{min-height:600px}.demo-atelier-rivage .rivage-heading h1{font-size:88px}.demo-atelier-rivage .rivage-plan{gap:40px}.demo-atelier-rivage .rivage-ticket{padding:30px;gap:20px}.demo-atelier-rivage .demo-brand>span{font-size:32px}}
@media(max-width:800px){.demo-atelier-rivage .rivage-wrap{width:calc(100% - 40px)}.demo-atelier-rivage .rivage-note{padding-inline:20px;font-size:9px}.demo-atelier-rivage .rivage-note>span:last-child{display:none}.demo-atelier-rivage .rivage-hero-grid{display:flex;flex-direction:column}.demo-atelier-rivage .rivage-heading{padding:35px 20px 38px}.demo-atelier-rivage .rivage-heading h1{font-size:clamp(76px,13vw,110px)}.demo-atelier-rivage .rivage-heading>p:not(.rivage-label){max-width:540px}.demo-atelier-rivage .rivage-cover{border-left:0;border-top:2px solid var(--ink);height:380px}.demo-atelier-rivage .rivage-cover>img{height:100%}.demo-atelier-rivage .rivage-work{padding-block:52px}.demo-atelier-rivage .rivage-work header{grid-template-columns:1fr;gap:18px;margin-bottom:30px}.demo-atelier-rivage .rivage-work-list>a{grid-template-columns:35px 1fr;gap:12px;padding-block:22px}.demo-atelier-rivage .rivage-work-price{grid-column:2;width:100%;max-width:220px}.demo-atelier-rivage .rivage-work h3{font-size:21px}.demo-atelier-rivage .rivage-small{margin-left:47px}.demo-atelier-rivage .rivage-plan{grid-template-columns:1fr;gap:28px;padding-bottom:50px}.demo-atelier-rivage .rivage-plan figure img{aspect-ratio:1.4}.demo-atelier-rivage .rivage-ticket{display:block;padding:26px;margin-bottom:50px}.demo-atelier-rivage .rivage-ticket .rivage-button{margin-top:22px}.demo-atelier-rivage .de-service-card{grid-template-columns:1fr;gap:12px}.demo-atelier-rivage .de-service-card>img{grid-row:auto;aspect-ratio:1.5;height:auto}.demo-atelier-rivage .de-page-heading{padding-block:30px;margin-bottom:20px}.demo-atelier-rivage .de-page-heading h1{font-size:48px}}

/* The narrow layout follows the visit: title, image, explanation, action. */
@media(max-width:800px){.demo-atelier-rivage .rivage-hero-grid{display:grid;grid-template-columns:minmax(0,1fr);padding-bottom:30px}.demo-atelier-rivage .rivage-heading{display:contents}.demo-atelier-rivage .rivage-hero-title{grid-row:1;padding:30px 20px 5px}.demo-atelier-rivage .rivage-hero-title h1{font-size:clamp(69px,12vw,96px);margin-block:20px}.demo-atelier-rivage .rivage-cover{grid-row:2;height:280px;width:100%;border-bottom:2px solid var(--ink)}.demo-atelier-rivage .rivage-lead{grid-row:3;margin:24px 20px 0;max-width:600px;font-size:14px;line-height:1.8}.demo-atelier-rivage .rivage-heading>.rivage-button{grid-row:4;margin:20px 20px 0;width:fit-content;max-width:calc(100% - 40px)}.demo-atelier-rivage .rivage-plan{display:grid;grid-template-columns:minmax(0,1fr);gap:22px}.demo-atelier-rivage .rivage-method-copy{display:contents}.demo-atelier-rivage .rivage-method-copy>header{grid-row:1}.demo-atelier-rivage .rivage-method-copy>header h2{margin-bottom:0}.demo-atelier-rivage .rivage-plan>figure{grid-row:2}.demo-atelier-rivage .rivage-plan>figure img{aspect-ratio:auto;height:270px}.demo-atelier-rivage .rivage-method-copy>ol{grid-row:3;margin:0}.demo-atelier-rivage .rivage-method-copy>.rivage-text-link{grid-row:4;justify-self:start;margin-top:0}}

/* The source order is shared by sighted readers and assistive technology. */
.demo-atelier-rivage .rivage-hero-grid{grid-template-rows:auto auto 1fr}.demo-atelier-rivage .rivage-hero-title{grid-column:1;grid-row:1;padding:48px 40px 0 max(40px,calc((100vw - 1240px)/2))}.demo-atelier-rivage .rivage-hero-title h1{font-family:var(--heading-font);font-size:clamp(76px,8.4vw,128px);font-weight:600;line-height:.89;letter-spacing:-.015em;margin:24px 0 27px}.demo-atelier-rivage .rivage-hero-title h1 em{font-style:normal;background:var(--accent);padding:0 9px 4px 3px;display:inline-block}.demo-atelier-rivage .rivage-hero-grid>.rivage-cover{grid-column:2;grid-row:1/4}.demo-atelier-rivage .rivage-cover>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.demo-atelier-rivage .rivage-hero-grid>.rivage-lead{grid-column:1;grid-row:2;max-width:450px;margin:0 40px 0 max(40px,calc((100vw - 1240px)/2));font-size:15px;line-height:1.75}.demo-atelier-rivage .rivage-hero-grid>.rivage-button{grid-column:1;grid-row:3;align-self:start;justify-self:start;margin:26px 40px 55px max(40px,calc((100vw - 1240px)/2))}.demo-atelier-rivage .rivage-plan{row-gap:0}.demo-atelier-rivage .rivage-plan>header{grid-column:2;grid-row:1}.demo-atelier-rivage .rivage-plan>figure{grid-column:1;grid-row:1/4}.demo-atelier-rivage .rivage-plan>ol{grid-column:2;grid-row:2;margin:0}.demo-atelier-rivage .rivage-plan>.rivage-text-link{grid-column:2;grid-row:3;justify-self:start;align-self:start}
@media(max-width:1050px){.demo-atelier-rivage .rivage-hero-title{padding-left:30px}.demo-atelier-rivage .rivage-hero-title h1{font-size:88px}.demo-atelier-rivage .rivage-hero-grid>.rivage-lead,.demo-atelier-rivage .rivage-hero-grid>.rivage-button{margin-left:30px}}
@media(max-width:800px){.demo-atelier-rivage .rivage-hero-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;padding-bottom:30px}.demo-atelier-rivage .rivage-hero-title{grid-column:1;grid-row:1;padding:30px 20px 5px}.demo-atelier-rivage .rivage-hero-title h1{font-size:clamp(69px,12vw,96px);margin-block:20px}.demo-atelier-rivage .rivage-hero-grid>.rivage-cover{grid-column:1;grid-row:2;height:280px;width:100%;border-bottom:2px solid var(--ink)}.demo-atelier-rivage .rivage-hero-grid>.rivage-lead{grid-column:1;grid-row:3;margin:24px 20px 0;max-width:600px;font-size:14px;line-height:1.8}.demo-atelier-rivage .rivage-hero-grid>.rivage-button{grid-column:1;grid-row:4;margin:20px 20px 0;width:fit-content;max-width:calc(100% - 40px)}.demo-atelier-rivage .rivage-plan{grid-template-columns:minmax(0,1fr);gap:22px}.demo-atelier-rivage .rivage-plan>header{grid-column:1;grid-row:1}.demo-atelier-rivage .rivage-plan>header h2{margin-bottom:0}.demo-atelier-rivage .rivage-plan>figure{grid-column:1;grid-row:2}.demo-atelier-rivage .rivage-plan>ol{grid-column:1;grid-row:3}.demo-atelier-rivage .rivage-plan>.rivage-text-link{grid-column:1;grid-row:4;margin-top:0}}
