/* Dynamic full Our Picks profile page. */
:root{
  --efp-page-max:1380px;
  --efp-gold:var(--gold, #c9a24f);
  --efp-ink:var(--ink, #f1ecdd);
  --efp-muted:rgba(241,236,221,0.64);
  --efp-hair:rgba(201,162,79,0.22);
  --efp-faint:rgba(241,236,221,0.11);
  --efp-filter:grayscale(1) saturate(0.04) contrast(1.08) brightness(0.88);
  --efp-colour-filter:saturate(0.94) contrast(1.02) brightness(0.88);
}

body.editorial-full-page{
  min-height:100vh;
  background:#080605;
  color:var(--efp-ink);
}

body.theme-paper.editorial-full-page{
  --efp-ink:var(--ink, #0e0d0a);
  --efp-muted:color-mix(in srgb, var(--ink) 62%, transparent);
  --efp-hair:color-mix(in srgb, var(--gold) 34%, transparent);
  --efp-faint:color-mix(in srgb, var(--ink) 12%, transparent);
  background:var(--bg);
  color:var(--efp-ink);
}

body.editorial-full-page.editorial-colour-on{
  --efp-filter:var(--efp-colour-filter);
}

body.editorial-full-page .elara-theme-toggle{
  display:none;
}

.efp-shell{
  max-width:var(--efp-page-max);
  margin:0 auto;
  padding-top:18px;
  padding-bottom:112px;
}

.efp-section{
  padding:48px 0;
  border-top:1px solid var(--hair);
}

.efp-section:first-of-type{
  border-top:0;
  padding-top:26px;
}

.efp-video-section{
  padding:34px 0;
}

.efp-gallery-section{
  padding:28px 0 34px;
}

.efp-topline,
.efp-tools,
.efp-stats-group h2,
.efp-stats-group dt,
.efp-filter-toggle,
.efp-tariff-head,
.efp-tariff-table th,
.efp-tariff-table td:first-child{
  font-family:var(--mono);
  text-transform:uppercase;
  letter-spacing:0.18em;
}

.efp-topline{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:2px 6px 18px;
  font-size:9px;
  line-height:1.45;
  color:var(--efp-muted);
}

.efp-topline > span,
.efp-tariff-head{
  color:var(--efp-gold);
}

.efp-tools{
  display:flex;
  align-items:center;
  gap:14px;
}

.efp-floating-tools{
  position:fixed;
  z-index:80;
  top:154px;
  right:max(22px, calc((100vw - var(--efp-page-max)) / 2 + 22px));
  pointer-events:none;
}

.efp-filter-toggle{
  min-width:152px;
  min-height:44px;
  padding:0 18px;
  border:1px solid var(--efp-hair);
  background:rgba(8,6,5,0.84);
  color:var(--efp-gold);
  font-size:9px;
  cursor:pointer;
  pointer-events:auto;
  transition:background 220ms ease, border-color 220ms ease, color 220ms ease;
}

.efp-filter-toggle--top{
  min-width:154px;
}

.efp-media-filter-toggle{
  position:absolute;
  z-index:6;
  top:10px;
  right:10px;
  min-width:112px;
  min-height:34px;
  padding:0 10px;
  border:1px solid rgba(201,162,79,0.34);
  background:rgba(5,4,3,0.74);
  color:var(--efp-gold);
  font-family:var(--mono);
  font-size:8px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  cursor:pointer;
  pointer-events:auto;
}

.efp-media-filter-toggle:hover,
.efp-media-filter-toggle:focus-visible{
  border-color:rgba(201,162,79,0.72);
  background:rgba(12,10,8,0.9);
  outline:none;
}

.efp-filter-toggle:hover,
.efp-filter-toggle:focus-visible{
  border-color:rgba(201,162,79,0.68);
  background:rgba(14,11,9,0.94);
  outline:none;
}

body.editorial-full-page.efp-zoom-open .efp-floating-tools{
  opacity:0;
  pointer-events:none;
}

.efp-board{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(380px, 0.92fr);
  gap:18px;
}

.efp-main,
.efp-side{
  min-width:0;
}

.efp-stage{
  min-height:660px;
  overflow:hidden;
}

.efp-stage h1{
  margin:22px 0 38px;
  font-family:var(--display);
  font-weight:600;
  font-size:clamp(76px, 10vw, 154px);
  line-height:0.84;
  letter-spacing:0;
}

.efp-bottom{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:18px;
  align-items:end;
  padding:20px 0 0;
}

.efp-origin-register{
  grid-column:2;
  font-family:var(--display);
  font-weight:600;
  font-size:58px;
  line-height:0.95;
  letter-spacing:0;
  text-align:right;
}

.efp-side{
  display:grid;
  grid-template-rows:auto minmax(0, 1fr);
}

.efp-side-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:4px 0 14px;
  font-family:var(--mono);
  font-size:9px;
  line-height:1.35;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--efp-muted);
}

.efp-portrait{
  aspect-ratio:4 / 5;
}

.efp-feature-media{
  display:grid;
  grid-template-columns:minmax(0, 1.97fr) minmax(320px, 1fr);
  gap:18px;
  align-items:stretch;
}

.efp-feature-stack{
  display:grid;
  grid-template-rows:auto auto;
  gap:18px;
  align-content:start;
  min-width:0;
}

.efp-video{
  position:relative;
  aspect-ratio:9 / 16;
  margin:0;
  isolation:isolate;
  background:#0c0a09;
}

.efp-video-section .efp-video{
  width:100%;
  height:auto;
}

.efp-video iframe,
.efp-video video,
.efp-video img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  border:0;
  object-fit:cover;
  filter:var(--efp-filter);
  transition:filter 420ms ease;
}

