/* Maçonnerie Kelap — V6 Ciel */
:root{
--w:#FFFFFF;--w-70:rgba(255,255,255,.70);--w-45:rgba(255,255,255,.45);--w-28:rgba(255,255,255,.28);--w-16:rgba(255,255,255,.16);
--photo-ink:#2C4459;--ink:#111315;--grey:#B7BCC1;--rule:#E6E8EA;
--blue:#4A6FA5;--blue-pale:#C3D3E4;--blue-deep:#39588A;
--font-display:'Okine',system-ui,sans-serif;--font-body:'Okine',system-ui,sans-serif}

@font-face{font-family:'Okine';src:url(../fonts/okine-thin.otf) format('opentype');font-weight:100;font-style:normal;font-display:swap}
@font-face{font-family:'Okine';src:url(../fonts/okine-light.otf) format('opentype');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Okine';src:url(../fonts/okine-regular.otf) format('opentype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Okine';src:url(../fonts/okine-medium.otf) format('opentype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Okine';src:url(../fonts/okine-bold.otf) format('opentype');font-weight:600;font-style:normal;font-display:swap}

@keyframes blip{0%,42%{opacity:1}50%,92%{opacity:.12}100%{opacity:1}}

html,body{overflow-x:clip;scrollbar-width:none;-ms-overflow-style:none}
html::-webkit-scrollbar,body::-webkit-scrollbar{width:0;height:0;display:none}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--w);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-wrap:pretty}
h1,h2{overflow-wrap:anywhere;min-width:0}
a{color:var(--ink);text-decoration:none}
a:hover{color:var(--blue)}
nav a{white-space:nowrap}
a:focus{outline:none}
a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:2px;border-radius:inherit}
button:active,a:active{transform:translateY(1px)}
button{font-family:var(--font-body);box-sizing:border-box}

/* macrostructure grids */
[data-screen-label="Récap"],[data-v6grid]{grid-template-columns:minmax(0,1fr)}
[data-screen-label="Cartes"]{grid-template-columns:minmax(0,1fr)}
@media (min-width:700px){[data-screen-label="Cartes"]{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:900px){[data-screen-label="Récap"],[data-v6grid]{grid-template-columns:minmax(0,1fr) minmax(0,2.1fr)}
[data-v6grid="footer"]{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}}

/* carousel background layers sit under the scrim + content */
.shot-layer{position:absolute;inset:0;background-size:cover;background-position:center}

/* accordion rows */
[data-row]{border-top:1px solid var(--rule);border-radius:0;background:transparent;transition:background-color .45s ease,border-radius .45s ease,border-color .45s ease}
[data-row].is-open{background:#F7F7F8;border-radius:16px;border-top-color:transparent}
[data-row-body],[data-row-thumb]{overflow:hidden}

/* gentle hover lift on cards and tiles */
[data-lift]{transition:transform .5s cubic-bezier(.16,1,.3,1)}
@media (hover:hover){[data-lift]:hover{transform:translateY(-4px)}}

/* SplitText line masks keep their box */
.split-line{display:block}

/* nav : boutons flottants sur fond transparent */
.nav-chip{background:rgba(11,11,12,.42);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 6px 24px rgba(11,11,12,.18)}
a.nav-chip:hover{color:var(--w);background:rgba(11,11,12,.66)}

/* modale devis : 50-50 image + formulaire dès 760px */
.modal-panel{grid-template-columns:minmax(0,1fr)}
.modal-media{display:none}
@media (min-width:760px){
.modal-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.modal-media{display:block;min-height:520px}
.modal-head-title{display:none}
}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none !important;transition-duration:.001ms !important}}
