/* Sales pages: strong visual landmarks and explicit, scannable offer tables. */
.sales-page .section-head{display:block;max-width:930px;margin-bottom:38px}
.sales-page .section-head h2{max-width:900px}
.sales-page .section-head>p{max-width:760px;margin-top:21px;line-height:1.65}
.sales-page .benefits-section{padding-block:88px 76px;background:#173b30;color:#f5f1e8;border-block:1px solid #64734e}
.offer-icon{display:block;width:24px;height:24px;flex:0 0 24px}
.value-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.value-list>li{padding:30px 28px 32px;border:1px solid #a8996d55;border-radius:2px;background:#214337;box-shadow:none}
.value-emblem{display:grid;place-items:center;width:50px;height:50px;margin-bottom:23px;border-radius:2px;background:#173b30;color:#e2c990;border:1px solid #cbb78f66}
.value-emblem .offer-icon{width:26px;height:26px}
.value-list h3{font:500 23px/1.4 var(--sans);letter-spacing:-.025em;text-wrap:pretty;margin-bottom:15px}
.value-list p{font-size:18px;line-height:1.7;color:#e0e5dc;max-width:360px}
.sales-page .facts>div{position:relative;padding-left:31px}
.sales-page .facts>div::before{content:'';position:absolute;left:2px;top:8px;width:9px;height:14px;border:solid #785927;border-width:0 1.5px 1.5px 0;transform:rotate(40deg)}
.sales-page .facts>div+div{padding-left:52px}
.sales-page .facts>div+div::before{left:26px}
.sales-page .facts strong{font-size:clamp(23px,2.1vw,30px)}
.sales-page .inclusions-section{padding-block:80px;background:#eee8dc}
.offer-table-frame{border:1px solid #b9aa8c;border-radius:2px;overflow:hidden;background:#fffdf7;box-shadow:0 12px 38px #28392b06}
.offer-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:18px;line-height:1.6;text-align:left}
.offer-table thead{background:var(--forest);color:var(--ivory)}
.offer-table th,.offer-table td{padding:27px 28px;vertical-align:top}
.offer-table thead th{padding-block:21px;font-weight:500;font-size:17px;line-height:1.4}
.offer-table thead th:first-child{width:29%}
.offer-table thead th:nth-child(2){width:52%}
.offer-table thead th:last-child{width:19%;text-align:center}
.offer-table thead th+th{border-left:1px solid #eee7d333}
.offer-table .table-group th{padding:20px 28px;background:#e9e2d3;color:#233b30;border-block:1px solid #c6b99c;font:500 19px/1.5 var(--sans);letter-spacing:-.015em}
.table-group-label{display:flex;align-items:center;gap:14px}
.table-group-number{font:400 24px/1 var(--serif);color:#785927;padding-right:14px;border-right:1px solid #c3b391;flex-shrink:0}
.table-group-label .offer-icon{color:#785927;width:23px;height:23px;flex-basis:23px}
.offer-table .table-item{background:#fffdf7}
.offer-table .table-item:nth-child(odd){background:#f7f3e9}
.offer-table .table-item+.table-item{border-top:1px solid #d7cdba}
.offer-table .table-item>th{font:500 19px/1.5 var(--sans);letter-spacing:-.012em}
.offer-table .table-item>td{border-left:1px solid #ddd4c1}
.detail-points{list-style:none;margin:0;padding:0;color:#485348}
.detail-points li{position:relative;padding-left:23px;line-height:1.65;text-wrap:pretty}
.detail-points li::before{content:'';position:absolute;top:.68em;left:2px;width:5px;height:5px;background:#99773d;border-radius:50%}
.detail-points li+li{margin-top:11px}
.offer-table .table-status{vertical-align:middle;text-align:center;padding-inline:17px}
.status-label{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 11px;border-radius:3px;font:500 15px/1.4 var(--sans);text-wrap:balance}
.status-label .offer-icon{width:18px;height:18px;flex-basis:18px}
.status-label.included{color:#234735;background:#e6ede0;border:1px solid #b9c8ac}
.status-label.conditional{color:#6d511f;background:#f2e8d2;border:1px solid #cebb92}
.sales-page .commitments{display:grid;gap:14px}
.sales-page .commitments li{display:grid;grid-template-columns:30px 1fr;gap:17px;border:1px solid #cbbb8b4d!important;background:#ffffff05;padding:24px;border-radius:2px}
.commitment-icon{padding-top:2px;color:#e2c990}
.sales-page .commitments strong{font-size:20px;line-height:1.45;margin-bottom:12px}
.sales-page .commitments p{font-size:18px;line-height:1.7}
.sales-page .steps{list-style:none;margin:0;padding:0;gap:22px}
.sales-page .steps>li{display:grid;grid-template-columns:42px 1fr;gap:19px;padding:28px;border:1px solid #d3c8b3;border-top:2px solid #9d8251;background:#fcf9f2;border-radius:2px}
.sales-page .steps .number{display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-right:1px solid #c8b28b;border-radius:0;background:transparent;font:400 28px/1 var(--serif);color:#785927;letter-spacing:-.04em}
.sales-page .steps h3{font:500 23px/1.4 var(--sans);letter-spacing:-.025em;margin:5px 0 14px}
.sales-page .steps p{font-size:18px;line-height:1.7}
/* Each offer has its own illustrated atelier, with copy on a solid surface. */
.benefit-editorial{display:grid;grid-template-columns:1.22fr 1fr;gap:7%;align-items:center;margin-bottom:54px}
.atelier-art{min-width:0;position:relative}
.atelier-art img{width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;border:1px solid #d3c19a55}
.atelier-art figcaption{display:flex;gap:17px;align-items:baseline;padding:17px 0 0;color:#e2c990;font-size:14px;line-height:1.5}
.atelier-art figcaption>span{font-family:var(--serif);font-size:23px;padding-right:16px;border-right:1px solid #ad966344;flex-shrink:0}
.editorial-copy{padding-block:12px;min-width:0}
.editorial-copy .eyebrow{color:#e2c990;font-size:12px;letter-spacing:.14em;margin-bottom:22px}
.editorial-copy h2{font-size:clamp(37px,3.8vw,54px);line-height:1.12;letter-spacing:-.027em;max-width:540px}
.editorial-copy>p:not(.eyebrow){font-size:19px;line-height:1.75;color:#e0e5dc;margin:24px 0 20px;max-width:510px}
.editorial-copy .text-link{color:#e2c990;font-size:15px;text-decoration-color:#ae9865}
.editorial-copy .text-link:focus-visible{outline-color:#e2c990}
.sales-page .hero-layout{padding-bottom:36px;gap:3%}
.sales-page .hero-art{flex-direction:column;justify-content:center}
.sales-page .hero-art figcaption{position:relative;width:75%;margin:-4px 0 0 6%;padding-top:13px;border-top:1px solid #a58d554d;color:#785927;font-size:13px;line-height:1.6;letter-spacing:.04em;text-align:center}
.sales-page .hero-art img{mix-blend-mode:normal;mask-image:linear-gradient(90deg,transparent,#000 9%,#000 95%,transparent),linear-gradient(transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 95%,transparent),linear-gradient(transparent,#000 8%,#000 92%,transparent)}
.sales-page .hero-note{max-width:510px}
.sales-page .facts{border-bottom:0;padding-block:31px 40px}
.sales-page .price-section{border-top:1px solid #93825b;padding-block:94px}
.sales-page .price-section::before,.sales-page .price-section::after{display:none}
.sales-page .price-layout>div:first-child{border-left:1px solid #cbbb8b80;padding-left:34px}
.sales-page .contact-layout{gap:7%}
.sales-page .project-form,.sales-page .booking{padding:32px;border:1px solid #c9bca2;background:#fcf9f2}
.sales-page .booking{align-self:start}
.sales-page .related-links{gap:30px}
.sales-page .related-links>a{display:grid;grid-template-columns:150px minmax(0,1fr);gap:23px;align-items:center;border-block:1px solid #cfc7b6;padding-block:26px}
.sales-page .related-links>a img{width:150px;height:170px;object-fit:cover;border:1px solid #cfc7b6}
.sales-page .related-links strong{font-size:28px;line-height:1.15}
.sales-page .related-links p{font-size:16px;line-height:1.55}
.gallery-page .product-row{gap:6%;padding-block:58px}
.gallery-page .product-row img{mix-blend-mode:normal;mask-image:none;-webkit-mask-image:none;aspect-ratio:1.5;border:1px solid #b9aa8c}
.gallery-page .product-row:nth-child(even)>a{order:2}
.gallery-page .product-row .eyebrow{line-height:1.7}
.gallery-page .product-row .muted{font-size:18px;line-height:1.7}
.gallery-page .product-row .row-price{display:block;margin-top:16px}
@media(min-width:1500px){.benefit-editorial{gap:84px}.editorial-copy h2{font-size:56px}.atelier-art figcaption{font-size:15px}}
@media(max-width:1100px){
 .benefit-editorial{gap:5%;grid-template-columns:1.1fr 1fr}.editorial-copy h2{font-size:42px}.editorial-copy>p:not(.eyebrow){font-size:18px;line-height:1.7}
 .sales-page .related-links>a{grid-template-columns:110px minmax(0,1fr);gap:18px}.sales-page .related-links>a img{width:110px;height:150px}
 .value-list{gap:18px}.value-list>li{padding:26px 22px}.value-list h3{font-size:22px}
 .offer-table th,.offer-table td{padding:24px 23px}.offer-table .table-group th{padding-inline:23px}
 .offer-table .table-status{padding-inline:12px}.status-label{font-size:15px;padding:8px}
 .sales-page .facts>div+div{padding-left:42px}.sales-page .facts>div+div::before{left:18px}
}
/* A compact screen uses the same real table as labeled, stacked rows. */
@media(max-width:900px){
 .offer-table,.offer-table tbody{display:block;width:100%}
 .offer-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}
 .offer-table tr{display:block}
 .offer-table .table-group th{display:block;width:100%;font-size:19px;padding:20px 23px}
 .offer-table .table-item{display:grid;grid-template-columns:minmax(0,1fr);padding:25px 24px;gap:16px}
 .offer-table .table-item>th,.offer-table .table-item>td{display:block;width:auto;padding:0;border:0;min-width:0}
 .offer-table .table-item>th{font-size:20px;line-height:1.5}
 .offer-table .table-status{text-align:left;padding-top:2px!important}
 .offer-table .table-status .status-label{font-size:15px;padding:7px 11px}
 .offer-table .table-status .status-label.included::after{content:'dans le forfait';font-weight:400}
 .offer-table .table-description{font-size:18px}
 .detail-points li+li{margin-top:10px}
}
@media(max-width:800px){
 .benefit-editorial{grid-template-columns:1fr;gap:29px;margin-bottom:33px}.editorial-copy{order:-1;padding:0}.editorial-copy h2{font-size:42px;max-width:650px}.editorial-copy>p:not(.eyebrow){max-width:620px;font-size:18px}.editorial-copy .eyebrow{margin-bottom:20px}
 .atelier-art figcaption{padding-top:12px;font-size:14px}.atelier-art figcaption>span{font-size:21px}
 .sales-page .hero-art{margin-bottom:0;padding-bottom:5px}.sales-page .hero-art figcaption{width:78%;margin-left:0;font-size:12px}
 .sales-page .price-section{padding-block:62px}.sales-page .price-layout>div:first-child{padding-left:24px}
 .sales-page .project-form,.sales-page .booking{padding:28px}
 .sales-page .related-links>a{grid-template-columns:150px minmax(0,1fr)}.sales-page .related-links>a img{width:150px;height:170px}
 .gallery-page .product-row{gap:24px;padding-block:32px 40px}.gallery-page .product-row:nth-child(even)>a{order:0}.gallery-page .product-row img{max-height:none}
 .sales-page .section-head{margin-bottom:30px}.sales-page .section-head>p{margin-top:21px}
 .sales-page .benefits-section,.sales-page .inclusions-section{padding-block:58px}
 .value-list{grid-template-columns:1fr;gap:18px}
 .value-list>li{display:grid;grid-template-columns:46px 1fr;gap:8px 19px;padding:25px}
 .value-emblem{width:46px;height:46px;grid-row:1/3;margin:0}
 .value-list h3{font-size:22px;margin:2px 0 4px}
 .value-list p{grid-column:2;max-width:600px;font-size:18px}
 .sales-page .steps>li{padding:25px;grid-template-columns:38px 1fr;gap:17px}
 .sales-page .steps .number{width:38px;height:38px}
 .sales-page .steps h3{font-size:22px;margin-top:3px}
 .sales-page .commitments li{padding:22px;gap:15px}
}
@media(max-width:540px){
 .editorial-copy h2{font-size:37px;line-height:1.15}.editorial-copy>p:not(.eyebrow){margin-top:22px}.editorial-copy .text-link{font-size:14px}.atelier-art figcaption{font-size:13px;gap:12px}
 .sales-page .project-form,.sales-page .booking{padding:24px 20px}
 .sales-page .related-links>a{grid-template-columns:105px minmax(0,1fr);gap:17px}.sales-page .related-links>a img{width:105px;height:150px}.sales-page .related-links strong{font-size:26px}.sales-page .related-links p{font-size:15px}.sales-page .related-links span{font-size:16px}
 .sales-page .facts>div,.sales-page .facts>div+div{padding:20px 0 20px 28px;gap:14px}
 .sales-page .facts>div::before,.sales-page .facts>div+div::before{top:calc(50% - 8px);left:2px}
 .sales-page .facts strong{font-size:24px}
 .value-list>li{grid-template-columns:1fr;padding:25px;gap:0}
 .value-emblem{grid-row:auto;margin-bottom:20px}
 .value-list h3{margin-bottom:13px}.value-list p{grid-column:auto}
 .offer-table .table-group th{padding-inline:21px}.table-group-label{align-items:flex-start;gap:12px}.table-group-label .offer-icon{margin-top:3px}
 .offer-table .table-item{padding:24px 21px;gap:16px}
 .detail-points li{padding-left:21px}.detail-points li+li{margin-top:12px}
 .sales-page .steps>li{padding:24px;grid-template-columns:1fr;gap:17px}
 .sales-page .steps h3{margin-top:0}
 .sales-page .commitments li{grid-template-columns:1fr;gap:14px;padding:23px}
 .sales-page .commitments strong{margin-bottom:13px}
 .offer-table .table-status .status-label.included::after{font-size:14px}
}
@media(max-width:360px){
 .editorial-copy h2{font-size:34px}.sales-page .project-form,.sales-page .booking{padding:23px 17px}
 .sales-page .related-links>a{grid-template-columns:1fr}.sales-page .related-links>a img{width:100%;height:auto;aspect-ratio:1.8;object-fit:cover}
 .value-list>li,.sales-page .steps>li{padding:23px 21px}
 .sales-page .facts strong{font-size:22px}.sales-page .facts span{font-size:15px}
 .offer-table .table-item{padding-inline:19px}.offer-table .table-group th{padding-inline:19px}
 .offer-table .table-status .status-label{font-size:14px;gap:5px;padding:7px 9px}
}
/* The compact portrait leaves the table's status column readable. */
.sales-page .up-contact-widget .up-contact-trigger,.gallery-page .up-contact-widget .up-contact-trigger{width:64px;height:64px;min-height:64px;padding:5px;justify-content:center;border-radius:50%}
.sales-page .up-contact-widget .up-contact-trigger .up-contact-avatar,.gallery-page .up-contact-widget .up-contact-trigger .up-contact-avatar{width:52px;height:52px}
.sales-page .up-contact-widget .up-contact-trigger-copy,.gallery-page .up-contact-widget .up-contact-trigger-copy{display:none}
/* On phones, reserve a place for the portrait inside the action bar. */
@media(max-width:800px){
 .sales-page .mobile-cta{padding-right:calc(84px + env(safe-area-inset-right,0px))}
 .sales-page .mobile-cta .button{padding:12px 15px;min-height:46px;white-space:nowrap}
 .sales-page .mobile-cta .seal{display:none}
 body.sales-page .up-contact-widget.has-mobile-cta{--uc-reserve:106px;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(10px + env(safe-area-inset-bottom,0px))}
 .sales-page .up-contact-widget .up-contact-trigger{width:52px;height:52px;min-height:52px}
 .sales-page .up-contact-widget .up-contact-trigger .up-contact-avatar{width:40px;height:40px}
}