.efp-video [data-full-video-backdrop],
.efp-video [data-full-media="video-poster"]{
  z-index:1;
  object-fit:cover;
  filter:var(--efp-filter);
}

.efp-video iframe,
.efp-video [data-full-video-player]{
  z-index:2;
}

.efp-video [data-full-video-player]{
  pointer-events:none;
}

.efp-video iframe{
  pointer-events:auto;
}

.efp-video [data-full-video-player],
.efp-video iframe{
  object-fit:contain;
  background:transparent;
}

.efp-video [data-full-video-player]{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 64%;
}

.efp-video iframe[hidden],
.efp-video video[hidden],
.efp-video img[hidden]{
  display:none;
}

.efp-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:2px;
}

.efp-actions .btn{
  min-width:168px;
  justify-content:center;
}

.efp-stats{
  margin-top:0;
  padding:22px 20px 20px;
  background:#0a0807;
}

.efp-stats-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}

.efp-stats-group h2{
  margin:0 0 16px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(201,162,79,0.18);
  font-size:10px;
  color:var(--efp-gold);
}

.efp-stats-group dl{
  display:grid;
  gap:14px;
  margin:0;
}

.efp-stats-group dt{
  margin:0 0 6px;
  font-size:10px;
  color:var(--efp-muted);
}

.efp-stats-group dd{
  margin:0;
  font-family:var(--display);
  font-weight:600;
  font-size:28px;
  line-height:1.02;
}

.efp-stats-group dd.small{
  font-size:18px;
  line-height:1.28;
}

.efp-media-pricing{
  display:grid;
  grid-template-columns:minmax(0, 1.97fr) minmax(320px, 1fr);
  gap:18px;
}

.efp-media{
  position:relative;
  margin:0;
  overflow:hidden;
  background:#0c0a09;
}

body.theme-paper.editorial-full-page .efp-media,
body.theme-paper.editorial-full-page .efp-video,
body.theme-paper.editorial-full-page .efp-profile-preview-media{
  background:color-mix(in srgb, var(--bg) 72%, var(--ink) 28%);
}

