/* La Völva — Galerie privée. Un espace éditorial, sans scène 3D. */
:root {
  --paper:#f7f4ee;--ink:#302820;--accent:#60432c;--muted:#70665b;
  --sand:#ede7dc;--line:#d8cfc1;--field:#fffdf8;
  --band:#2c261f;--band-ink:#f7f1e7;--band-accent:#cdbb9f;
  --gutter:clamp(24px,4vw,72px);--section-space:clamp(85px,10vw,152px);
}
html[data-theme=dark] {--paper:#211e1a;--ink:#f0e9dd;--accent:#d4ba94;--muted:#c0b4a3;--sand:#2e2923;--line:#554a3c;--field:#29241f;--band:#181512}
@media(prefers-color-scheme:dark) {html:not([data-theme=light]):not([data-theme=dark]) {--paper:#211e1a;--ink:#f0e9dd;--accent:#d4ba94;--muted:#c0b4a3;--sand:#2e2923;--line:#554a3c;--field:#29241f;--band:#181512}}
html[data-daylight=evening][data-theme=light] {--paper:#f3ede3;--sand:#e9dece}
*,*::before,*::after {font-style:normal!important}
html {scroll-padding-top:124px}
body {font-size:15px;line-height:1.8}
h1,h2,h3,h4,h5,h6 {font-family:var(--serif);font-weight:400;letter-spacing:-.035em;line-height:1.04;color:var(--ink);text-wrap:balance}
h2 {font-size:clamp(42px,4.8vw,72px)}
h3 {font-size:32px}
.wrap {width:min(1536px,calc(100% - var(--gutter)*2))}
.eyebrow {font:400 10px/1.6 var(--sans);letter-spacing:.18em;color:var(--accent);margin-bottom:32px}
.button,.header-contact {font-weight:400;border-radius:0;font-size:12px;letter-spacing:.035em}
.button {padding:18px 26px;min-height:56px}
.button:hover {transform:none}
.text-link {font-size:12px;font-weight:400;gap:28px;text-decoration:none;border-bottom:1px solid var(--line);padding:10px 0;letter-spacing:.025em}
.text-link:hover {border-color:var(--accent)}
.arrow {width:19px;height:19px;stroke-width:1}
.site-header {background:var(--paper);border-bottom:0}
.header-inner {min-height:112px;gap:40px}
.brand-name {font:400 46px/1 var(--serif);letter-spacing:-.05em;color:var(--ink)}
.brand-sub {font-size:7px;letter-spacing:.19em;margin-top:8px;color:var(--muted)}
.desktop-nav {gap:28px}
.desktop-nav a,.desktop-dropdown>summary {font-size:11px;letter-spacing:.035em}
.header-contact {background:transparent;border:1px solid var(--line);color:var(--ink);padding:12px 20px;gap:25px}
.header-contact:hover {background:var(--accent);color:var(--paper)}
.expertise-menu {background:var(--field);box-shadow:0 18px 24px #251d1512}
.expertise-menu span {font-family:var(--serif)}
.mobile-menu summary {border:0}
.gallery-overline {display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.16em;color:var(--muted);padding:14px 0 20px;border-top:1px solid var(--line)}
.gallery-room {position:relative;isolation:isolate;height:clamp(520px,46vw,740px);overflow:hidden;background:#3a3025}
.gallery-room-image {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 53%}
.gallery-room-shade {position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,16,11,.66),rgba(21,16,11,.24) 55%,rgba(21,16,11,.06)),linear-gradient(0deg,rgba(21,16,11,.48),transparent 70%)}
.gallery-title {position:absolute;left:6%;bottom:11%;max-width:85%;color:#fff9ee}
.gallery-title .eyebrow {color:#f4e5cb;font-size:10px;letter-spacing:.22em;margin-bottom:27px}
.gallery-title h1 {color:inherit;font-size:clamp(70px,7.8vw,122px);line-height:.97;letter-spacing:-.035em;text-wrap:initial;margin:0 0 28px;text-shadow:0 2px 30px #140e0833}
.gallery-invitation {display:inline-flex;align-items:center;gap:44px;min-height:48px;border-bottom:1px solid #f8edd590;font-size:12px;letter-spacing:.04em;text-decoration:none}
.gallery-invitation span {font-size:23px;transition:transform .3s}
.gallery-invitation:hover span {transform:translate(3px,-3px)}
.gallery-room :focus-visible {outline-color:#fff}
.room-edition {position:absolute;right:32px;bottom:35px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.18em;color:#fff3dd}
.gallery-caption {display:grid;grid-template-columns:1fr 1fr auto;gap:35px;align-items:center;padding:28px 0 33px;border-bottom:1px solid var(--line)}
.gallery-caption p {margin:0;font-size:12px;line-height:1.7}
.gallery-caption p:first-child {font:400 23px/1.25 var(--serif);color:var(--ink)}
.gallery-caption>a {border:1px solid var(--line);border-radius:50%;height:45px;width:45px;display:grid;place-items:center;text-decoration:none;font-size:21px;color:var(--accent)}
.gallery-introduction {padding-block:var(--section-space)}
.introduction-columns {display:grid;grid-template-columns:1.2fr .8fr;gap:10%;align-items:end}
.introduction-columns h2 {font-size:clamp(45px,4.9vw,74px);line-height:1.13}
.introduction-columns h2 span {color:var(--accent)}
.introduction-columns>div {max-width:43ch;padding-bottom:6px}
.introduction-columns p {font-size:14px}
.gallery-section-heading {display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:55px}
.gallery-section-heading .eyebrow {margin-bottom:24px}
.gallery-section-heading>p {font-size:13px;margin-bottom:6px}
.gallery-expertise {padding-bottom:var(--section-space)}
.expertise-composition {display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}
.expertise-picture {margin:0}
.expertise-picture img {width:100%;height:610px;object-fit:cover;object-position:45% center}
.expertise-picture figcaption {display:flex;justify-content:space-between;gap:20px;padding-top:15px;font-size:9px;color:var(--muted);letter-spacing:.1em;line-height:1.6}
.expertise-picture figcaption a {letter-spacing:0}
.gallery-directory {border-top:1px solid var(--line)}
.gallery-directory>a {display:grid;grid-template-columns:22px 1fr 24px;gap:22px;align-items:center;padding:27px 0;border-bottom:1px solid var(--line);text-decoration:none}
.directory-index {align-self:start;padding-top:8px;font-size:10px;color:var(--accent)}
.gallery-directory h3 {font-size:clamp(28px,2.7vw,39px);line-height:1.1}
.gallery-directory p {font-size:11px;margin:8px 0 0;line-height:1.65}
.gallery-directory .arrow {transition:transform .3s}
.gallery-directory>a:hover .arrow {transform:translateX(5px)}
.gallery-directory>a:hover h3 {color:var(--accent)}
.gallery-salon {background:var(--band);color:var(--band-ink);padding:clamp(70px,7vw,112px) 0}
.salon-composition {display:grid;grid-template-columns:.9fr 1.1fr;gap:10%;align-items:center}
.salon-copy h2 {font-size:clamp(50px,5.3vw,80px);color:var(--band-ink);line-height:1.03;margin-bottom:34px}
.salon-copy .eyebrow {color:var(--band-accent)}
.salon-copy p:not(.eyebrow) {color:#d3c9ba;font-size:14px;max-width:42ch}
.salon-copy .text-link {color:var(--band-ink);border-color:#746657;margin-top:12px}
.salon-copy :focus-visible {outline-color:var(--band-ink)}
.salon-composition figure {margin:0;position:relative;padding:15px;border:1px solid #75624b}
.salon-composition img {width:100%;height:590px;object-fit:cover;object-position:57% center}
.salon-composition figcaption {font-size:9px;letter-spacing:.16em;color:#d3c9ba;padding-top:15px}
.gallery-method {display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-block:var(--section-space)}
.gallery-method h2 {margin-bottom:32px}
.gallery-method ol {list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.gallery-method li {display:grid;grid-template-columns:28px 1fr;gap:25px;padding:29px 0;border-bottom:1px solid var(--line)}
.gallery-method li>span {font-size:10px;color:var(--accent);padding-top:5px}
.gallery-method h3 {font-size:33px;line-height:1.1}
.gallery-method li p {font-size:13px;margin:12px 0 0;max-width:40ch}
.orientation-section {background:var(--sand);padding-block:80px;border-block:1px solid var(--line)}
.orientation-layout {gap:8%;grid-template-columns:1fr 1fr}
.orientation-layout h2 {font-size:50px;line-height:1.05}
.orientation-layout>div>p {font-size:14px}
.orientation-fields {grid-template-columns:1fr 1fr;gap:22px}
.orientation-fields select {background:var(--paper);font-size:13px;border-radius:0}
.orientation-body {padding:0}
.gallery-journal {padding-block:var(--section-space)}
.gallery-guides {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px}
.guide-cover {height:320px;display:flex;flex-direction:column;justify-content:space-between;padding:28px;background:#eae2d4;color:#493b2b;text-decoration:none;position:relative;isolation:isolate;overflow:hidden;margin-bottom:28px;transition:background .3s}
.guide-cover::after {content:"";position:absolute;inset:12px;border:1px solid currentColor;opacity:.22;z-index:-1}
.guide-cover>span:not(.cover-number) {font-size:8px;letter-spacing:.16em;line-height:1.7}
.guide-cover .cover-number {font:400 146px/.8 var(--serif);letter-spacing:-.06em;align-self:center}
.cover-1 {background:#554637;color:#f0e3ce}
.cover-2 {background:#d9d6c6;color:#3c4335}
.gallery-guide .eyebrow {font-size:9px;margin-bottom:16px}
.gallery-guide h3 {font-size:34px;line-height:1.13;margin-bottom:17px}
.gallery-guide h3 a {text-decoration:none}
.gallery-guide h3 a:hover {text-decoration:underline;text-decoration-thickness:1px}
.gallery-guide>p:not(.eyebrow) {font-size:13px}
.gallery-frame {padding:0 0 var(--section-space)}
.gallery-frame>.eyebrow {border-top:1px solid var(--line);padding-top:32px}
.gallery-frame>div {display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}
.gallery-frame h2 {font-size:clamp(42px,4.1vw,62px)}
.gallery-frame p:not(.eyebrow) {font-size:14px;max-width:46ch}
.contact-band {background:var(--band);padding-block:90px;border:0}
.contact-band h2 {font-size:clamp(50px,5.8vw,88px);color:var(--band-ink);line-height:1.02}
.contact-band p {color:#d3c9ba;font-size:14px}
.contact-band .button {background:transparent;color:var(--band-ink);border-color:#99856b;min-width:205px}
.contact-band .button:hover {background:#f7f1e7;color:#302820}
.contact-band :focus-visible {outline-color:var(--band-ink)}
.site-footer {background:var(--paper);color:var(--ink);padding-top:70px}
.site-footer .brand-name,.site-footer .footer-top>p {color:var(--ink)}
.site-footer .brand-sub,.site-footer p {color:var(--muted)}
.site-footer a,.site-footer .footer-bottom {color:var(--ink)}
.site-footer .footer-top,.site-footer .footer-legal,.site-footer .footer-bottom {border-color:var(--line)}
.site-footer .theme-control {color:var(--muted)}
.site-footer select {color:var(--ink);background:var(--paper);border-color:var(--line)}
.footer-top>p {font-size:25px;line-height:1.3}
.footer-nav a,.footer-legal a,.footer-bottom {font-size:11px}
.footer-legal p {font-size:10px}
/* Les mêmes matières et la même hiérarchie dans toutes les salles du site. */
.page-intro {border-top:1px solid var(--line);padding-block:65px 45px;margin-bottom:40px}
.page-intro h1 {font-size:clamp(58px,6vw,92px);letter-spacing:-.035em;color:var(--ink)}
.page-intro .lead {font-size:17px;max-width:57ch}
.domain-hero h1 {font-size:clamp(50px,5.5vw,84px);color:var(--ink)}
.domain-hero img {width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.domain-hero .lead {font-size:16px}
.domain-context h2,.domain-delivery h2,.scope-section h2,.domain-boundary h2 {font-size:48px}
.domain-context .lead {font-size:20px}
.domain-work h3,.work-columns h3 {font-size:31px;line-height:1.12}
.editorial-photograph figcaption {font-size:10px;line-height:1.6;letter-spacing:0}
.resource-row .resource-title {font-family:var(--serif);font-size:37px}
.reading-content h2,.legal-content h2 {font-family:var(--serif);font-size:36px;line-height:1.15}
.contact-panel {border:1px solid var(--line);background:var(--sand)}
.field input,.field select,.field textarea {border-radius:0;background:var(--field)}
.method-panel {background:var(--sand)}
.method-panel h3 {font-family:var(--serif)}
@keyframes gallery-arrival {from {opacity:0;transform:translateY(14px)}to {opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference) {.gallery-title {animation:gallery-arrival 1s both}.gallery-caption {animation:gallery-arrival 1s .15s both}}
@media(max-width:1120px) {
  .header-inner {min-height:98px;gap:22px}
  .gallery-room {height:600px}
  .gallery-title h1 {font-size:86px}
  .introduction-columns,.salon-composition,.expertise-composition {gap:6%}
  .expertise-picture img {height:570px}
  .salon-composition img {height:560px}
  .gallery-directory>a {gap:16px;padding-block:25px}
  .gallery-guides {gap:25px}
  .guide-cover {height:270px}
  .gallery-guide h3 {font-size:29px}
}
@media(max-width:760px) {
  :root {--gutter:24px;--section-space:76px}
  .header-inner {min-height:88px;gap:18px}
  .brand-name {font-size:37px}.brand-sub {font-size:6px}
  .header-contact {font-size:11px;gap:12px;padding:10px 13px;min-height:44px}
  .mobile-menu summary {font-size:0;width:44px;padding:10px;gap:0}
  .gallery-overline {padding:12px 0 16px;font-size:8px;letter-spacing:.1em}
  .gallery-overline>span:last-child {display:none}
  .gallery-room {height:600px}
  .gallery-room-image {object-position:55% center}
  .gallery-room-shade {background:linear-gradient(0deg,#17120cd9,rgba(21,16,11,.08) 85%)}
  .gallery-title {left:8%;bottom:10%;max-width:88%}
  .gallery-title h1 {font-size:clamp(51px,9.8vw,74px);line-height:1.02}
  .gallery-title .eyebrow {font-size:8px;margin-bottom:23px}
  .gallery-invitation {font-size:11px;gap:28px}
  .room-edition {right:14px;bottom:auto;top:22px;font-size:7px}
  .gallery-caption {grid-template-columns:1fr auto;gap:18px;padding:23px 0}
  .gallery-caption p:first-child {font-size:23px}
  .gallery-caption p:nth-child(2) {grid-column:1/-1;grid-row:2;font-size:12px}
  .gallery-caption p br {display:none}
  .gallery-caption p:first-child br {display:block}
  .gallery-caption>a {grid-column:2;grid-row:1}
  .eyebrow {font-size:9px;margin-bottom:25px}
  .introduction-columns,.expertise-composition,.salon-composition,.gallery-method,.gallery-frame>div {grid-template-columns:1fr;gap:35px}
  .introduction-columns h2 {font-size:47px}
  .introduction-columns>div {max-width:50ch}
  .gallery-section-heading {display:block;margin-bottom:33px}
  .gallery-section-heading h2 {font-size:47px}
  .gallery-section-heading>p,.gallery-section-heading>.text-link {margin-top:22px}
  .expertise-picture img {height:420px}
  .gallery-directory h3 {font-size:32px}
  .gallery-directory>a {padding-block:22px;gap:17px}
  .gallery-salon {padding-block:65px}
  .salon-copy h2 {font-size:56px}
  .salon-composition figure {padding:12px}
  .salon-composition img {height:420px}
  .salon-composition figcaption {font-size:8px}
  .gallery-method h2 {font-size:47px}
  .gallery-method h3 {font-size:29px}
  .orientation-section {padding-block:60px}
  .orientation-layout {grid-template-columns:1fr;gap:25px}
  .orientation-layout h2 {font-size:44px}
  .orientation-fields {grid-template-columns:1fr 1fr}
  .gallery-guides {grid-template-columns:1fr;gap:45px}
  .guide-cover {height:290px}
  .gallery-guide h3 {font-size:33px;max-width:28ch}
  .gallery-guide>p {max-width:48ch}
  .gallery-frame h2 {font-size:45px}
  .contact-band {padding-block:65px}
  .contact-band-inner {grid-template-columns:1fr;gap:28px}
  .contact-band h2 {font-size:51px}
  .contact-band .button {justify-self:start}
  .site-footer {padding-top:50px}
  .page-intro {padding-block:45px 30px}
  .page-intro h1 {font-size:53px}
  .page-intro .lead {font-size:15px}
  .domain-hero {grid-template-columns:1fr;gap:30px;padding-block:20px 48px}
  .domain-hero h1 {font-size:50px}
  .domain-hero img {height:auto;min-height:0}
  .domain-context h2,.domain-delivery h2,.scope-section h2,.domain-boundary h2 {font-size:39px}
  .domain-context,.scope-section {gap:25px}
  .resource-row .resource-title {font-size:29px}
}
@media(max-width:420px) {
  :root {--gutter:20px}
  .header-inner {gap:12px}
  .brand-name {font-size:33px}
  .brand-sub {font-size:5.5px}
  .header-contact {font-size:10px;padding:10px;gap:8px}
  .header-contact .arrow {width:15px}
  .gallery-room {height:530px}
  .gallery-title {left:7%;max-width:89%}
  .gallery-title h1 {font-size:clamp(42px,12vw,50px)}
  .gallery-title .eyebrow {font-size:7px;letter-spacing:.16em}
  .gallery-invitation {font-size:10px;gap:20px}
  .introduction-columns h2,.gallery-section-heading h2,.gallery-method h2 {font-size:41px}
  .gallery-directory h3 {font-size:28px}
  .gallery-directory>a {grid-template-columns:17px 1fr 19px;gap:12px}
  .expertise-picture img {height:350px}
  .expertise-picture figcaption {font-size:8px}
  .salon-copy h2 {font-size:48px}
  .salon-composition img {height:350px}
  .orientation-fields {grid-template-columns:1fr}
  .orientation-layout h2 {font-size:39px}
  .contact-band h2 {font-size:44px}
  .footer-top {grid-template-columns:1fr}
  .page-intro h1 {font-size:44px;overflow-wrap:anywhere}
  .domain-hero h1 {font-size:42px;overflow-wrap:anywhere}
  .reading-content h2,.legal-content h2 {font-size:30px}
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media print {
  .gallery-room {height:auto;background:none}
  .gallery-room-image,.gallery-room-shade,.room-edition,.gallery-invitation {display:none}
  .gallery-title {position:static;color:#111}
  .gallery-title h1 {font-size:40pt}
  .gallery-caption,.gallery-overline {display:none}
  .gallery-salon {background:white}
  .salon-copy h2,.salon-copy p {color:black!important}
}
