/* Emporio Models Marrakech — MMG-inspired site. Original stylesheet. */
@font-face{font-family:"Cormorant";src:url(../fonts/cormorant.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant";src:url(../fonts/cormorant-italic.woff2) format("woff2");font-weight:300 700;font-style:italic;font-display:swap}
@font-face{font-family:"Josefin Sans";src:url(../fonts/josefin.woff2) format("woff2");font-weight:100 700;font-style:normal;font-display:swap}
@font-face{font-family:"Open Sans";src:url(../fonts/opensans.woff2) format("woff2");font-weight:300 800;font-style:normal;font-display:swap}

:root{
  --ink:#0d0d0d;--soft:#6b6762;--mute:#767069;--line:#e6e2dc;--paper:#fff;--sand:#f4efe8;--sand-2:#ebe3d8;--accent:#b8875a;
  --serif:"Cormorant",Garamond,"Times New Roman",serif;
  --caps:"Josefin Sans",Helvetica,Arial,sans-serif;
  --body:"Open Sans",system-ui,sans-serif;
  --gut:clamp(16px,2.2vw,32px);
  --hdr:124px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased}
body.is-locked{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.caps{font-family:var(--caps);text-transform:uppercase;letter-spacing:.2em;font-size:11px;line-height:1.2}
.dot{width:5px;height:5px;border-radius:50%;background:var(--accent);display:inline-block;vertical-align:middle;margin-right:8px;position:relative;top:-1px}
.skip{position:absolute;left:-999px;top:8px;z-index:200;background:#fff;padding:10px 14px}
.skip:focus{left:8px}
:focus-visible{outline:1px solid var(--ink);outline-offset:3px}

/* ---------- header ---------- */
.hdr{position:fixed;inset:0 0 auto 0;height:var(--hdr);z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--gut);transition:height .3s,box-shadow .3s}
.hdr.is-scrolled{--hdr:78px;box-shadow:0 1px 0 var(--line)}
.hdr__left{display:flex;align-items:center;gap:14px}
.hdr__left .nav{margin-left:30px}
.burger{background:none;border:0;cursor:pointer;display:flex;align-items:center;gap:12px;padding:6px 0}
.burger__lines{width:26px;height:12px;position:relative}
.burger__lines::before,.burger__lines::after{content:"";position:absolute;left:0;height:1px;background:currentColor;transition:width .3s}
.burger__lines::before{top:0;width:26px}.burger__lines::after{bottom:0;width:17px}
.burger:hover .burger__lines::after{width:26px}
.burger .caps{padding-top:2px}
.hdr__logo{display:flex;flex-direction:column;align-items:center}
.hdr__logo{line-height:0}
.hdr__logo img{height:96px;width:auto;display:block;transition:height .3s}
.hdr.is-scrolled .hdr__logo img{height:62px}
.hdr__right{display:flex;justify-content:flex-end;align-items:center;gap:26px}
.nav{display:flex;gap:24px;align-items:center}
.nav a{position:relative;padding:8px 0;display:inline-block;white-space:nowrap}
html[lang^=fr] .nav{gap:18px}
html[lang^=fr] .hdr__right{gap:20px}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.nav a:hover::after,.nav a.is-active::after{transform:scaleX(1)}
.dd{position:relative}
.dd__panel{position:absolute;top:100%;left:-18px;padding:14px 18px;background:#fff;border:1px solid var(--line);display:grid;gap:4px;min-width:140px;
  opacity:0;visibility:hidden;transform:translateY(6px);transition:.25s}
.dd:hover .dd__panel,.dd:focus-within .dd__panel,.dd.is-open .dd__panel{opacity:1;visibility:visible;transform:none}
.dd__panel a::after{bottom:4px}
.lang{display:flex;gap:7px;color:var(--soft)}
.lang a.is-active{color:var(--ink)}
.lang a:hover{color:var(--ink)}

/* ---------- overlay menu ---------- */
.menu{position:fixed;inset:0;z-index:80;background:var(--paper);display:grid;grid-template-columns:1.1fr 1fr;opacity:0;transition:opacity .45s}
.menu.is-open{opacity:1}
.menu__close{position:absolute;top:34px;left:var(--gut);background:none;border:0;cursor:pointer;z-index:2}
.menu__nav{padding:130px var(--gut) 48px calc(var(--gut) + 40px);display:flex;flex-direction:column;gap:6px;overflow:auto}
.menu__nav > a{font-family:var(--serif);font-size:clamp(40px,4.6vw,64px);line-height:1.12;font-weight:400;align-self:flex-start}
.menu__nav > a:hover,.menu__nav > a.is-active{font-style:italic}
.menu__sub{display:flex;gap:28px;margin:4px 0 14px 4px;color:var(--soft)}
.menu__sub a:hover{color:var(--ink)}
.menu__foot{margin-top:auto;padding-top:40px;display:grid;gap:12px;color:var(--soft);justify-items:start}
.menu__foot a:hover{color:var(--ink)}
.menu__img{background:center/cover no-repeat}

/* ---------- page title + tabs ---------- */
main{padding-top:var(--hdr);min-height:60vh}
.intro{text-align:center;padding:46px var(--gut) 30px}
.intro__kicker{color:var(--soft);margin-bottom:14px}
.intro h1{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(52px,6vw,84px);line-height:1;letter-spacing:-.01em}
.tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 34px;margin-top:28px}
.tabs a{position:relative;padding-bottom:7px;color:var(--ink)}
.tabs a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ink);transform:scaleX(0);transition:transform .35s}
.tabs a:hover::after,.tabs a.is-active::after{transform:scaleX(1)}
.filter{display:flex;justify-content:center;gap:26px;margin-top:22px;color:var(--soft)}
.filter button{background:none;border:0;cursor:pointer;padding:4px 0;letter-spacing:.2em;text-transform:uppercase;font:inherit;font-size:10px;border-bottom:1px solid transparent}
.filter button sup{font-size:8px;letter-spacing:.05em;margin-left:2px}
.filter button[aria-pressed="true"]{color:var(--ink);border-color:var(--ink)}
.filter button:hover{color:var(--ink)}