body.theme-paper.editorial-full-page .efp-stats{
  background:color-mix(in srgb, var(--bg) 92%, var(--ink) 8%);
}

body.theme-paper.editorial-full-page .efp-filter-toggle{
  background:color-mix(in srgb, var(--bg) 88%, var(--ink) 12%);
}

.efp-media[data-zoom-src]{
  cursor:zoom-in;
}

.efp-media[data-zoom-src]:focus-visible{
  outline:1px solid rgba(201,162,79,0.72);
  outline-offset:3px;
}

.efp-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  filter:var(--efp-filter);
  transition:filter 420ms ease;
}

.efp-four-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  align-self:stretch;
}

.efp-four-grid .efp-photo{
  aspect-ratio:1 / 1;
}

.efp-four-grid .efp-photo:nth-child(n+3){
  aspect-ratio:4 / 5;
}

.efp-tariff{
  padding-top:0;
}

.efp-three-grid{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
}

.efp-three-grid .efp-photo{
  aspect-ratio:16 / 9;
}

.efp-tariff-head{
  padding-bottom:10px;
  border-bottom:1px solid var(--hair);
  font-size:9px;
}

.efp-tariff-table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
}

.efp-tariff-table th:first-child,
.efp-tariff-table td:first-child{
  width:48%;
}

.efp-tariff-table th{
  padding:12px 0 6px;
  font-size:8.5px;
  font-weight:400;
  color:var(--efp-muted);
  text-align:right;
}

.efp-tariff-table th:first-child{
  text-align:left;
}

.efp-tariff-table td{
  padding:10px 0;
  border-top:1px solid var(--efp-faint);
  font-family:var(--serif);
  font-style:italic;
  font-size:18px;
  line-height:1;
  text-align:right;
}

.efp-tariff-table td:first-child{
  font-style:normal;
  font-size:8.5px;
  color:var(--efp-muted);
  text-align:left;
}

.efp-zoom{
  position:fixed;
  inset:0;
  z-index:140;
  display:grid;
  place-items:center;
  padding:clamp(64px, 5vw, 68px) clamp(18px, 5vw, 68px) clamp(18px, 5vw, 68px);
  background:rgba(4,3,3,0.74);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity 220ms ease, visibility 220ms ease;
}

.efp-zoom.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.efp-zoom-card{
  position:relative;
  width:min(920px, 82vw);
  padding:10px;
  border:0;
  background:#050403;
}

.efp-zoom-card--video{
  width:min(540px, calc(100vw - 136px), calc(56.25vh - 88px));
  padding:0;
}

.efp-zoom-card--image{
  width:min(760px, 82vw);
}

.efp-zoom-media{
  position:relative;
  display:grid;
  place-items:center;
  min-height:0;
  overflow:hidden;
  background:#060504;
}

.efp-zoom-card--video .efp-zoom-media{
  aspect-ratio:9 / 16;
  height:auto;
  max-height:calc(100vh - 156px);
}

.efp-zoom-media img,
.efp-zoom-media iframe,
.efp-zoom-media video{
  display:block;
  width:100%;
  max-height:calc(78vh - 20px);
  border:0;
  object-fit:contain;
  filter:var(--efp-filter);
}

.efp-zoom-media iframe,
.efp-zoom-media video{
  height:100%;
}

.efp-zoom-media .efp-zoom-video-foreground{
  position:absolute;
  inset:0;
  z-index:2;
  width:100%;
  height:100%;
  max-height:none;
  object-fit:cover;
  object-position:center 64%;
  background:transparent;
}

.efp-zoom-tools{
  position:absolute;
  top:12px;
  right:12px;
  bottom:auto;
  z-index:5;
  display:flex;
  gap:8px;
  align-items:center;
}

