/* Direction D — official photographs and native document flow. */
.interior-d { --section-spacing:5.6rem; }
.interior-hero { padding-block:2.4rem 3.2rem; }
.interior-hero .breadcrumbs { margin-bottom:2.6rem; }
.interior-heading h1 { font-size:4.6rem; margin-bottom:2rem; max-width:none; text-wrap:pretty; }
.interior-heading .page-lead { font-size:1.7rem; max-width:60ch; }
.contact-actions { display:flex; flex-wrap:wrap; gap:1.2rem; margin-top:2.6rem; align-items:stretch; }
.contact-actions .button { margin-top:0; gap:1rem; min-height:5.4rem; font-size:1.5rem; }
.contact-actions .button-phone { background:transparent; border-color:var(--color-border); color:var(--color-text); }
.contact-actions .button-phone:hover { background:var(--color-secondary); color:white; border-color:var(--color-secondary); }
.phone-number { white-space:nowrap; }
.interior-detail { display:none; }
.interior-caption { display:none; }
.interior-scene { margin-top:2.8rem; min-width:0; }
.interior-scene picture { background:var(--color-surface); }
.interior-scene img { width:100%; height:36rem; object-fit:cover; }
.hero-bacs .interior-scene img,.hero-camionnettes .interior-scene img,.hero-textile .interior-scene img,.hero-chariots .interior-scene img,.hero-pneus .interior-scene img,.hero-palettes .interior-scene img,.hero-archives .interior-scene img { object-fit:contain; }
.interior-facts { border-block:1px solid var(--color-border); }
.interior-facts>.container { display:flex; flex-wrap:wrap; gap:1.2rem 2.4rem; padding-block:1.8rem; }
.interior-facts p { display:flex; align-items:center; gap:1rem; font-family:var(--font-secondary); font-size:2rem; margin:0; }
.interior-facts svg { width:2.6rem; height:2.6rem; }
.interior-d .section h2::before { content:''; display:block; width:4.2rem; height:.4rem; background:var(--color-primary); margin-bottom:1.6rem; }
.interior-d .section h2 { font-size:3.5rem; }
.interior-d .editorial-grid { align-items:center; }
.interior-d .editorial-grid>* { min-width:0; }
.interior-d .editorial-copy { max-width:76rem; }
.interior-d .page-photo img { background:var(--color-surface); }
.interior-d .workshop-photo img { object-fit:cover; }
.interior-d .dimensions-band { background:#ededed; border:0; }
.dimensions-copy { max-width:110rem; }
.dimension-values { display:grid; gap:2.4rem; margin-bottom:2.4rem; }
.dimension-values dt { font-size:1.6rem; margin-bottom:.6rem; }
.dimension-values dd { font-family:var(--font-secondary); font-size:3.8rem; line-height:1.1; }
.dimensions-band .specification-table { font-size:1.7rem; }
.dimensions-band .specification-table td { font-family:var(--font-secondary); font-size:3.3rem; line-height:1.2; }
.dimensions-band .specification-table thead { background:transparent; color:var(--color-text); }
.dimensions-band .specification-table tbody tr:nth-child(even) { background:transparent; }
.interior-d .quote-band { margin-top:2.4rem; }
.interior-d .quote-band>.container { padding-right:0; }
.interior-d .quote-band h2 { font-size:4rem; }
.interior-d .quote-band .contact-actions { margin-top:2.8rem; }
.interior-d .quote-band .button { margin:0; }
.interior-d .quote-band .button-phone { color:white; border-color:white; background:transparent; }
.interior-d .quote-band .button-phone:hover { color:var(--color-text); background:white; }
.quote-scene { display:none; }
.contact-dock { display:flex; position:fixed; z-index:15; bottom:0; left:0; width:100%; border-top:1px solid #ccc; background:white; padding:.8rem 1rem max(.8rem,env(safe-area-inset-bottom)); gap:.8rem; }
.contact-dock a { display:flex; justify-content:center; align-items:center; gap:.7rem; min-height:4.8rem; padding:.8rem; text-decoration:none; font-weight:600; font-size:1.3rem; }
.contact-dock a:first-child { flex:1.6; color:white; background:var(--color-primary); }
.contact-dock a:last-child { flex:1; color:var(--color-text); background:var(--color-surface); }
.interior-d:not(.contact-page):not(.page-legal) { padding-bottom:8rem; }
.interior-d { scroll-margin-bottom:9rem; }
.interior-d a,.interior-d input,.interior-d textarea,.interior-d select { scroll-margin-block:12rem 10rem; }
.interior-d .contact-form-panel { background:var(--color-surface); padding:2.4rem; scroll-margin-top:3rem; min-width:0; }
.contact-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.form-feedback { border-left:4px solid var(--color-red, #c00); background:#fff; padding:1.6rem; margin-bottom:2rem; }
.form-feedback p { margin:0 0 1rem; }
.contact-page .page-intro { padding-bottom:0; }
.contact-page .page-intro h1 { font-size:5.2rem; }
.contact-page .page-intro .button { margin:0; }
.contact-scene img { width:100%; height:20rem; object-fit:cover; }
.contact-page .contact-details>a { font-size:2.6rem; }
.page-legal .page-intro { border-bottom:1px solid var(--color-border); }
.page-legal .editorial-copy { max-width:82rem; }
.page-legal .page-intro h1 { font-size:4.8rem; max-width:20ch; }
.interior-d .question-list { max-width:100rem; }
.interior-d .question-list dt { border-top:1px solid var(--color-border); padding-top:2rem; }

@media(min-width:768px) {
    .dimension-values { grid-template-columns:1fr 1fr; max-width:85rem; }
    .dimension-values>div+div { border-left:1px solid #bbb; padding-left:3.2rem; }
    .dimension-values dd { font-size:4.4rem; }
    .interior-d { --section-spacing:7.2rem; }
    .interior-facts>.container { justify-content:space-between; }
    .interior-facts p { font-size:2.2rem; }
    .interior-scene img { height:48rem; }
    .interior-d .section h2 { font-size:4.2rem; }
    .interior-d .contact-form-panel { padding:3.6rem; }
    .contact-page .page-intro h1 { font-size:6.4rem; }
    .page-legal .page-intro h1 { font-size:6.4rem; }
}
@media(min-width:920px) {
    .interior-hero { display:grid; grid-template-columns:1fr 1fr; gap:2.4rem; padding-block:3.2rem 4rem; align-items:stretch; }
    .interior-opening { display:flex; flex-direction:column; min-width:0; padding-right:1.2rem; }
    .interior-heading h1 { font-size:clamp(4.6rem,4.4vw,6.7rem); }
    .interior-heading .page-lead { font-size:1.7rem; }
    .interior-scene { margin:0; display:flex; flex-direction:column; }
    .interior-scene picture { flex:1; position:relative; min-height:48rem; }
    .interior-scene img { position:absolute; inset:0; height:100%; }
    .interior-detail { display:block; position:relative; margin-top:3.2rem; }
    .interior-detail::before { content:''; position:absolute; right:-2.4rem; top:-1rem; width:13rem; height:1.8rem; background:var(--color-accent); z-index:1; }
    .interior-detail img { width:100%; height:16rem; object-fit:cover; }
    .interior-caption { display:flex; justify-content:space-between; gap:1rem; border-top:1.4rem solid var(--color-accent); padding-top:1.6rem; margin-top:auto; font:600 1.8rem Rajdhani,sans-serif; }
    .interior-heading { padding-bottom:3.2rem; }
    .interior-d .editorial-grid { gap:6.4rem; }
    .workshop-usage .workshop-photo { grid-column:1; grid-row:1; }
    .workshop-usage .editorial-copy { grid-column:2; }
    .interior-d .quote-band { width:min(calc(100% - 4rem),var(--container-width)); margin:2.4rem auto 4rem; padding:5.6rem 4rem; }
    .interior-d .quote-band .container { width:66%; margin-left:0; }
    .quote-scene { display:block; position:absolute; right:0; top:0; height:100%; width:32%; clip-path:polygon(15% 0,100% 0,100% 100%,0 100%); }
    .quote-scene img { width:100%; height:100%; object-fit:cover; }
    .interior-d .quote-band h2 { font-size:5.2rem; max-width:24ch; }
    .interior-d .quote-band p { max-width:76ch; }
    .interior-d .quote-band::after { display:block; right:30%; width:2rem; opacity:1; transform:skew(-8deg); }
    .page-catalogue .related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:5.6rem; }
    .page-catalogue .related-grid article:nth-child(even) { margin-top:5.6rem; }
    .page-catalogue .related-grid .page-photo img { height:32rem; }
    .contact-page .contact-layout { grid-template-columns:.8fr 1.2fr; gap:6.4rem; align-items:start; }
    .contact-scene img { height:26rem; }
}
@media(min-width:1024px) {
    .contact-dock { display:none; }
    .interior-d:not(.contact-page):not(.page-legal) { padding-bottom:0; }
}
@media(min-width:1280px) {
    .interior-hero { gap:4rem; }
    .interior-opening { padding-right:0; }
    .interior-detail::before { right:-4rem; }
    .interior-heading .page-lead { font-size:1.8rem; }
}
@media(prefers-reduced-motion:reduce) {
    .contact-actions .button,.contact-actions svg { transition:none; }
}