/* ---------- hero slides (home) ---------- */
.hero{padding:0 var(--gut)}
/* fixed shape (= tools/crop-editor "Computer" frame) so the hand-made crops look the same on every screen size */
.hero__stage{position:relative;aspect-ratio:1376.66/576;max-width:1856px;margin:0 auto;overflow:hidden;background:var(--sand)}
.hero__slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease}
.hero__slide picture{display:block;width:100%;height:100%}
.hero__slide.is-active{opacity:1}
.hero__slide img{width:100%;height:100%;object-fit:cover;object-position:var(--d-pos,50% 50%);transform-origin:var(--d-pos,50% 50%);transform:scale(calc(var(--d-s,1) * 1.04));transition:transform 7s ease-out}
.hero__slide.is-active img{transform:scale(var(--d-s,1))}
.hero__meta{max-width:1856px;margin:0 auto;display:flex;justify-content:flex-end;align-items:flex-end;gap:20px;padding:16px 0 0}
.hero__cap{font-family:var(--serif);font-size:24px;line-height:1.2}
.hero__cap em{font-style:italic;color:var(--soft)}
.hero__cap a{border-bottom:1px solid transparent}.hero__cap a:hover{border-color:currentColor}
.hero__ctrl{display:flex;align-items:center;gap:18px;color:var(--soft);white-space:nowrap}
.hero__ctrl [data-count]{white-space:nowrap;flex:none}
.hero__bars{display:flex;gap:6px}
.hero__bars button{width:36px;height:12px;border:0;background:none;cursor:pointer;position:relative}
.hero__bars button::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--line)}
.hero__bars button.is-active::before{background:var(--ink);height:2px;margin-top:-.5px}

/* ---------- sections ---------- */
.sec{padding:96px var(--gut) 0}
.sec__head{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--ink);padding-top:16px;margin-bottom:34px;gap:20px}
.sec__head h2{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3vw,42px);line-height:1}
.sec__head h2 em{font-style:italic}
.sec__head a,.sec__head span{color:var(--soft)}
.sec__head a:hover{color:var(--ink)}

