/* Composants extraits de dist/style.css, v13 publique, 3e3e3163a0e451500eb63266b6d88f84d35a7e68.
   Déclarations et ordre conservés; seulement les sélecteurs utilisés dans StoryBrand. */
a:focus-visible{outline:3px solid #38804c;outline-offset:6px}
nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}
.nav-contact{border-bottom:1px solid;padding:8px 0}
.nav-contact span{margin-left:25px}
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:36px;background:var(--ink);color:white;padding:17px 25px;min-height:56px;margin-top:15px;font-size:15px}
.button:hover{background:#2c4f5c}
.text-link{display:inline-block;font-size:15px;border-bottom:1px solid currentColor;padding-bottom:5px;margin-top:12px}
@media(max-width:800px){
.nav-contact{font-size:12px}
.nav-contact span{margin-left:8px}
}
@media(max-width:370px){
.nav-contact{max-width:130px}
.button{gap:15px;padding:16px 20px}
}
.button:hover{background:#4a4539}
.button:focus-visible{outline-color:#a3864c}
#project-gallery{grid-column:1/-1}
button.button{font:inherit;border:0;cursor:pointer}
.project-main{display:block;width:100%;height:auto;max-height:640px;object-fit:contain;margin-bottom:24px}
#project-form .button{max-width:100%;text-align:left}
.text-link{overflow-wrap:anywhere;min-height:44px}
#hero-visual{align-self:center;min-height:0;aspect-ratio:1/1}
#hero-visual img{position:static;display:block;left:auto;width:100%;height:100%;object-fit:contain;object-position:center}
#project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.project-feature{margin:0 0 24px}
.project-feature .project-main{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center;background:#eeece5;margin:0}
@media(max-width:800px){
#hero-visual{aspect-ratio:1/1;margin:0 6% 32px}
#project-gallery{grid-template-columns:1fr;gap:24px}
}
.project-feature .project-main{width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;background:transparent}
.open-photos{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.gallery-link{background:transparent;color:inherit;border:0;border-bottom:1px solid currentColor;font:inherit;cursor:pointer;padding:8px 0}
.open-photos:focus-visible,.gallery-link:focus-visible{outline:3px solid #907343;outline-offset:4px}
#project-gallery{align-items:start}
#photo-viewer{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#181817;color:#faf9f6}
#photo-viewer::backdrop{background:#181817}
.viewer-shell{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));gap:12px}
.viewer-top{display:flex;align-items:center;justify-content:space-between;gap:16px}
#viewer-title{font:inherit;font-size:16px;line-height:1.4;letter-spacing:normal;margin:0}
#photo-viewer button{flex-shrink:0;background:transparent;color:inherit;border:1px solid #817d70;border-radius:3px;min-width:48px;min-height:48px;padding:8px 12px;font:inherit;cursor:pointer}
#photo-viewer button:focus-visible{outline:3px solid #dac89e;outline-offset:3px}
.viewer-stage{min-height:0;min-width:0;display:flex;align-items:center;justify-content:center;touch-action:pan-y pinch-zoom}
#viewer-image{display:block;width:100%;height:100%;object-fit:contain;user-select:none}
.viewer-bottom{text-align:center}
.viewer-nav{display:flex;align-items:center;justify-content:center;gap:24px}
#viewer-count{min-width:56px;font-size:16px}
#viewer-caption{margin:8px 0 0;font-size:16px;line-height:1.4}
@media(max-width:600px){
#viewer-title{font-size:14px}
.viewer-shell{gap:8px}
.viewer-top{gap:8px}
}
.ui-icon{display:inline-block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vertical-align:-2px;flex-shrink:0}
.button{max-width:100%;white-space:normal;overflow-wrap:anywhere;gap:18px}
nav .nav-contact{min-height:44px;display:flex;align-items:center;gap:10px}
nav .nav-contact span{margin-left:0}
.viewer-stage{position:relative;padding:0 56px}
#viewer-image{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
#viewer-prev,#viewer-next{position:absolute;top:50%;transform:translateY(-50%);z-index:1;background:#181817b3!important;border-color:#ffffff30!important}
#viewer-prev{left:0}
#viewer-next{right:0}
#viewer-close{border:0!important}
.viewer-nav{min-height:24px}
#viewer-title{min-width:0;overflow-wrap:anywhere}
@media(max-width:800px){
.nav-contact{max-width:180px}
.viewer-stage{padding:0}
#viewer-prev{left:0}
#viewer-next{right:0}
}
/* Valeurs héritées de la v13, limitées aux composants réutilisés. */
.button,.text-link,.nav-contact,#photo-viewer{line-height:1.6}
button.button{line-height:1.6}
