:root{--olive:#485440;--olive-deep:#303a31;--ink:#252822;--cream:#f4f0e8;--paper:#fbfaf6;--clay:#c07e62;--muted:#7a7a6f;--line:#d9d5ca;--serif:'Fraunces',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--shadow:0 18px 60px rgba(39,39,30,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.top-note{height:34px;background:var(--olive-deep);color:#e9e6db;display:flex;align-items:center;justify-content:center;font-size:10px;letter-spacing:.13em;text-transform:uppercase}.top-note__dot{width:6px;height:6px;border-radius:50%;background:#d79a7c;margin-right:9px}.site-header{height:92px;padding:0 5.5vw;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:11px;line-height:1}.brand__mark{width:34px;height:34px;border:1px solid var(--olive);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;gap:4px;position:relative;transform:rotate(-18deg)}.brand__mark:after,.brand__mark:before{content:'';position:absolute;width:13px;height:1px;background:var(--olive);transform:rotate(42deg)}.brand__mark:before{transform:rotate(-42deg)}.brand__mark span{width:4px;height:4px;border-radius:50%;background:var(--clay);z-index:1}.brand__text{display:flex;flex-direction:column;gap:3px;text-transform:uppercase;letter-spacing:.12em;font-size:10px}.brand__text strong{font-weight:700}.brand__text em{font-family:var(--serif);font-size:15px;font-style:normal;letter-spacing:.02em;text-transform:none}.site-nav{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:600}.site-nav>a:not(.nav-cta){position:relative}.site-nav>a:not(.nav-cta):after{content:'';position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--olive);transform:scaleX(0);transform-origin:right;transition:transform .3s}.site-nav>a:not(.nav-cta):hover:after{transform:scaleX(1);transform-origin:left}.nav-cta{background:var(--olive);color:#fff;padding:12px 16px;border-radius:2px;transition:background .25s,transform .25s}.nav-cta span,.button span{display:inline-block;margin-left:10px;font-size:16px;transition:transform .25s}.nav-cta:hover,.button:hover{background:var(--olive-deep);transform:translateY(-2px)}.menu-toggle{display:none;background:transparent;border:0;padding:10px}.menu-toggle>span:not(.sr-only){display:block;width:22px;height:1px;background:var(--ink);margin:5px}.section-shell{padding-left:8vw;padding-right:8vw}.hero{min-height:calc(100vh - 126px);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7vw;padding-top:7vh;padding-bottom:11vh;max-width:1500px;margin:0 auto}.hero__content{padding-bottom:3vh}.eyebrow{display:flex;align-items:center;gap:12px;color:var(--clay);text-transform:uppercase;letter-spacing:.17em;font-size:10px;font-weight:700;margin:0 0 28px}.eyebrow:before{content:'';width:23px;height:1px;background:currentColor}.eyebrow--olive{color:var(--olive)}.eyebrow--light{color:#dcb39e}.hero h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.045em;line-height:.98;margin:0}.hero h1{font-size:clamp(3.5rem,6.3vw,6.5rem);max-width:650px}.hero h1 em,h2 em{font-style:italic;color:var(--olive)}.hero__intro{max-width:480px;color:#5c5e56;margin:34px 0 28px;font-size:16px}.hero__actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;border:0;padding:15px 20px;border-radius:2px;font-weight:700;font-size:12px;transition:background .25s,transform .25s}.button--dark{color:#fff;background:var(--ink)}.button--olive{color:#fff;background:var(--olive);justify-content:center}.text-link{font-size:12px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:4px}.text-link span{font-size:16px;margin-left:7px}.hero__signature{display:flex;align-items:center;gap:11px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.14em;margin-top:48px}.signature-line{height:1px;width:42px;background:var(--clay)}.hero__visual{position:relative;max-width:550px;justify-self:end;width:100%;padding:0 8% 6% 0}.hero__frame{position:relative;background:#d9d9ce;aspect-ratio:4/5;overflow:hidden}.hero__frame:after{content:'';position:absolute;inset:14px;border:1px solid rgba(255,255,255,.4);pointer-events:none}.hero__frame img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.83)}.hero__stamp{position:absolute;bottom:0;right:0;width:114px;height:114px;background:var(--clay);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}.hero__stamp span{font-size:8px;letter-spacing:.2em;margin-bottom:5px}.hero__stamp strong{font-family:var(--serif);font-size:37px;font-weight:500}.hero__stamp small{text-align:center;font-size:9px;line-height:1.25;margin-top:4px}.hero__caption{position:absolute;left:-38px;bottom:0;font-family:var(--serif);font-style:italic;color:var(--olive);font-size:14px;line-height:1.25}.section-index{display:flex;align-items:center;gap:15px;color:var(--muted);text-transform:uppercase;letter-spacing:.15em;font-size:10px;font-weight:700}.section-index>span:first-child{color:var(--clay);font-size:12px}.index-line{height:1px;width:35px;background:var(--line)}.section-shell--split{display:grid;grid-template-columns:1fr 3fr;gap:6vw;padding-top:11vw;padding-bottom:12vw}.manifesto__body{max-width:960px}.manifesto h2{font-size:clamp(2.8rem,5vw,5.4rem);margin:20px 0 42px}.manifesto__columns{display:grid;grid-template-columns:1fr 1fr;gap:7vw;max-width:750px;color:#686961}.manifesto__columns p{margin:0}.manifesto__columns strong{color:var(--olive);font-weight:700}.manifesto__quote{margin:72px 0 0;display:flex;align-items:flex-start;gap:13px}.quote-mark{color:var(--clay);font-family:var(--serif);font-size:75px;line-height:.7}.manifesto__quote p{font-family:var(--serif);font-size:22px;line-height:1.25;color:var(--olive);margin:0}.craft{background:var(--cream);max-width:100%;padding-top:10vw;padding-bottom:11vw;display:grid;grid-template-columns:1fr 1.5fr;gap:8vw}.craft__heading h2{font-size:clamp(2.8rem,5vw,5rem);margin:32px 0 28px}.craft__heading>p{max-width:355px;color:#6f7168}.service-list{border-top:1px solid var(--line);align-self:end}.service-card{display:grid;grid-template-columns:55px 1fr 30px;gap:22px;align-items:start;padding:27px 0;border-bottom:1px solid var(--line);transition:padding .3s}.service-card:hover{padding-left:12px;padding-right:12px;background:rgba(255,255,255,.34)}.service-card__number{font-family:var(--serif);font-size:18px;color:var(--clay)}.service-card h3{margin:0 0 8px;font-family:var(--serif);font-size:24px;font-weight:500}.service-card p{margin:0;color:#73746d;max-width:420px}.service-card__arrow{color:var(--olive);font-size:20px;padding-top:4px}.process{padding-top:11vw;padding-bottom:12vw}.process__intro{margin-left:24%;margin-top:20px}.process__intro h2{font-size:clamp(2.7rem,5vw,5.2rem)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:3vw;margin:75px 0 0 17%}.step{border-top:1px solid var(--olive);padding-top:15px}.step>span{color:var(--clay);font-family:var(--serif);font-size:16px}.step h3{font-family:var(--serif);font-size:21px;font-weight:500;margin:32px 0 13px}.step p{font-size:13px;color:#70716a;margin:0}.gallery-note{background:var(--olive-deep);color:#f5f1e8;min-height:430px;display:flex;align-items:center;justify-content:space-between;gap:6vw;position:relative;overflow:hidden;padding-top:6vw;padding-bottom:6vw}.gallery-note__texture{position:absolute;inset:0;opacity:.08;background:repeating-linear-gradient(112deg,transparent 0,transparent 7px,#e8dece 8px,#e8dece 9px)}.gallery-note__copy,.gallery-note__badge{position:relative}.gallery-note__copy{max-width:650px;margin-left:10%}.gallery-note .eyebrow{color:#dcb39e}.gallery-note h2{font-size:clamp(2.8rem,5vw,5rem);color:#f5f1e8;margin-bottom:28px}.gallery-note h2 em{color:#dcb39e}.gallery-note p:not(.eyebrow){max-width:450px;color:#bdc1b4;margin:0}.gallery-note__badge{width:150px;height:150px;border:1px solid #c7b18c;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;margin-right:12%;transform:rotate(9deg)}.gallery-note__badge span{font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:#dcb39e}.gallery-note__badge strong{font-family:var(--serif);font-size:24px;font-weight:500;line-height:1.05;margin:9px 0}.gallery-note__badge i{font-style:normal;color:#dcb39e}.faq{padding-top:11vw;padding-bottom:12vw}.faq__layout{display:grid;grid-template-columns:1fr 1.6fr;gap:9vw;margin-top:23px;margin-left:8%}.faq h2{font-size:clamp(2.8rem,5vw,5.2rem)}.faq__aside{color:var(--muted);font-size:13px;max-width:240px;margin-top:30px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:0}summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:24px 0;font-family:var(--serif);font-size:19px}summary::-webkit-details-marker{display:none}summary span{font-family:var(--sans);font-size:25px;font-weight:300;color:var(--clay);transition:transform .25s}details[open] summary span{transform:rotate(45deg)}details p{max-width:580px;color:#77786f;font-size:13px;margin:0 0 24px}.contact{background:var(--clay);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding-top:8vw;padding-bottom:8vw}.contact__panel{padding-left:3vw}.section-index--light{color:#e5d2c5}.section-index--light .index-line{background:rgba(255,255,255,.35)}.section-index--light>span:first-child{color:#fff}.contact__copy{margin-top:82px}.contact__copy h2{font-size:clamp(3.2rem,5.6vw,6rem);color:#fff}.contact__copy h2 em{color:#f1d4c6}.contact__copy p:not(.eyebrow){color:#f3ddd1;max-width:400px;margin-top:30px}.contact__place{display:flex;align-items:center;gap:11px;margin-top:85px;font-size:13px;font-weight:700}.place-pin{font-size:26px;color:#f3d4c5}.contact__place small{font-weight:400;opacity:.75}.contact-form{background:var(--paper);color:var(--ink);padding:43px 42px;align-self:end;box-shadow:var(--shadow);max-width:540px}.form-heading{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:19px;margin-bottom:24px}.form-heading span{font-family:var(--serif);font-size:28px}.form-heading small{color:var(--muted);font-size:10px}.contact-form label{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;margin:20px 0}.contact-form input,.contact-form textarea{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:11px 0 10px;outline:0;color:var(--ink);font-size:14px;letter-spacing:0;text-transform:none;font-weight:400;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--olive)}.contact-form ::placeholder{color:#b6b4ac}.contact-form .button{width:100%;margin-top:13px}.form-note{font-size:10px;color:#9a9890;line-height:1.45;margin:15px 0 0}.form-note.is-success{color:var(--olive);font-weight:700}.site-footer{min-height:110px;padding:27px 8vw;display:flex;align-items:center;gap:4vw;background:var(--ink);color:#dddacf;font-size:11px}.brand--footer{color:#fff}.brand--footer .brand__mark{border-color:#e4ded2}.brand--footer .brand__mark:before,.brand--footer .brand__mark:after{background:#e4ded2}.brand--footer .brand__text em{color:#e2b49e}.site-footer p{color:#9a9a91;margin:0}.site-footer>a:not(.brand){margin-left:auto;color:#e2b49e}.footer-copy{color:#7c7d76}.reveal{opacity:0;transform:translateY(18px);animation:reveal .8s .1s ease-out forwards}.reveal--delay{animation-delay:.25s}@keyframes reveal{to{opacity:1;transform:none}}@media(max-width:900px){.site-header{height:76px;padding:0 6vw}.menu-toggle{display:block;z-index:2}.site-nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:25px 6vw 32px;box-shadow:0 20px 30px rgba(0,0,0,.08);flex-direction:column;align-items:flex-start;gap:18px}.site-nav.is-open{display:flex}.nav-cta{width:100%;text-align:center}.hero{grid-template-columns:1fr;gap:40px;padding-top:8vh;padding-bottom:13vw}.hero__visual{justify-self:center;max-width:600px;width:88%;padding-right:10%}.hero__caption{left:0}.section-shell--split{grid-template-columns:1fr;gap:34px}.manifesto__body{margin-left:10%}.craft{grid-template-columns:1fr;gap:60px}.service-list{margin-left:10%}.process__intro{margin-left:10%}.steps{margin-left:10%;grid-template-columns:1fr 1fr;gap:45px 6vw}.faq__layout{margin-left:10%;grid-template-columns:1fr;gap:55px}.contact{grid-template-columns:1fr;gap:60px}.contact__panel{padding-left:0}.contact-form{max-width:none}.site-footer{flex-wrap:wrap;gap:20px}.site-footer>a:not(.brand){margin-left:0}.footer-copy{margin-left:auto}}@media(max-width:560px){body{font-size:14px}.top-note{font-size:8px}.hero{padding-top:10vw}.hero h1{font-size:3.45rem}.hero__intro{font-size:14px}.hero__visual{width:100%;padding:0 9% 14% 0}.hero__stamp{width:92px;height:92px}.hero__stamp strong{font-size:28px}.hero__caption{font-size:12px;bottom:5px}.section-shell{padding-left:7vw;padding-right:7vw}.manifesto__body,.process__intro,.service-list,.steps,.faq__layout{margin-left:0}.manifesto h2,.craft__heading h2,.process__intro h2,.faq h2{font-size:3.1rem}.manifesto__columns{grid-template-columns:1fr;gap:18px}.manifesto__quote{margin-top:50px}.gallery-note{display:block;padding-top:16vw;padding-bottom:16vw}.gallery-note__copy{margin-left:0}.gallery-note__badge{margin:45px 0 0 auto}.contact__copy{margin-top:60px}.contact-form{padding:31px 25px}.form-heading{display:block}.form-heading small{display:block;margin-top:7px}.steps{grid-template-columns:1fr;gap:34px}.step h3{margin-top:16px}.site-footer{padding-left:7vw;padding-right:7vw;display:grid;grid-template-columns:1fr 1fr}.site-footer p{grid-column:1/-1;order:3}.site-footer>a:not(.brand){margin:0;justify-self:end}.footer-copy{grid-column:1/-1;margin:0;order:4}}
.gallery-section{padding-top:11vw;padding-bottom:12vw}.gallery-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:8vw;align-items:end;margin:24px 0 65px 9%}.gallery-heading h2{font-size:clamp(2.8rem,5vw,5.1rem)}.gallery-heading>p{max-width:410px;color:var(--muted);margin:0 0 6px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3vw;margin-left:9%}.gallery-card{min-width:0}.gallery-card--offset{transform:translateY(42px)}.gallery-card__visual{aspect-ratio:4/4.7;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}.gallery-card__visual:before,.gallery-card__visual:after{content:'';position:absolute;border:1px solid rgba(255,255,255,.32);border-radius:50%;width:58%;aspect-ratio:1}.gallery-card__visual:after{width:32%;border-radius:0;transform:rotate(45deg)}.gallery-card__visual--linen{background:linear-gradient(135deg,#d9d2c4,#bfb29e)}.gallery-card__visual--olive{background:linear-gradient(135deg,#67715d,#364334)}.gallery-card__visual--clay{background:linear-gradient(135deg,#ca9075,#9f624e)}.gallery-card__visual span,.gallery-card__visual i{position:relative;z-index:1}.gallery-card__visual span{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#fff}.gallery-card__visual i{font-size:26px;font-style:normal;color:rgba(255,255,255,.85);margin-top:13px}.gallery-card__caption{padding:16px 0 0;border-top:1px solid var(--ink);margin-top:11px}.gallery-card__caption>span,.gallery-card__caption>p{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}.gallery-card__caption h3{font-family:var(--serif);font-size:24px;font-weight:500;margin:7px 0 1px}.gallery-card__caption p{margin:0}.gallery-card__caption>span{color:var(--clay)}@media(max-width:900px){.gallery-heading{margin-left:10%;grid-template-columns:1fr;gap:25px}.gallery-grid{margin-left:10%;grid-template-columns:1fr 1fr;gap:36px 5vw}.gallery-card--offset{transform:none}.gallery-card:last-child{grid-column:1/-1;max-width:48%}}@media(max-width:560px){.gallery-heading{margin-left:0}.gallery-grid{margin-left:0;grid-template-columns:1fr;gap:38px}.gallery-card:last-child{grid-column:auto;max-width:none}.gallery-card__visual{aspect-ratio:1.15}.gallery-section{padding-top:18vw;padding-bottom:18vw}}

.gallery-card__visual--photo{background:#ddd4c5}.gallery-card__visual--photo:before,.gallery-card__visual--photo:after{display:none}.gallery-card__visual--photo img{width:100%;height:100%;object-fit:cover;display:block}

/* Signature de marque — élégant et artisanal */
.brand__text{gap:1px;text-transform:none;letter-spacing:0}.brand__text strong{font-family:var(--serif);font-size:15px;font-weight:600;letter-spacing:-.02em}.brand__text em{font-family:var(--serif);font-size:17px;font-style:italic;letter-spacing:-.025em;color:var(--clay)}.brand--footer .brand__text strong{font-size:14px}.brand--footer .brand__text em{font-size:16px}

/* Hiérarchie du titre — classique, puis accent italique */
.hero h1 span{display:block;font-style:normal;color:var(--ink)}.hero h1 em{display:block;font-style:italic;color:var(--olive);font-weight:500;letter-spacing:-.055em}

.gallery-card__visual--pair{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--paper);aspect-ratio:4/4.7}.gallery-card__visual--pair:before,.gallery-card__visual--pair:after{display:none}.gallery-card__visual--pair>div{position:relative;min-width:0;overflow:hidden}.gallery-card__visual--pair img{width:100%;height:100%;object-fit:cover;display:block}.gallery-card__visual--pair span{position:absolute;z-index:1;left:9px;bottom:9px;color:#fff;background:rgba(37,40,34,.72);padding:4px 7px;font-size:8px;text-transform:uppercase;letter-spacing:.12em}.gallery-card__visual--pair>div:first-child img{filter:saturate(.78) brightness(.94)}
@media(max-width:560px){.gallery-card__visual--pair{aspect-ratio:1.15}}

/* Galerie extensible : les fiches restent alignées quand de nouveaux projets sont ajoutés */
.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.gallery-card--offset{transform:none}

.contact__place strong{font-family:var(--serif);font-size:18px;font-weight:500}.contact__details{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:28px;padding-left:37px}.contact__details a{color:#fff;font-size:13px;font-weight:600;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:3px;transition:color .2s,border-color .2s}.contact__details a:hover{color:#f9d8c9;border-color:#f9d8c9}.contact__details span{display:inline-block;width:20px;color:#f3d4c5;font-size:16px}.contact__details b{font-size:15px;font-weight:400;margin-left:6px}.contact__details a:nth-child(2){color:#f3d4c5}.contact__details a:nth-child(2):hover{color:#fff}@media(max-width:560px){.contact__details{padding-left:0}.contact__place strong{font-size:17px}}

.shop-banner{background:var(--cream);padding-top:78px;padding-bottom:82px}.shop-banner .section-index{margin-bottom:42px}.shop-banner__body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:72px;align-items:end}.shop-banner h2{margin:0;font-family:var(--serif);font-size:clamp(38px,5vw,76px);line-height:.98;font-weight:500;letter-spacing:-.065em}.shop-banner h2 em{font-style:italic;color:var(--olive)}.shop-banner__info{max-width:440px}.shop-banner__info p{margin:0;color:var(--muted);font-size:14px;line-height:1.8}.shop-banner__actions{display:flex;align-items:center;gap:24px;margin-top:28px;flex-wrap:wrap}.shop-banner__actions .text-link{color:var(--ink)}@media(max-width:760px){.shop-banner__body{grid-template-columns:1fr;gap:28px}.shop-banner{padding-top:58px;padding-bottom:62px}}@media(max-width:560px){.shop-banner__actions{align-items:flex-start;flex-direction:column;gap:18px}}

/* Boutique : une pièce, plusieurs vues, contact direct. */
.shop-product {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .95fr);
  gap: 6vw;
  align-items: center;
  margin-top: 58px;
  padding-top: 44px;
  border-top: 1px solid var(--line);
}
.shop-product__gallery { min-width: 0; max-width: 460px; width: 100%; }
.shop-product__figure { margin: 0; }
.shop-product__large {
  display: block;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: var(--paper);
}
.shop-product__large img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.shop-product__figure figcaption {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin-top: 10px;
  color: var(--muted);
  font-size: 10px;
}
.shop-product__thumbnails {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}
.shop-product__thumbnail {
  padding: 4px;
  border: 1px solid var(--line);
  background: var(--paper);
  transition: border-color .2s, box-shadow .2s;
}
.shop-product__thumbnail img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: contain;
}
.shop-product__thumbnail[aria-pressed="true"] {
  border-color: var(--olive);
  box-shadow: inset 0 0 0 1px var(--olive);
}
.shop-product__thumbnail:hover { border-color: var(--olive); }
.shop-product a:focus-visible,
.shop-product__thumbnail:focus-visible {
  outline: 2px solid var(--olive);
  outline-offset: 4px;
}
.shop-product__details { min-width: 0; max-width: 460px; }
.shop-product__details .eyebrow { margin-bottom: 20px; }
.shop-product__status {
  display: inline-block;
  color: var(--olive);
  border: 1px solid var(--line);
  padding: 4px 10px;
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.shop-product__details h3 {
  font-family: var(--serif);
  font-size: clamp(32px, 3.6vw, 52px);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -.045em;
  margin: 24px 0 12px;
}
.shop-product__details h3 em { color: var(--olive); }
.shop-product__condition {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.shop-product__price {
  font-family: var(--serif);
  color: var(--olive-deep);
  font-size: 44px;
  line-height: 1.2;
  margin: 25px 0;
}
.shop-product__price span { font-size: 28px; }
.shop-product__description { color: var(--muted); margin: 0; }
.shop-product__contact {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px 22px;
  border-top: 1px solid var(--line);
  padding-top: 24px;
  margin-top: 28px;
}
.shop-product__contact p {
  flex-basis: 100%;
  margin: 0;
  font-size: 13px;
  color: var(--muted);
}
.shop-product__contact small {
  flex-basis: 100%;
  color: var(--muted);
  font-size: 10px;
}
@media (max-width: 760px) {
  .shop-product { grid-template-columns: 1fr; gap: 34px; margin-top: 38px; padding-top: 32px; }
  .shop-product__gallery, .shop-product__details { max-width: none; }
  .shop-product__large { max-width: 460px; margin: 0 auto; }
}

/* Les réalisations restent à la suite, sans case décalée sur les petits écrans. */
@media (max-width: 900px) {
  .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gallery-card:last-child { grid-column: auto; max-width: none; }
}
@media (max-width: 560px) {
  .gallery-grid { grid-template-columns: minmax(0, 1fr); }
}

/* Photo carrée : conserver l’image entière dans une fiche de même hauteur. */
.gallery-card__visual--contain { background: var(--paper); }
.gallery-card__visual--contain img { object-fit: contain; }
