@font-face{font-family:"EB Garamond";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/eb-garamond-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"EB Garamond";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/eb-garamond-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"EB Garamond";font-style:italic;font-weight:400;font-display:swap;src:url(fonts/eb-garamond-latin-400-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"EB Garamond";font-style:italic;font-weight:400;font-display:swap;src:url(fonts/eb-garamond-latin-ext-400-italic.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"EB Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/eb-garamond-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"EB Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/eb-garamond-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"EB Garamond";font-style:italic;font-weight:500;font-display:swap;src:url(fonts/eb-garamond-latin-500-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"EB Garamond";font-style:italic;font-weight:500;font-display:swap;src:url(fonts/eb-garamond-latin-ext-500-italic.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Jost";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/jost-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Jost";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/jost-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Jost";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/jost-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Jost";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/jost-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
/* LSR Advisor — quiet luxury: ivory ground, antique gold, Garamond, black-and-white architecture, generous air. */
:root{
  --ivory:#FBF6F2;
  --paper:#F3EBE2;
  --ink:#2B2520;
  --muted:#7A6F62;
  --gold:#8F7745;
  --gold-soft:#C7B590;
  --rule:#E2D7C9;
  --display:"EB Garamond",Garamond,"Times New Roman",serif;
  --body:"EB Garamond",Garamond,Georgia,serif;
  --label:"Jost","Gill Sans","Helvetica Neue",Arial,sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --ivory:#191613;--paper:#211D19;--ink:#ECE3D6;--muted:#A3978A;--gold:#CBB68B;--gold-soft:#7E6E52;--rule:#332D26;color-scheme:dark}}
:root[data-theme="dark"]{--ivory:#191613;--paper:#211D19;--ink:#ECE3D6;--muted:#A3978A;--gold:#CBB68B;--gold-soft:#7E6E52;--rule:#332D26;color-scheme:dark}

*{box-sizing:border-box}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--body);font-size:1.12rem;line-height:1.65;-webkit-font-smoothing:antialiased}
html:not([lang="es"]) .es, html:not([lang="fr"]) .fr, html[lang="es"] .en, html[lang="fr"] .en{display:none!important}
a{color:inherit}
:focus-visible{outline:1px solid var(--gold);outline-offset:4px}
p{margin:0}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.gut{padding-left:max(28px,env(safe-area-inset-left,0px));padding-right:max(28px,env(safe-area-inset-right,0px))}
@media (max-width:480px){.gut{padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px))}}

.label{font-family:var(--label);font-size:.68rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:500}
h1,h2{font-family:var(--display);font-weight:300;color:var(--gold);text-wrap:balance;margin:0;line-height:1.1}
h1{font-size:clamp(2.3rem,4.4vw,3.7rem)}
h2{font-size:clamp(1.8rem,3vw,2.5rem)}

/* ---------- Header ---------- */
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--ivory)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:18px;max-width:1360px;margin-inline:auto}
.mark{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--gold);line-height:1}
.mark b{font-family:var(--display);font-weight:400;font-size:1.85rem;letter-spacing:.08em}
.mark small{font-family:var(--display);font-size:.52rem;letter-spacing:.34em;margin-top:5px;padding-top:5px;border-top:1px solid var(--gold-soft)}
nav.main{display:flex;align-items:center;gap:34px}
.navlinks{display:flex;align-items:center;gap:34px}
.navlinks>a,.dd>button{font-family:var(--label);font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;color:var(--muted);background:none;border:0;padding:8px 0;cursor:pointer}
.navlinks>a:hover,.dd>button:hover,.navlinks>a[aria-current="page"],.dd.cur>button{color:var(--gold)}
.dd{position:relative}
.dd>button::after{content:"";display:inline-block;width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin-left:9px;vertical-align:3px}
.panel{position:absolute;top:100%;left:-22px;min-width:250px;background:var(--ivory);border:1px solid var(--rule);padding:14px 0;display:none}
.dd:hover .panel,.dd:focus-within .panel,.dd.open .panel{display:block}
.panel a{display:block;padding:9px 22px;font-family:var(--display);font-size:1.15rem;text-decoration:none;color:var(--ink)}
.panel a:hover,.panel a[aria-current="page"]{color:var(--gold)}
.lang{display:flex;gap:2px}
.lang button{font-family:var(--label);font-size:.66rem;letter-spacing:.18em;background:none;border:0;color:var(--muted);padding:6px 6px;cursor:pointer}
.lang button[aria-pressed="true"]{color:var(--gold);text-decoration:underline;text-underline-offset:6px}
.menubtn{display:none;font-family:var(--label);font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;background:none;border:0;color:var(--gold);cursor:pointer;padding:8px 0}
@media (max-width:900px){
  .navlinks{display:none}
  .menubtn{display:block}
  body.menu-open .navlinks{display:flex;position:fixed;inset:0;top:calc(76px + env(safe-area-inset-top,0px));background:var(--ivory);flex-direction:column;align-items:flex-start;gap:6px;padding:28px max(28px,env(safe-area-inset-left,0px)) 40px;overflow:auto}
  body.menu-open .dd{width:100%}
  body.menu-open .dd>button{pointer-events:none;padding-top:18px}
  body.menu-open .dd>button::after{display:none}
  body.menu-open .panel{display:block;position:static;border:0;padding:4px 0 8px;min-width:0}
  body.menu-open .panel a{padding:6px 0;font-size:1.5rem}
  body.menu-open .navlinks>a{padding-top:18px}
}