/* ---------- story grid (home) ---------- */
.stories{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gut)}
.stories__col{display:flex;flex-direction:column;gap:64px}
.stories__col:nth-child(2){padding-top:110px}
.card{display:block}
.card__img{overflow:hidden;background:var(--sand)}
.card__img img{width:100%;height:auto;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.card:hover .card__img img{transform:scale(1.035)}
.card__kicker{margin:20px 0 10px;color:var(--soft)}
.card__title{font-family:var(--serif);font-weight:500;font-size:clamp(26px,2.3vw,34px);line-height:1.02;text-transform:uppercase;letter-spacing:.01em}

.press{display:flex;flex-direction:column;justify-content:space-between;background:var(--sand);padding:34px 32px 30px;min-height:420px;transition:background .4s}
.press:hover{background:var(--sand-2)}
.press__top{display:flex;justify-content:space-between;color:var(--soft)}
.press__mag{font-family:var(--serif);font-weight:500;font-size:clamp(46px,4.4vw,66px);line-height:.95;letter-spacing:.01em;margin:46px 0 22px}
.press__story{font-family:var(--serif);font-size:23px;line-height:1.3}
.press__story em{font-style:italic}
.press__more{margin-top:28px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(0,0,0,.18);padding-top:16px}
.press__more span:last-child{transition:transform .3s}
.press:hover .press__more span:last-child{transform:translateX(4px)}
.press--small{min-height:0;padding:22px 22px 18px}
.press--small .press__mag{font-size:36px;margin:22px 0 10px}
.press--small .press__story{font-size:19px}
.press--small .press__more{margin-top:18px;padding-top:12px}

.divs{display:grid;grid-template-columns:1fr 1fr;gap:var(--gut)}
.div{display:block}
.div__img{display:block;overflow:hidden;aspect-ratio:4/5;background:var(--sand)}
.div img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.div:hover img{transform:scale(1.03)}
.div__label{display:flex;justify-content:space-between;align-items:baseline;padding:18px 0 0}
.div__label strong{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(44px,4.4vw,64px);line-height:1}
.div__label .caps{color:var(--soft)}

.insta__feed{min-height:320px;margin-top:8px}
.insta .sec__head{flex-wrap:wrap;row-gap:8px}.insta .sec__head a{white-space:nowrap}
.about-strip{text-align:center;max-width:820px;margin:0 auto;padding:110px var(--gut) 0}
.about-strip h2{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(34px,3.4vw,48px);line-height:1.1}
.about-strip p{font-family:var(--serif);font-size:22px;line-height:1.55;color:#2b2926;margin:26px auto 0;max-width:680px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;margin-top:40px;padding:17px 30px 15px;border:1px solid var(--ink);background:none;cursor:pointer;transition:.3s}
.btn:hover{background:var(--ink);color:#fff}
.btn--solid{background:var(--ink);color:#fff;margin-top:0}
.btn--solid:hover{background:#fff;color:var(--ink)}

/* ---------- board ---------- */
.board{padding:16px var(--gut) 0}
.board__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:56px var(--gut)}
.mcard{display:block}
.mcard__img{display:block;position:relative;overflow:hidden;aspect-ratio:3/4;background:var(--sand)}
.mcard__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 25%;transition:opacity .7s ease,transform 1.2s cubic-bezier(.2,.7,.2,1)}
.mcard__alt{opacity:0}
.mcard:hover .mcard__alt{opacity:1}
.mcard:hover .mcard__img img{transform:scale(1.03)}
.mcard__meta{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:16px}
.mcard__name{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(22px,1.9vw,28px);line-height:1.05;letter-spacing:.01em}
.mcard__h{color:var(--mute);white-space:nowrap;font-size:10px}
.mcard__kicker{display:block;color:var(--soft);margin-top:8px}
.mcard[data-in-town="true"] .mcard__name::after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-left:10px;vertical-align:middle;position:relative;top:-3px}
.board__empty{text-align:center;font-family:var(--serif);font-size:22px;color:var(--soft);padding:40px 0}

/* ---------- profile ---------- */



/* lightbox */

/* booking modal */
.modal{position:fixed;inset:0;z-index:110;display:flex;justify-content:flex-end}
.modal__backdrop{position:absolute;inset:0;background:rgba(13,13,13,.38)}
.modal__panel{position:relative;width:min(520px,100%);height:100%;overflow:auto;background:#fff;padding:70px 44px 40px;animation:slidein .45s cubic-bezier(.2,.7,.2,1)}
@keyframes slidein{from{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}
.modal__close{position:absolute;top:28px;right:32px;background:none;border:0;cursor:pointer}
.modal__kicker{color:var(--soft)}
.modal__title{font-family:var(--serif);font-style:italic;font-weight:400;font-size:46px;line-height:1;margin:12px 0 30px}

/* ---------- forms (live fields, restyled) ---------- */
.formwrap form{display:grid;gap:0}
.form-section{border:0;padding:0;margin:0 0 56px}
.form-section__title{font-family:var(--serif);font-style:italic;font-size:32px;font-weight:400;padding:0 0 18px;margin-bottom:18px;border-bottom:1px solid var(--ink);width:100%}
.form-section__help,.form-hint,.form-hint-list{font-family:var(--body);font-size:13px;line-height:1.6;color:var(--soft)}
.form-section__help{margin:0 0 20px;max-width:720px}
.form-hint{margin-top:8px}
.form-hint-list{margin:6px 0 10px 18px}
.form-row{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}
.form-row label,.form-row__legend{font-family:var(--caps);text-transform:uppercase;letter-spacing:.18em;font-size:10px;color:var(--soft)}
.form-row input,.form-row select,.form-row textarea{font-family:var(--body);font-size:15px;color:var(--ink);background:transparent;border:0;border-bottom:1px solid #cfc9c1;border-radius:0;padding:10px 0;width:100%;outline:none;transition:border-color .25s;-webkit-appearance:none;appearance:none}
.form-row select{background-image:linear-gradient(45deg,transparent 50%,var(--soft) 50%),linear-gradient(135deg,var(--soft) 50%,transparent 50%);background-position:calc(100% - 10px) 52%,calc(100% - 5px) 52%;background-size:5px 5px;background-repeat:no-repeat;padding-right:24px}
.form-row textarea{min-height:120px;resize:vertical}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--ink)}
.form-row input::placeholder,.form-row textarea::placeholder{color:#b8b2aa;letter-spacing:.04em}
.form-grid--4{display:grid;grid-template-columns:repeat(4,1fr);gap:0 24px}
.form-radios{display:flex;flex-wrap:wrap;gap:12px 26px;padding-top:6px}
.form-radio{display:flex;align-items:center;gap:8px;font-family:var(--body);font-size:14px;cursor:pointer}
.form-radio input{width:16px;height:16px;accent-color:var(--ink)}
.form-notices{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 26px}
.form-notice{background:var(--sand);padding:20px 22px;font-size:13px;line-height:1.6}
.form-notice strong{display:block;font-family:var(--caps);text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:400;margin-bottom:8px}
.form-notice ul{margin-left:16px;color:#3c3934}
.form-submit{justify-self:start;margin-top:8px;padding:17px 40px 15px;border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;font-family:var(--caps);text-transform:uppercase;letter-spacing:.2em;font-size:11px;transition:.3s}
.form-submit:hover{background:#fff;color:var(--ink)}
.form-submit:disabled{opacity:.5;cursor:wait}
.form-note{font-size:12px;color:var(--soft);margin-top:16px;line-height:1.6}
.form-note a{border-bottom:1px solid currentColor}
.form-status{font-family:var(--serif);font-size:24px;padding:30px 0}
.form-status.is-error{font-family:var(--body);font-size:14px;color:#a3402c;padding:12px 0}

/* ---------- inner pages ---------- */
.page-hero{padding:0 var(--gut)}
.page-hero img{width:100%;aspect-ratio:var(--ratio,2/1);max-height:68vh;object-fit:cover;background:var(--sand)}
.lead{max-width:780px;margin:70px auto 0;padding:0 var(--gut);text-align:center}
.lead p{font-family:var(--serif);font-size:23px;line-height:1.55;color:#2b2926}
.lead p + p{margin-top:16px}
.lead a{border-bottom:1px solid currentColor}
.formwrap--apply{max-width:980px;margin:80px auto 0;padding:0 var(--gut)}
.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(30px,6vw,110px);padding:80px var(--gut) 0;max-width:1240px;margin:0 auto}
.contact-aside{position:sticky;top:110px;align-self:start}
.contact-details h2,.faq h2{font-family:var(--serif);font-style:italic;font-weight:400;font-size:34px;margin-bottom:22px}
.contact-details__list{display:grid}
.contact-details__item{padding:16px 0;border-bottom:1px solid var(--line)}
.contact-details__item:first-child{border-top:1px solid var(--line)}
.contact-details__item dt{font-family:var(--caps);text-transform:uppercase;letter-spacing:.18em;font-size:10px;color:var(--mute);margin-bottom:8px}
.contact-details__item dd{font-family:var(--serif);font-size:21px;line-height:1.4}
.contact-details__item a:hover{border-bottom:1px solid currentColor}
.contact-details__note{margin-top:20px;font-size:13px;line-height:1.6;color:var(--soft)}
.faqwrap{max-width:900px;margin:0 auto;padding:110px var(--gut) 0}
.faq h2{text-align:center;font-size:clamp(34px,3.4vw,46px);margin-bottom:34px}
.faq__item{border-top:1px solid var(--line)}
.faq__item:last-child{border-bottom:1px solid var(--line)}
.faq__item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;font-family:var(--serif);font-size:24px;line-height:1.25}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"+";font-family:var(--caps);font-size:20px;color:var(--soft);transition:transform .3s}
.faq__item[open] summary::after{transform:rotate(45deg)}
.faq__answer{padding:0 0 24px;max-width:760px}
.faq__answer p{font-size:15px;line-height:1.75;color:#3c3934}
.faq__answer a{border-bottom:1px solid currentColor}

.about__body{max-width:1100px;margin:90px auto 0;padding:0 var(--gut)}
.about__section{display:grid;grid-template-columns:1fr 1.6fr;gap:0 clamp(30px,6vw,100px);padding:40px 0;border-top:1px solid var(--line)}
.about__section > h2{grid-column:1;grid-row:1 / span 20;font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(30px,3vw,40px);line-height:1.1}
.about__section > :not(h2){grid-column:2}
.about__section > :not(h2) ~ :not(h2){margin-top:18px}
.about__section p{font-family:var(--serif);font-size:21px;line-height:1.6;color:#2b2926}
.about__section h3{font-family:var(--caps);text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:400;color:var(--soft);margin-top:8px}
.about__section a{border-bottom:1px solid currentColor}
.founders{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.founders__name{font-size:30px!important;line-height:1.1!important;margin-bottom:10px}
.founders .caps{color:var(--soft);font-size:10px}
.about-cta{text-align:center}
.lead--nf{margin-top:40px}

/* ---------- footer ---------- */
.ftr{margin-top:130px;border-top:1px solid var(--line);padding:56px var(--gut) 30px}
.ftr__top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px}
.ftr__word img{height:84px;width:auto;margin:0 auto;display:block}
.ftr__contact{display:flex;flex-direction:column;gap:12px;color:var(--soft);align-items:flex-start}
.ftr__nav{display:flex;flex-direction:column;gap:12px;align-items:flex-end;color:var(--soft)}
.ftr a:hover{color:var(--ink)}
.ftr__bottom{display:flex;justify-content:space-between;margin-top:48px;color:var(--mute);font-size:10px}

/* ---------- reveal ---------- */
.js .rv{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease}
.js .rv.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}.hero__slide img,.hero__slide.is-active img{transition:none;transform:scale(var(--d-s,1))}}

/* ---------- responsive ---------- */
@media (max-width:1279px){html[lang^=fr] .nav{display:none}}
@media (max-width:1199px){
  .nav{display:none}
  .board__grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:900px){
  .contact-grid{grid-template-columns:1fr}
  .contact-aside{position:static}
  .about__section{grid-template-columns:1fr}
  .about__section > h2,.about__section > :not(h2){grid-column:1;grid-row:auto}
  .about__section > h2{margin-bottom:18px}
}
@media (max-width:760px){
  :root{--hdr:72px}
  .hdr__logo img{height:54px}
  .hdr.is-scrolled .hdr__logo img{height:46px}
  .hdr.is-scrolled{--hdr:62px}
  .burger .caps{display:none}
  .intro{padding:30px 18px 22px}
  .intro h1{font-size:54px}
  .tabs{gap:10px 16px;margin-top:22px;flex-wrap:nowrap}
  .tabs a{font-size:10px;letter-spacing:.14em;white-space:nowrap}
  .hero__stage{height:auto;aspect-ratio:4/5;min-height:0}
  .hero__slide img{object-position:50% 50%;transform-origin:50% 50%;transform:scale(1.04)}
  .hero__slide.is-active img{transform:none}
  .hero__cap{font-size:20px}
  .hero__bars button{width:22px}
  .sec{padding-top:70px}
  .stories{grid-template-columns:1fr;gap:48px}
  .stories__col{gap:48px}
  .stories__col:nth-child(2){padding-top:0}
  .press{min-height:0;padding:28px 24px 24px}
  .press__mag{margin:30px 0 16px}
  .divs{gap:10px}
  .div__label{flex-direction:column;align-items:flex-start;gap:8px;padding-top:12px}
  .div__label strong{font-size:36px}
  .about-strip{padding-top:80px}
  .about-strip p,.lead p{font-size:19px}
  .board__grid{grid-template-columns:repeat(2,1fr);gap:34px 12px}
  .mcard__meta{flex-direction:column;gap:6px;margin-top:12px}
  .mcard__name{font-size:21px}
  .modal__panel{padding:64px 22px 30px}
  .form-grid--4{grid-template-columns:1fr 1fr}
  .form-notices{grid-template-columns:1fr}
  .menu{grid-template-columns:1fr}.menu__img{display:none}
  .menu__nav{padding:96px 24px 40px}
  .menu__nav > a{font-size:42px}
  .ftr{margin-top:90px}
  .ftr__top{grid-template-columns:1fr;text-align:center}
  .ftr__contact,.ftr__nav{align-items:center}
  .ftr__word{order:-1}
  .ftr__word img{height:70px}
  .ftr__bottom{flex-direction:column;gap:12px;align-items:center;text-align:center;line-height:1.7}
  .founders{grid-template-columns:1fr}
}

/* ---------- profile / book (v2: centred header, measurement strip, full-width ordered masonry, light lightbox) ---------- */
.pf{padding:0 var(--gut)}
.pf__head{text-align:center;padding:64px 0 46px;max-width:1100px;margin:0 auto}
.pf__kicker{color:var(--soft)}
.pf__name{font-family:var(--serif);font-style:italic;font-weight:400;font-size:48px;line-height:1.05;letter-spacing:-.01em;margin-top:18px}   /* cap height ~ the header wordmark */
.pf__meas{display:flex;flex-wrap:wrap;justify-content:center;gap:18px 0;margin:44px auto 0}
.pf__meas div{min-width:112px;padding:0 18px;display:grid;gap:12px;align-content:start}
.pf__meas div + div{border-left:1px solid var(--line)}
.pf__meas dt{color:var(--mute);font-size:10px}
.pf__meas dd{color:var(--ink);font-size:12px;letter-spacing:.16em}
.pf__ig{display:inline-flex;margin-top:26px;color:var(--soft);transition:color .25s}
.pf__ig:hover{color:var(--ink)}
.pf__actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px 30px;margin-top:38px;color:var(--soft)}
.pf__actions a,.pf__actions button{background:none;border:0;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;padding:6px 0;border-bottom:1px solid transparent;transition:color .25s,border-color .25s}
.pf__actions a:hover,.pf__actions button:hover{color:var(--ink);border-color:var(--ink)}
.pf__actions .pf__book{color:#fff;background:var(--ink);padding:13px 24px 11px;border:1px solid var(--ink)}
.pf__actions .pf__book:hover{background:#fff;color:var(--ink)}
.book__grid{columns:3 280px;column-gap:20px}
.book{margin:0 calc(24px - var(--gut))}  /* MMG: book runs to 24px from the viewport edge */
.book__grid.is-masonry{columns:auto;display:flex;align-items:flex-start;gap:20px}
.book__col{flex:1 1 0;min-width:0;display:grid;gap:34px 0}  /* MMG: 20px gutter, ~34px between rows */
.book__shot{display:block;width:100%;margin:0 0 20px;padding:0;border:0;background:var(--sand);cursor:zoom-in;break-inside:avoid;overflow:hidden}
.is-masonry .book__shot{margin:0}
.book__shot img{width:100%;height:auto;transition:transform 1s cubic-bezier(.2,.7,.2,1),opacity .4s}
.book__shot:hover img{transform:scale(1.025)}
.pf__foot{max-width:1100px;margin:0 auto;padding:70px 0 10px}
.pf__press{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-bottom:56px}
.pf__pn{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:26px;color:var(--soft);font-size:10px}
.pf__pn a:hover{color:var(--ink)}
.pf__print{display:none}
.hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.form-files{margin:8px 0 26px}
.form-files .form-hint{margin:6px 0 4px}
.form-row--file input[type=file]{font-size:12px;padding:10px 0;border-bottom:1px solid #cfc9c1;cursor:pointer}
.form-row--file input[type=file]::file-selector-button{font-family:var(--caps);text-transform:uppercase;letter-spacing:.14em;font-size:10px;background:var(--ink);color:#fff;border:0;padding:8px 12px;margin-right:10px;cursor:pointer}
.pf__toplogo{display:none}
.mobile-book{display:none}

/* lightbox: light veil over the page, single image, caption + counter, quiet arrows */
.lb{position:fixed;inset:0;z-index:120;background:rgba(255,255,255,.93);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;grid-template-columns:90px 1fr 90px;align-items:center;animation:lbIn .3s ease}
@keyframes lbIn{from{opacity:0}to{opacity:1}}
.lb__fig{grid-column:2;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-width:0;padding:34px 0 18px}
.lb__fig img{max-width:100%;max-height:calc(100vh - 100px);width:auto;height:auto;object-fit:contain;cursor:pointer;box-shadow:0 18px 50px rgba(0,0,0,.08);transition:opacity .3s}
.lb__fig img.is-loading{opacity:.15}
.lb__cap{display:flex;gap:18px;color:var(--soft)}
.lb__cap span:first-child{color:var(--ink)}
.lb__close{position:absolute;top:22px;right:var(--gut);width:44px;height:44px;background:none;border:0;cursor:pointer}
.lb__close span,.lb__close span::after{position:absolute;left:10px;top:21px;width:24px;height:1px;background:var(--ink);transform:rotate(45deg);content:""}
.lb__close span::after{left:0;top:0;transform:rotate(90deg)}
.lb__nav{height:100%;background:none;border:0;cursor:pointer;position:relative;opacity:.45;transition:opacity .25s}
.lb__nav:hover{opacity:1}
.lb__nav span{position:absolute;top:50%;left:50%;width:18px;height:18px;border-left:1px solid var(--ink);border-bottom:1px solid var(--ink);transform:translate(-30%,-50%) rotate(45deg)}
.lb__nav--next span{transform:translate(-70%,-50%) rotate(-135deg)}
.lb__nav--prev{grid-column:1;grid-row:1}.lb__nav--next{grid-column:3;grid-row:1}

@media (max-width:900px){
  .pf__head{padding:44px 0 34px}
  .pf__meas{display:grid;grid-template-columns:repeat(3,1fr);gap:20px 0;max-width:420px}
  .pf__meas div{min-width:0;padding:0 6px}
  .pf__meas div + div{border-left:0}
}
@media (max-width:760px){
  .pf__name{font-size:28px;margin-top:12px}
  .pf__meas{margin-top:32px}
  .pf__actions{margin-top:28px;gap:10px 22px}
  .pf__actions .pf__book,.pf__actions .pf__wa{display:none}
  .book__grid{columns:2;column-gap:10px}
  .book{margin:0 calc(24px - var(--gut))}
  .book__grid.is-masonry{gap:12px}
  .book__col{gap:22px 0}
  .book__shot{margin-bottom:10px}
  .pf__foot{padding:46px 0 100px}
  .pf__pn{font-size:9px}
  .mobile-book{display:grid;grid-template-columns:1fr auto;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:14px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(to top,#fff 72%,rgba(255,255,255,0))}
  .mobile-book .btn{width:100%;margin-top:0;padding:15px 18px 13px}
  .mobile-book .btn--wa{background:#fff}
  .lb{grid-template-columns:1fr}
  .lb__fig{grid-column:1;grid-row:1;padding:70px 12px 24px}
  .lb__fig img{max-height:calc(100vh - 150px)}
  .lb__nav{position:absolute;bottom:14px;width:56px;height:56px;opacity:.6}
  .lb__nav--prev{left:8px}.lb__nav--next{right:8px}
  .lb__nav span{width:12px;height:12px}
  .lb__close{top:14px}
}

/* comp card print (Book → "Comp card (PDF)" uses the browser's Save as PDF) */
@media print{
  @page{size:A4 portrait;margin:12mm}
  body{background:#fff}
  .hdr,.menu,.ftr,footer.ftr,.mobile-book,.lb,.modal,.pf__actions,.pf__foot,.pf__ig,.skip{display:none!important}
  main{padding:0!important}
  .pf{padding:0}
  .pf__head{padding:0 0 8mm}
  .pf__kicker{display:none}
  .pf__name{font-size:40pt;margin:0}
  .pf__meas{margin-top:6mm;display:flex!important;flex-wrap:nowrap;justify-content:center;max-width:none}
  .pf__meas div{min-width:0;padding:0 9px}
  .pf__meas div + div{border-left:1px solid #ddd}
  .pf__meas dt{font-size:6.5pt}.pf__meas dd{font-size:7.5pt;letter-spacing:.1em}
  .book{margin:0!important}
  .book__grid,.book__grid.is-masonry{display:grid!important;grid-template-columns:repeat(3,1fr);gap:4mm;columns:auto}
  .book__col{display:contents}
  .book__shot{margin:0;background:none;aspect-ratio:3/4;overflow:hidden}
  .book__shot img{width:100%;height:100%;object-fit:cover;transform:none!important}
  .book__shot:nth-child(n+7){display:none}
  .pf__print{display:flex!important;flex-direction:column;align-items:center;gap:2mm;margin-top:8mm;font-family:var(--caps);font-size:8pt;letter-spacing:.15em;text-transform:uppercase;color:#333}
  .pf__toplogo{display:block!important;height:22mm;width:auto;margin:0 auto 4mm}
  .pf__printlogo{height:14mm;width:auto}
  .pf__print span{letter-spacing:.08em}
}
.lb :focus-visible{outline-color:var(--line)}
.lb:focus{outline:none}
body.is-locked .mobile-book{visibility:hidden}

/* ---------- wide wordmark logo (body.logo-wide, set by the build when src/static/logo.svg is wider than 4:1) ---------- */
body.logo-wide{--hdr:90px}
.logo-wide .hdr.is-scrolled{--hdr:64px}
.logo-wide .hdr__logo img{height:30px}
.logo-wide .hdr.is-scrolled .hdr__logo img{height:22px}
@media (min-width:761px) and (max-width:1280px){.logo-wide .hdr:not(.is-scrolled) .hdr__logo img{height:26px}}
@media (min-width:761px) and (max-width:1500px){html[lang^=fr] .logo-wide .hdr:not(.is-scrolled) .hdr__logo img{height:26px}}
.logo-wide .ftr__word img{height:34px}
@media (max-width:760px){
  body.logo-wide{--hdr:64px}
  .logo-wide .hdr.is-scrolled{--hdr:56px}
  .logo-wide .hdr__logo img{height:15px}
  .logo-wide .hdr.is-scrolled .hdr__logo img{height:14px}
  .logo-wide .ftr__word img{height:22px}
}
@media print{
  .logo-wide .pf__toplogo{height:6mm;margin:0 auto 6mm}
  .logo-wide .pf__printlogo{height:4.5mm;margin-bottom:1mm}
}

/* ---------- journal (blog) + FAQ page — appended to site.css by integration/apply.py ---------- */
.jr-index{max-width:1240px;margin:80px auto 0;padding:0 var(--gut)}
.jr-card a{display:block}
.jr-card__img{display:block;overflow:hidden;background:var(--sand);aspect-ratio:4/5}
.jr-card__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.jr-card a:hover .jr-card__img img{transform:scale(1.035)}
.jr-card__txt{display:block}
.jr-card__kicker{display:block;margin:20px 0 12px;color:var(--soft)}
.jr-card__title{font-family:var(--serif);font-weight:500;font-size:clamp(26px,2.2vw,32px);line-height:1.08;letter-spacing:.005em}
.jr-card__excerpt{display:block;margin-top:12px;font-size:15px;line-height:1.7;color:#3c3934;max-width:520px}
.jr-card__more{display:inline-flex;gap:10px;margin-top:18px;padding-bottom:6px;border-bottom:1px solid var(--ink)}
.jr-card--feat{margin-bottom:90px}
.jr-card--feat a{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(30px,5vw,80px);align-items:center}
.jr-card--feat .jr-card__img{aspect-ratio:16/11}
.jr-card--feat .jr-card__title{font-style:italic;font-weight:400;font-size:clamp(38px,4vw,58px);line-height:1.02}
.jr-card--feat .jr-card__excerpt{font-family:var(--serif);font-size:22px;line-height:1.5;color:#2b2926}
.jr-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:70px clamp(24px,3vw,48px)}
.jr-grid--3{grid-template-columns:repeat(3,1fr)}
.jr-cta-strip p{max-width:620px}
.jr-cta__btns{display:flex;flex-wrap:wrap;justify-content:center;gap:0 16px}
/* post */
.jr{max-width:1100px;margin:0 auto;padding:46px var(--gut) 0}
.jr__head{text-align:center;max-width:860px;margin:0 auto}
.jr__crumbs{display:flex;justify-content:center;gap:10px;color:var(--soft)}
.jr__crumbs a:hover{color:var(--ink)}
.jr__kicker{margin:22px 0 18px;color:var(--soft)}
.jr__title{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(40px,5vw,72px);line-height:1.02;letter-spacing:-.005em}
.jr__by{margin-top:22px;color:var(--mute);font-size:10px}
.jr__hero{margin:50px auto 0;max-width:620px}
.jr__hero.jr__fig--wide{max-width:none}
.jr__hero img{width:100%;height:auto;max-height:82vh;object-fit:cover;background:var(--sand)}
.jr__hero figcaption,.jr__fig figcaption{margin-top:12px;color:var(--soft);font-size:10px}
.jr__hero figcaption a,.jr__fig figcaption a{border-bottom:1px solid currentColor}
.jr__body{max-width:720px;margin:64px auto 0}
.jr__body > * + *{margin-top:22px}
.jr__body p,.jr__body li{font-family:var(--serif);font-size:21px;line-height:1.62;color:#2b2926}
.jr__body .jr__lede{font-size:25px;line-height:1.5;color:var(--ink)}
.jr__body h2{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(30px,3vw,40px);line-height:1.1;margin-top:58px;padding-top:28px;border-top:1px solid var(--line)}
.jr__body h3{font-family:var(--serif);font-weight:500;font-size:24px;line-height:1.25;margin-top:30px}
.jr__body h2 + p,.jr__body h3 + p,.jr__body h2 + ul,.jr__body h2 + h3{margin-top:16px}
.jr__body ul{list-style:none;padding:0}
.jr__body li{position:relative;padding-left:26px}
.jr__body li + li{margin-top:10px}
.jr__body li::before{content:"";position:absolute;left:2px;top:.78em;width:12px;height:1px;background:var(--accent)}
.jr__body strong{font-weight:600}
.jr__body a{border-bottom:1px solid currentColor}
.jr__body a:hover{color:var(--accent)}
.jr__fig{margin:46px auto!important;max-width:520px}
.jr__fig.jr__fig--wide{max-width:none;margin-left:calc(-1 * min(190px,(100vw - 720px) / 2))!important;margin-right:calc(-1 * min(190px,(100vw - 720px) / 2))!important}
.jr__fig img{width:100%;height:auto;background:var(--sand)}
.jr__cta{max-width:720px;margin:70px auto 0;padding:40px 34px;background:var(--sand);text-align:center}
.jr__cta-h{font-family:var(--serif);font-style:italic;font-size:34px;line-height:1.1}
.jr__cta p:not(.jr__cta-h){margin:14px auto 0;max-width:520px;font-size:15px;line-height:1.7;color:#3c3934}
.jr__cta .btn{margin-top:26px}
.jr__cta .btn--solid:hover{background:var(--sand)}
.jr-more{padding-top:110px}
.jr-grid--3 .jr-card__title{font-size:clamp(23px,1.9vw,28px)}
/* FAQ page */
.faqnav{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;max-width:900px;margin:46px auto 0;padding:0 var(--gut);color:var(--soft)}
.faqnav a:hover{color:var(--ink)}
.faqwrap--page{padding-top:40px}
.faq--group{padding-top:60px;scroll-margin-top:140px}
.faq--group h2{text-align:left;font-size:clamp(28px,2.8vw,38px);margin-bottom:18px}
.faq__item{scroll-margin-top:140px}
.faq__answer p + p{margin-top:12px}
.faq__all{text-align:center}
.faq__all .btn{margin-top:34px}
@media (max-width:900px){
  .jr-card--feat a{grid-template-columns:1fr;gap:0}
  .jr-grid--3{grid-template-columns:1fr 1fr}
  .jr-grid--3 .jr-card:nth-child(3){display:none}
  .jr__fig.jr__fig--wide{margin-left:0!important;margin-right:0!important}
}
@media (max-width:760px){
  .jr-index{margin-top:50px}
  .jr-card--feat{margin-bottom:60px}
  .jr-grid,.jr-grid--3{grid-template-columns:1fr;gap:56px}
  .jr-grid--3 .jr-card:nth-child(3){display:block}
  .jr{padding-top:30px}
  .jr__title{font-size:42px}
  .jr__hero{margin-top:34px}
  .jr__body{margin-top:44px}
  .jr__body p,.jr__body li{font-size:19px}
  .jr__body .jr__lede{font-size:22px}
  .jr__body h2{margin-top:44px;padding-top:22px}
  .jr__body h3{font-size:22px}
  .jr__cta{padding:32px 20px}
  .jr__cta-h{font-size:28px}
  .jr-cta__btns .btn{width:100%}
  .faq--group{padding-top:44px;scroll-margin-top:90px}
  .faq__item summary{font-size:21px}
  .jr-more{padding-top:80px}
}

/* ---------- split header menu with Journal + FAQ (right side) ----------
   >=1500 (FR >=1520): full spacing.  Compact band below that: tighter tracking/gaps and a 26px logo.
   FR compact band also drops the "Menu" word next to the burger icon (FR labels are longer).
   Below 1200 (FR 1280) the inline menus hide and the burger menu carries every link.  Checked 1024-1920, EN+FR, top + scrolled. */
@media (min-width:1200px) and (max-width:1499px){
  .hdr .nav{gap:16px}
  .hdr .nav a,.hdr .lang{letter-spacing:.15em}
  .hdr__left .nav{margin-left:20px}
  .hdr__right{gap:18px}
  .logo-wide .hdr:not(.is-scrolled) .hdr__logo img{height:26px}
}
@media (min-width:1280px) and (max-width:1519px){
  html[lang^=fr] .hdr .nav{gap:16px}
  html[lang^=fr] .hdr .nav a,html[lang^=fr] .hdr .lang{letter-spacing:.15em}
  html[lang^=fr] .hdr__left .nav{margin-left:20px}
  html[lang^=fr] .hdr__right{gap:18px}
  html[lang^=fr] .burger .caps{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}

/* ---------- journal: apply tutorials (native photos + self-hosted videos) ---------- */
.tut__jump{display:flex;flex-wrap:wrap;gap:14px}
.tut__jump .btn{margin-top:0}
.tut{margin-top:56px!important;scroll-margin-top:110px}
.jr__body .tut h3{font-family:var(--serif);font-style:italic;font-weight:400;font-size:28px;line-height:1.2;margin-top:44px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.tut__tag{font-style:normal;font-size:10px;color:#b3261e;letter-spacing:.2em}
.tut__tag--opt{color:#3d7a3d}
.tut__grid{display:grid;gap:10px;margin-top:18px!important;width:min(1100px,calc(100vw - 2*var(--gut)));position:relative;left:50%;transform:translateX(-50%)}
.tut__grid--4{grid-template-columns:repeat(4,1fr)}
.tut__grid--3{grid-template-columns:repeat(3,1fr);width:min(860px,calc(100vw - 2*var(--gut)))}
.tut__ph{margin:0}
.tut__ph img{display:block;width:100%;height:auto;background:#f3f1ee}
.tut__ph figcaption{margin-top:8px;text-align:center;font-size:10px;color:var(--soft)}
.tut__vids{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:18px!important;align-items:start}
.tut__vh{font-family:var(--caps)!important;text-transform:uppercase;letter-spacing:.2em;font-size:11px!important;margin-bottom:10px;color:var(--ink)!important}
.tut__vid{display:block;width:100%;height:auto;max-height:640px;background:#111;object-fit:contain}
.tut__v ul{margin-top:12px;padding-left:18px}
.jr__body .tut__v li{font-size:17px;line-height:1.5}
.jr__body .tut__note{font-size:10px;color:var(--soft);margin-top:14px}
@media (max-width:760px){
  .tut__grid--4,.tut__grid--3{grid-template-columns:repeat(2,1fr)}
  .tut__grid--3 .tut__ph:last-child{grid-column:1/-1;width:calc(50% - 5px);justify-self:center}
  .tut__vids{grid-template-columns:1fr;gap:34px}
  .tut__vid{max-height:none}
  .jr__body .tut h3{font-size:24px}
}
.apply-tut{margin-top:18px}
.apply-tut a{text-decoration:underline;text-underline-offset:3px}