.efp-zoom-action,
.efp-zoom-close{
  min-width:82px;
  min-height:36px;
  padding:0 12px;
  border:1px solid rgba(241,236,221,0.18);
  background:rgba(5,4,3,0.82);
  color:rgba(241,236,221,0.9);
  font-family:var(--mono);
  font-size:9px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  white-space:nowrap;
  cursor:pointer;
}

.efp-zoom-action[data-full-zoom-fullscreen]{
  min-width:118px;
}

.efp-zoom-action:hover,
.efp-zoom-action:focus-visible,
.efp-zoom-close:hover,
.efp-zoom-close:focus-visible{
  border-color:rgba(241,236,221,0.38);
  background:rgba(12,10,8,0.94);
  outline:none;
}

.efp-zoom-card:fullscreen{
  width:100vw;
  height:100vh;
  padding:0;
  border:0;
  background:#050403;
  display:grid;
  place-items:center;
}

.efp-zoom-card:fullscreen .efp-zoom-tools{
  top:16px;
  right:16px;
  bottom:auto;
}

.efp-zoom-card:fullscreen .efp-zoom-media{
  width:100vw;
  height:100vh;
  max-height:none;
  aspect-ratio:auto;
}

.efp-zoom-card--video:fullscreen .efp-zoom-media{
  width:min(100vw, 56.25vh);
  height:auto;
  aspect-ratio:9 / 16;
}

.efp-zoom-arrow{
  position:absolute;
  z-index:4;
  top:50%;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border:1px solid rgba(241,236,221,0.18);
  border-radius:50%;
  background:rgba(10,8,7,0.42);
  color:rgba(241,236,221,0.92);
  cursor:pointer;
  transform:translateY(-50%);
  transition:background 180ms ease, border-color 180ms ease, color 180ms ease;
}

.efp-zoom-arrow svg{
  width:18px;
  height:18px;
  display:block;
}

.efp-zoom-arrow:hover,
.efp-zoom-arrow:focus-visible{
  border-color:rgba(241,236,221,0.34);
  background:rgba(10,8,7,0.62);
  outline:none;
}

.efp-zoom-arrow--prev{
  left:-58px;
}

.efp-zoom-arrow--next{
  right:-58px;
}

.efp-adjacent-section{
  padding-bottom:10px;
}

.efp-profile-nav{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
}

.efp-profile-preview{
  display:grid;
  grid-template-columns:118px minmax(0, 1fr);
  align-items:end;
  gap:16px;
  min-height:154px;
  padding:14px 0 0;
  border-top:1px solid var(--efp-hair);
  color:var(--efp-ink);
  text-decoration:none;
}

.efp-profile-preview-media{
  position:relative;
  margin:0;
  aspect-ratio:4 / 5;
  overflow:hidden;
  background:#0c0a09;
}

.efp-profile-preview-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  filter:var(--efp-filter);
  transition:filter 420ms ease, transform 420ms ease;
}

.efp-profile-preview-copy{
  display:grid;
  gap:7px;
  padding-bottom:2px;
}

.efp-profile-preview-label,
.efp-profile-preview-copy > span:last-child{
  font-family:var(--mono);
  font-size:9px;
  line-height:1.5;
  letter-spacing:0.16em;
  text-transform:uppercase;
}

.efp-profile-preview-label{
  color:var(--efp-gold);
}

.efp-profile-preview-copy strong{
  font-family:var(--display);
  font-weight:600;
  font-size:clamp(34px, 4.5vw, 54px);
  line-height:0.9;
  letter-spacing:0;
}

.efp-profile-preview-copy > span:last-child{
  color:var(--efp-muted);
}

.efp-profile-preview:hover .efp-profile-preview-media img,
.efp-profile-preview:focus-visible .efp-profile-preview-media img{
  transform:scale(1.04);
}

.efp-profile-preview:focus-visible{
  outline:1px solid rgba(201,162,79,0.72);
  outline-offset:5px;
}