/* ---------- Page: split image / text ---------- */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:min(82vh,820px);max-width:1360px;margin-inline:auto}
.split .img{position:relative;overflow:hidden;background:var(--paper)}
.split .img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;animation:fade 1.4s ease both}
.split .txt{display:flex;flex-direction:column;justify-content:center;gap:26px;padding-block:72px;padding-inline:clamp(28px,6vw,96px);min-width:0}
.split.rev .img{order:2}
.lead{font-size:1.2rem;color:var(--ink);max-width:30em}
.quiet{color:var(--muted)}
.items{list-style:none;padding:0;margin:6px 0 0;display:grid;max-width:30em}
.items li{font-family:var(--display);font-size:1.4rem;line-height:1.3;padding-block:13px;border-top:1px solid var(--rule)}
.items li:last-child{border-bottom:1px solid var(--rule)}
.items li small{display:block;font-family:var(--body);font-size:.98rem;color:var(--muted);margin-top:4px;line-height:1.45}
.coda{font-family:var(--display);font-style:italic;font-size:1.4rem;color:var(--gold)}
.more{font-family:var(--label);font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);text-decoration:none;border-bottom:1px solid var(--gold-soft);padding-bottom:4px;align-self:flex-start}
.more:hover{border-color:var(--gold)}
@media (max-width:860px){
  .split{grid-template-columns:1fr;min-height:0}
  .split .img{aspect-ratio:4/3;max-width:100%}
  .split.rev .img{order:0}
  .split .txt{padding-block:48px 64px;padding-inline:max(18px,env(safe-area-inset-left,0px)) max(18px,env(safe-area-inset-right,0px))}
}
@keyframes fade{from{opacity:.001;transform:scale(1.03)}to{opacity:1;transform:none}}
@keyframes rise{from{opacity:.001;transform:translateY(10px)}to{opacity:1;transform:none}}
.split .txt>*{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.split .txt>*:nth-child(2){animation-delay:.08s}.split .txt>*:nth-child(3){animation-delay:.16s}.split .txt>*:nth-child(4){animation-delay:.24s}.split .txt>*:nth-child(5){animation-delay:.32s}

/* ---------- Home extras ---------- */
.trio{max-width:1360px;margin-inline:auto;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule)}
.trio a{display:grid;gap:12px;padding:44px clamp(24px,3vw,48px) 48px;text-decoration:none;min-width:0;transition:background .3s}
.trio a+a{border-left:1px solid var(--rule)}
.trio a:hover{background:var(--paper)}
.trio b{font-family:var(--display);font-weight:300;font-size:2rem;color:var(--gold);line-height:1.1}
.trio span.t{font-style:italic;color:var(--muted)}
@media (max-width:760px){.trio{grid-template-columns:1fr}.trio a+a{border-left:0;border-top:1px solid var(--rule)}}
.band{background:var(--paper)}
.band .in{max-width:900px;margin-inline:auto;padding-block:clamp(72px,10vw,120px);text-align:center;display:grid;gap:22px;justify-items:center}
.band p.big{font-family:var(--display);font-weight:300;font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.3;text-wrap:balance}
.band .sectors{font-family:var(--label);font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);text-wrap:balance}

