/* Template "Graphique" (slug epure, Premium, several pages), after the mock-ups "Premium graphique".
   Grotesque system typefaces (Inter / Helvetica Neue), nothing to download. */
body.tpl-epure {
	--gr-bg: #f4f2ee;
	--gr-ink: #1b1b1b;
	--gr-muted: #6e6c68;
	--gr-red: var(--folio-accent, #d63a26);
	--gr-sans: "Inter", "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;
	--gr-title: var(--folio-font-heading, var(--gr-sans));
	background: var(--gr-bg);
	color: var(--gr-ink);
	font-family: var(--gr-sans);
}
.tpl-epure a { color: inherit; }
.tpl-epure .folio-main { padding: 0; }
.tpl-epure .gr-wrap { width: min(100% - 4rem, 1312px); margin-inline: auto; }

/* Header */
.tpl-epure .gr-bar { border-bottom: 1px solid var(--gr-ink); }
.tpl-epure .gr-bar__inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; height: 98px; }
.tpl-epure .gr-bar__name { font-size: 20px; font-weight: 700; letter-spacing: -.02em; text-decoration: none; }
.tpl-epure .gr-nav { display: flex; gap: 2.2rem; }
.tpl-epure .gr-nav a { padding: .4rem 0; border-bottom: 2px solid transparent; font-size: 13px; font-weight: 600; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.tpl-epure .gr-nav a[aria-current], .tpl-epure .gr-nav a:hover { border-bottom-color: var(--gr-red); }

/* Type and buttons */
.tpl-epure .gr-giant { font: 600 clamp(3.4rem, 11vw, 9.6rem) / .95 var(--gr-title); letter-spacing: -.055em; }
.tpl-epure .gr-giant--page { font-size: clamp(3rem, 8.5vw, 7.6rem); padding-bottom: 2rem; border-bottom: 3px solid var(--gr-ink); }
.tpl-epure .gr-big { font: 500 clamp(2.4rem, 5vw, 4.2rem) / 1 var(--gr-title); letter-spacing: -.045em; }
.tpl-epure .gr-big--light { font-weight: 400; }
.tpl-epure .gr-lead { font-size: clamp(1.15rem, 1.8vw, 1.45rem); line-height: 1.45; letter-spacing: -.01em; }
.tpl-epure .gr-lead + .gr-lead { margin-top: 1rem; }
.tpl-epure .gr-muted { color: var(--gr-muted); font-size: 15.5px; line-height: 1.6; }
.tpl-epure .gr-muted p + p { margin-top: .5rem; }
.tpl-epure .gr-btn { display: inline-flex; align-items: center; gap: 1.4rem; margin-top: 2rem; padding: .95rem 1.5rem; border: 0; background: var(--gr-red); color: #fff !important; font: 600 13.5px / 1 var(--gr-sans); text-decoration: none; cursor: pointer; transition: filter .2s; }
.tpl-epure .gr-btn span { font-size: 18px; }
.tpl-epure .gr-btn:hover { filter: brightness(1.1); }
.tpl-epure .gr-socials { display: flex; gap: 1.2rem; margin: 0; }
.tpl-epure .gr-socials a { display: inline-flex; font-size: 17px; }
.tpl-epure .gr-socials a:hover { color: var(--gr-red); }
.tpl-epure .gr-socials svg { width: 1em; height: 1em; }
.tpl-epure .gr-photo { display: block; overflow: hidden; }
.tpl-epure .gr-photo img { display: block; width: 100%; height: auto; transition: transform .5s; }
.tpl-epure .gr-photo:hover img { transform: scale(1.03); }

/* Home */
.tpl-epure .gr-hero { padding: 2.6rem 0 4.5rem; }
.tpl-epure .gr-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 530px); gap: 4rem; margin-top: 2.4rem; }
.tpl-epure .gr-hero__text { display: flex; flex-direction: column; }
.tpl-epure .gr-job { display: flex; align-items: center; gap: 1.1rem; font-size: 15px; }
.tpl-epure .gr-job::before { content: ""; width: 40px; height: 2px; background: var(--gr-red); }
.tpl-epure .gr-hero__body { margin: auto 0; padding: 4rem 0; max-width: 34rem; }
.tpl-epure .gr-hero__photo img { display: block; width: 100%; aspect-ratio: 530 / 795; object-fit: cover; }
.tpl-epure .gr-black { background: var(--gr-ink); color: #fff; }
.tpl-epure .gr-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 2rem; margin: 0 auto; padding: 3rem 0 4rem; }
.tpl-epure .gr-facts div { padding: 1.2rem 0 1.3rem; border-top: 1px solid #4a4a48; }
.tpl-epure .gr-facts dt { margin-bottom: .55rem; color: #a3a19c; font-size: 12px; }
.tpl-epure .gr-facts dd { margin: 0; font-size: clamp(1.05rem, 1.6vw, 1.45rem); line-height: 1.25; }
.tpl-epure .gr-about { max-width: 52rem; padding-top: 4rem; color: #4b4a47; font-size: 16px; line-height: 1.75; }
.tpl-epure .gr-about p + p { margin-top: 1rem; }
.tpl-epure .folio-cv { display: inline-block; margin-top: 1.4rem; color: var(--gr-red); }
.tpl-epure .gr-teaser { padding: 5.5rem 0 6.5rem; }
.tpl-epure .gr-teaser__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 440px); gap: 2rem; align-items: start; margin-bottom: 3rem; }
.tpl-epure .gr-teaser__photos { display: grid; grid-template-columns: 4fr 2.7fr 2.7fr 3fr; gap: 1.5rem; align-items: start; }
.tpl-epure .gr-teaser__photos .gr-photo:nth-child(2) { margin-top: 3.5rem; }
.tpl-epure .gr-teaser__photos .gr-photo:nth-child(3) { margin-top: 2.2rem; }
.tpl-epure .gr-teaser__photos .gr-photo:nth-child(4) { margin-top: 5.5rem; }
.tpl-epure .gr-reach { padding: 4.5rem 0; }
.tpl-epure .gr-reach__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: 2rem; }
.tpl-epure .gr-detail { display: grid; gap: .45rem; margin-bottom: 1.5rem; font-size: clamp(1.1rem, 1.6vw, 1.45rem); }
.tpl-epure .gr-detail span { color: #a3a19c; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.tpl-epure .gr-detail a { text-decoration: none; }
.tpl-epure .gr-details--light .gr-detail span { color: var(--gr-muted); }

/* Portfolio, album and contact pages */
.tpl-epure .gr-head { padding-top: 2.4rem; }
.tpl-epure .gr-crumbs { display: flex; align-items: center; gap: .8rem; margin-bottom: 1.6rem; font-size: 13px; }
.tpl-epure .gr-crumbs > span[aria-hidden] { color: var(--gr-muted); }
.tpl-epure .gr-crumbs a { display: inline-flex; color: var(--gr-muted); text-decoration: none; }
.tpl-epure .gr-crumbs a:hover { color: var(--gr-ink); }
.tpl-epure .gr-albums { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 4rem 2.2rem; align-items: start; padding: 4rem 0 5rem; }
.tpl-epure .gr-album { display: block; text-decoration: none; }
.tpl-epure .gr-album:nth-child(5n+1) { grid-column: 1 / span 6; }
.tpl-epure .gr-album:nth-child(5n+2) { grid-column: 9 / span 4; margin-top: 7rem; }
.tpl-epure .gr-album:nth-child(5n+3) { grid-column: 1 / span 4; }
.tpl-epure .gr-album:nth-child(5n+4) { grid-column: 5 / span 4; margin-top: 5rem; }
.tpl-epure .gr-album:nth-child(5n+5) { grid-column: 9 / span 4; }
.tpl-epure .gr-album__img { display: block; overflow: hidden; }
.tpl-epure .gr-album__img img { display: block; width: 100%; aspect-ratio: 4 / 5.5; object-fit: cover; transition: transform .5s; }
.tpl-epure .gr-album:hover .gr-album__img img { transform: scale(1.03); }
.tpl-epure .gr-album__meta { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-top: 1rem; }
.tpl-epure .gr-album__meta > span:first-child { display: grid; gap: .35rem; }
.tpl-epure .gr-album__title { font-size: clamp(1.2rem, 1.8vw, 1.6rem); letter-spacing: -.02em; }
.tpl-epure .gr-album__count { color: var(--gr-muted); font-size: 13px; }
.tpl-epure .gr-arrow { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 44px; height: 44px; background: var(--gr-red); color: #fff; font-size: 20px; transition: filter .2s; }
.tpl-epure .gr-album:hover .gr-arrow { filter: brightness(1.1); }
.tpl-epure .gr-foot { display: flex; justify-content: flex-end; padding: 1.6rem 0 2.4rem; border-top: 1px solid var(--gr-ink); }
.tpl-epure .gr-foot--plain { border-top: 0; }
.tpl-epure .gr-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 4rem; padding: 2.2rem 0 1rem; }
.tpl-epure .gr-collage { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1.5rem 2rem; align-items: start; padding: 2.5rem 0 1rem; }
.tpl-epure .gr-collage .gr-photo:nth-child(7n+1) { grid-column: 1 / span 5; }
.tpl-epure .gr-collage .gr-photo:nth-child(7n+2) { grid-column: 8 / span 5; }
.tpl-epure .gr-collage .gr-photo:nth-child(7n+3) { grid-column: 1 / span 4; margin-top: 4rem; }
.tpl-epure .gr-collage .gr-photo:nth-child(7n+4) { grid-column: 7 / span 6; margin-top: 1.5rem; }
.tpl-epure .gr-collage .gr-photo:nth-child(7n+5) { grid-column: 1 / span 4; margin-top: 3rem; }
.tpl-epure .gr-collage .gr-photo:nth-child(7n+6) { grid-column: 5 / span 4; margin-top: 1.5rem; }
.tpl-epure .gr-collage .gr-photo:nth-child(7n+7) { grid-column: 9 / span 4; }
.tpl-epure .gr-pager { display: flex; justify-content: space-between; gap: 1rem; margin-top: 3rem; padding: 1.4rem 0; border-top: 1px solid var(--gr-ink); border-bottom: 1px solid var(--gr-ink); }
.tpl-epure .gr-pager a { font-size: clamp(1rem, 1.5vw, 1.2rem); text-decoration: none; }
.tpl-epure .gr-pager a:hover { color: var(--gr-red); }
.tpl-epure .gr-pager__next { margin-left: auto; }
.tpl-epure .gr-contact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 800px); gap: 3rem; padding: 3.5rem 0 5rem; }
.tpl-epure .gr-contact__side { display: flex; flex-direction: column; justify-content: space-between; gap: 2rem; padding-top: 1.5rem; }
.tpl-epure .gr-formbox { padding: 2.6rem 2.5rem; background: var(--gr-ink); color: #fff; }
.tpl-epure .gr-form { display: grid; grid-template-columns: 1fr 1fr; gap: 1.6rem 1.5rem; margin: 0; padding: 0; border: 0; background: none; }
.tpl-epure .gr-form label { display: grid; gap: .7rem; color: #e7e6e3; font-size: 14px; font-weight: 400; }
.tpl-epure .folio-cform__wide { grid-column: 1 / -1; }
.tpl-epure .folio-req { color: var(--gr-red); }
.tpl-epure .gr-form input, .tpl-epure .gr-form textarea { width: 100%; padding: .9rem 1rem; border: 1px solid #4a4a48; border-radius: 0; background: transparent; color: #fff; font: inherit; font-size: 15px; }
.tpl-epure .gr-form textarea { min-height: 8.5rem; resize: vertical; }
.tpl-epure .gr-form input:focus, .tpl-epure .gr-form textarea:focus { outline: 0; border-color: #fff; }
.tpl-epure .folio-cform__foot { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.tpl-epure .folio-cform__foot .gr-btn { margin: 0 0 0 auto; }
.tpl-epure .folio-cform__foot .gr-btn::after { content: "⟶"; font-size: 18px; }
.tpl-epure .folio-cform__note:empty { display: none; }
.tpl-epure .folio-cform__note { color: #a3a19c; font-size: 12px; }
.tpl-epure .folio-contact__status { color: #e7e6e3; }
.tpl-epure .folio-credit { background: var(--gr-ink); color: #a3a19c; }

@media (max-width: 1000px) {
	.tpl-epure .gr-hero__grid, .tpl-epure .gr-teaser__head, .tpl-epure .gr-reach__grid, .tpl-epure .gr-contact, .tpl-epure .gr-intro { grid-template-columns: 1fr; gap: 2rem; }
	.tpl-epure .gr-hero__photo { max-width: 530px; }
	.tpl-epure .gr-hero__body { padding: 2rem 0; }
	.tpl-epure .gr-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tpl-epure .gr-teaser__photos { grid-template-columns: 1fr 1fr; }
	.tpl-epure .gr-albums, .tpl-epure .gr-collage { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 1.2rem; }
	.tpl-epure .gr-albums .gr-album, .tpl-epure .gr-collage .gr-photo { grid-column: auto !important; margin-top: 0 !important; }
}
@media (max-width: 600px) {
	.tpl-epure .gr-wrap { width: calc(100% - 2rem); }
	.tpl-epure .gr-bar__inner { height: 72px; }
	.tpl-epure .gr-bar__name { min-width: 0; overflow: hidden; font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
	.tpl-epure .gr-nav { gap: 1rem; }
	.tpl-epure .gr-nav a { font-size: 11px; white-space: nowrap; }
	.tpl-epure .gr-albums { grid-template-columns: 1fr; }
	.tpl-epure .gr-form { grid-template-columns: 1fr; }
	.tpl-epure .gr-formbox { padding: 1.6rem 1.2rem; }
}