@media (max-width:1180px){
  .efp-board{
    grid-template-columns:1fr;
  }

  .efp-portrait{
    max-width:520px;
  }

  .efp-origin-register{
    font-size:48px;
  }
}

@media (max-width:920px){
  .efp-stats-grid{
    grid-template-columns:1fr;
  }

  .efp-media-pricing{
    gap:14px;
  }

  .efp-tariff{
    padding-bottom:2px;
  }
}

@media (max-width:759px){
  .efp-shell{
    padding-top:34px;
    padding-bottom:118px;
  }

  .efp-section{
    padding:36px 0;
  }

  .efp-video-section{
    padding:24px 0;
  }

  .efp-section:first-of-type{
    padding-top:24px;
  }

  .efp-topline,
  .efp-tools{
    flex-direction:column;
    align-items:flex-start;
  }

  .efp-floating-tools{
    top:76px;
    right:16px;
    left:auto;
    bottom:auto;
    transform:none;
  }

  .efp-filter-toggle{
    min-width:142px;
    min-height:46px;
    background:rgba(8,6,5,0.94);
  }

  .efp-stage{
    min-height:auto;
  }

  .efp-stage h1{
    margin-top:14px;
    font-size:76px;
  }

  .efp-origin-register{
    grid-column:1;
    font-size:44px;
    text-align:left;
  }

  .efp-actions .btn{
    width:calc(50% - 6px);
    min-width:0;
  }

  .efp-stats{
    padding:16px 0;
    background:transparent;
  }

  .efp-feature-media{
    grid-template-columns:1fr;
    gap:8px;
  }

  .efp-feature-stack{
    display:contents;
  }

  .efp-media-pricing{
    grid-template-columns:1fr;
    width:100%;
    margin-left:0;
  }

  .efp-video{
    order:-2;
    aspect-ratio:9 / 16;
    height:auto;
  }

  .efp-four-grid{
    order:-1;
    gap:8px;
  }

  .efp-three-grid{
    grid-column:1;
    grid-template-columns:1fr;
    gap:8px;
  }

  .efp-three-grid .efp-photo{
    aspect-ratio:16 / 9;
  }

  .efp-zoom{
    padding:68px 0 72px;
  }

  .efp-zoom-card,
  .efp-zoom-card--image{
    width:calc(100vw - 24px);
  }

  .efp-zoom-card--video .efp-zoom-media{
    aspect-ratio:9 / 16;
    height:auto;
    max-height:calc(100vh - 132px);
  }

  .efp-zoom-card--video{
    width:min(100vw, calc(56.25vh - 74px));
    border-left:0;
    border-right:0;
  }

  .efp-media-filter-toggle{
    top:8px;
    right:8px;
    min-width:104px;
    min-height:32px;
    font-size:7.5px;
    letter-spacing:0.12em;
  }

  .efp-zoom-tools{
    top:10px;
    right:10px;
    bottom:auto;
    gap:6px;
  }

  .efp-zoom-action,
  .efp-zoom-close{
    min-width:68px;
    min-height:38px;
    padding:0 8px;
    font-size:8px;
    letter-spacing:0.14em;
  }

  .efp-zoom-action[data-full-zoom-fullscreen]{
    min-width:106px;
  }

  .efp-zoom-arrow{
    top:50%;
    width:44px;
    height:44px;
    background:rgba(10,8,7,0.42);
  }

  .efp-zoom-arrow--prev{
    left:8px;
  }

  .efp-zoom-arrow--next{
    right:8px;
  }

  .efp-profile-nav{
    grid-template-columns:1fr;
    gap:24px;
  }

  .efp-profile-preview{
    grid-template-columns:94px minmax(0, 1fr);
    min-height:126px;
    gap:14px;
  }

  .efp-profile-preview-copy strong{
    font-size:36px;
  }
}

@media (max-width:390px){
  .efp-stage h1{
    font-size:70px;
  }

  .efp-origin-register{
    font-size:40px;
  }
}