/* ---------- Framework ---------- */
.intro{max-width:1360px;margin-inline:auto;padding-block:clamp(56px,8vw,96px) 40px;display:grid;gap:18px}
.frame{max-width:1360px;margin-inline:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,40px);padding-bottom:clamp(64px,8vw,110px)}
.frame article{display:grid;gap:12px;align-content:start;min-width:0}
.frame figure{margin:0 0 8px;aspect-ratio:3/4;overflow:hidden;max-width:100%}
.frame img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.4s ease}
.frame article:hover img{transform:scale(1.035)}
.frame h2{font-size:2.4rem}
.frame p{max-width:24em}
@media (max-width:760px){.frame{grid-template-columns:1fr}.frame figure{aspect-ratio:4/3}}

/* ---------- About ---------- */
.figs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 32px;max-width:30em}
.figs b{display:block;font-family:var(--display);font-weight:300;font-size:2.6rem;color:var(--gold);line-height:1;font-variant-numeric:lining-nums tabular-nums}
.figs span{display:block;font-size:.95rem;color:var(--muted);margin-top:6px;line-height:1.4}
.cities{font-family:var(--label);font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:var(--ink);line-height:2}
.cities .label{display:block;margin-bottom:4px}
.career{list-style:none;padding:0;margin:0;display:grid;max-width:34em}
.career li{display:grid;grid-template-columns:7.5em minmax(0,1fr);gap:18px;padding-block:14px;border-top:1px solid var(--rule)}
.career li:last-child{border-bottom:1px solid var(--rule)}
.career time{font-family:var(--label);font-size:.72rem;letter-spacing:.12em;color:var(--muted);padding-top:6px;font-variant-numeric:tabular-nums}
.career strong{display:block;font-family:var(--display);font-weight:500;font-size:1.25rem;line-height:1.25}
.career em{color:var(--muted);font-size:1rem}
@media (max-width:480px){.career li{grid-template-columns:1fr;gap:2px}}

/* ---------- Contact ---------- */
.clist{display:grid;gap:0;max-width:30em}
.clist a{display:grid;gap:4px;padding-block:18px;border-top:1px solid var(--rule);text-decoration:none}
.clist a:last-child{border-bottom:1px solid var(--rule)}
.clist a b{font-family:var(--display);font-weight:400;font-size:1.55rem;color:var(--ink);overflow-wrap:anywhere;transition:color .25s}
.clist a:hover b{color:var(--gold)}

footer{border-top:1px solid var(--rule)}
footer .in{max-width:1360px;margin-inline:auto;padding-block:26px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-family:var(--label);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
footer a{text-decoration:none}
footer a:hover{color:var(--gold)}
.split .img img[src*="lionel"]{object-position:50% 20%}

/* Framed image: a gallery mat for photographs shown at their native size */
.split.framed .img{display:flex;align-items:center;justify-content:center;padding:clamp(32px,5vw,80px)}
.split.framed .img img{position:static;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 30px 60px -30px rgba(0,0,0,.35)}
@media (max-width:860px){.split.framed .img{aspect-ratio:auto;padding:32px 18px}}

/* Framework closing statement */
.manifesto{max-width:1360px;margin-inline:auto;padding-block:0 clamp(72px,9vw,120px)}
.manifesto p{border-top:1px solid var(--rule);padding-top:clamp(40px,5vw,64px);font-family:var(--display);font-weight:300;font-style:italic;font-size:clamp(1.5rem,2.8vw,2.2rem);line-height:1.35;color:var(--gold);text-align:center;text-wrap:balance;max-width:26em;margin-inline:auto}
.frame .label{margin-top:4px}

/* Credentials rows under career */
.creds{display:grid;max-width:34em;margin-top:36px}
.creds div{display:grid;grid-template-columns:7.5em minmax(0,1fr);gap:18px;padding-block:14px;border-top:1px solid var(--rule)}
.creds div:last-child{border-bottom:1px solid var(--rule)}
.creds dt{font-family:var(--label);font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);padding-top:6px}
.creds dd{margin:0;font-size:1.02rem}
.creds dd small{display:block;color:var(--muted);font-size:.95rem}
@media (max-width:480px){.creds div{grid-template-columns:1fr;gap:2px}}

/* Collaboration steps */
.steps{max-width:1360px;margin-inline:auto;padding-block:clamp(64px,8vw,104px);display:grid;gap:36px}
.steps ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--gold-soft);counter-reset:s}
.steps li{padding:26px clamp(16px,2vw,28px) 0 0;display:grid;gap:10px;align-content:start;min-width:0;counter-increment:s}
.steps li::before{content:counter(s,decimal-leading-zero);font-family:var(--label);font-size:.68rem;letter-spacing:.2em;color:var(--gold)}
.steps b{font-family:var(--display);font-weight:400;font-size:1.5rem;line-height:1.2;color:var(--ink)}
.steps span.d{color:var(--muted);font-size:1rem;line-height:1.5}
@media (max-width:860px){.steps ol{grid-template-columns:1fr 1fr;row-gap:32px}}
@media (max-width:480px){.steps ol{grid-template-columns:1fr}}
.more{justify-self:start}
.frame a.card{text-decoration:none;color:inherit;display:block}
.frame a.card .more{display:inline-block;margin-top:6px}
.frame a.card:hover h2{color:var(--ink)}
h1 .sub{display:block;font-size:.55em;font-style:italic;color:var(--ink);margin-top:10px;line-height:1.2}
.pager{font-family:var(--label);font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);padding-top:18px;border-top:1px solid var(--rule)}
.pager a{text-decoration:none;color:var(--muted)}.pager a:hover{color:var(--gold)}
.pager [aria-current]{color:var(--gold)}
.trio a{align-content:start}
@supports (grid-template-rows:subgrid){@media (min-width:761px){.trio{grid-template-rows:auto auto auto}.trio a{grid-row:span 3;grid-template-rows:subgrid}}}

/* Line breaks: no lonely words on a last line */
p,li,dd,dt,em,small,.figs span,.trio span.t{text-wrap:pretty}
.label,.items li,.items li small,.coda,.trio b,.trio span.t,.figs span,.career em,.creds dd,.steps b,.steps span.d,.lead,.cities,.pager,h1 .sub,.manifesto p,.band p.big,.clist a b{text-wrap:balance}
.items{max-width:34em}
.split .txt .lead{max-width:32em}

/* Contact form */
.cform{display:grid;gap:18px;max-width:32em}
.cform label{display:grid;gap:6px}
.cform input,.cform textarea{font:inherit;font-size:1.05rem;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--gold-soft);padding:8px 0;border-radius:0;outline:none;resize:vertical;width:100%}
.cform input:focus,.cform textarea:focus{border-bottom-color:var(--gold)}
.send{justify-self:start;margin-top:8px;font-family:var(--label);font-weight:500;font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;background:var(--gold);color:var(--ivory);border:1px solid var(--gold);padding:15px 30px;cursor:pointer;transition:background .25s,color .25s}
.send:hover{background:transparent;color:var(--gold)}
.direct{display:grid;gap:12px}
.dl{display:flex;flex-wrap:wrap;gap:12px}
.pill{font-family:var(--label);font-weight:500;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;color:var(--gold);border:1px solid var(--gold-soft);padding:11px 20px;transition:border-color .25s,background .25s}
.pill:hover{border-color:var(--gold);background:var(--paper)}
.split .img img[src*="passage"]{object-position:68% 50%}
.split .img img[src*="passage"]{object-position:62% 60%}
.split .img img[src*="passage"]{object-position:68% 88%}
