.ert-elementor-home-host,
.ert-elementor-home-host > .e-con-inner { max-width: none !important; padding: 0 !important; }

.ert-home-v2 {
  --v3-ink: #121316;
  --v3-paper: #f4f4f2;
  --v3-white: #fff;
  --v3-smoke: #e7e7e4;
  --v3-lilac: #e8e8e6;
  --v3-accent: #121316;
  --v3-muted: #6b6b70;
  --v3-line: rgba(18, 19, 22, 0.14);
  overflow: clip;
  color: var(--v3-ink);
  background: var(--v3-paper);
}

/* Privacy: readable legal content in the same monochrome editorial system. */
.ert-elementor-privacy-host,
.ert-elementor-privacy-host > .e-con-inner { max-width:none !important; padding:0 !important; }
.ert-privacy-body .page-header { display:none; }
.ert-privacy { overflow:clip; color:#111216; background:#f2f2f3; }
.ert-privacy-hero { padding:106px 28px 28px; }
.ert-privacy-hero__inner { display:flex; min-height:620px; padding:42px clamp(34px,5vw,78px) 64px; border:1px solid #d8d8db; border-radius:30px; background:#fff; flex-direction:column; }
.ert-privacy-hero__meta { display:flex; align-items:center; justify-content:space-between; padding-bottom:23px; border-bottom:1px solid rgba(17,18,22,.14); color:#77787d; font-family:var(--ert-font-mono); font-size:.48rem; letter-spacing:.09em; text-transform:uppercase; }
.ert-privacy-hero__title { display:grid; align-items:end; gap:60px; margin-top:auto; grid-template-columns:1.3fr .7fr; }
.ert-privacy-hero__title .ert-kicker { margin:0 0 24px; grid-column:1/-1; }
.ert-privacy-hero h1 { margin:0; font-family:var(--ert-font-display); font-size:clamp(4.8rem,7vw,8.2rem); font-weight:560; letter-spacing:-.067em; line-height:.84; }
.ert-privacy-hero h1 em { color:#909196; font-family:"Bodoni Moda",Georgia,serif; font-weight:400; }
.ert-privacy-hero__title > p:last-child { max-width:460px; margin:0 0 8px; color:#68696f; font-size:.82rem; line-height:1.8; }
.ert-privacy-content { padding:115px 0 140px; }
.ert-privacy-content__layout { display:grid; align-items:start; gap:clamp(65px,10vw,170px); grid-template-columns:260px minmax(0,1fr); }
.ert-privacy-content__nav { position:sticky; top:130px; }
.ert-privacy-content__nav .ert-kicker { margin:0 0 24px; color:#77787d; }
.ert-privacy-content__nav nav { display:grid; border-top:1px solid rgba(17,18,22,.14); }
.ert-privacy-content__nav a { padding:13px 0; border-bottom:1px solid rgba(17,18,22,.14); color:#66676c; font-size:.73rem; text-decoration:none; transition:color 220ms ease,padding 220ms ease; }
.ert-privacy-content__nav a:hover { padding-left:5px; color:#111216; }
.ert-privacy-content__articles { border-top:1px solid rgba(17,18,22,.17); }
.ert-privacy-content__articles article { display:grid; padding:46px 0 52px; border-bottom:1px solid rgba(17,18,22,.17); grid-template-columns:70px minmax(0,1fr); }
.ert-privacy-content__articles article > span { padding-top:8px; font-family:var(--ert-font-mono); font-size:.5rem; }
.ert-privacy-content__articles h2 { margin:0 0 24px; font-family:var(--ert-font-display); font-size:clamp(2rem,3vw,3.2rem); font-weight:560; letter-spacing:-.045em; }
.ert-privacy-content__articles p { max-width:820px; margin:0; color:#606167; font-size:.82rem; line-height:1.86; }
.ert-privacy-content__articles p + p { margin-top:18px; }
.ert-privacy-content__articles a { color:#111216; text-underline-offset:3px; }
.ert-privacy-content__note { display:flex; align-items:flex-start; margin-top:38px; padding:24px; border:1px solid rgba(17,18,22,.15); border-radius:18px; background:#fff; gap:16px; }
.ert-privacy-content__note i { display:grid; width:38px; height:38px; flex:none; border-radius:50%; color:#fff; background:#111216; place-items:center; }
.ert-privacy-content__note .ert-icon { width:16px; height:16px; }
.ert-privacy-content__note p { margin:0; font-size:.72rem; }

@media (max-width:767px) {
  .ert-privacy-hero { padding:86px 10px 10px; }
  .ert-privacy-hero__inner { min-height:620px; padding:25px 18px 34px; border-radius:23px; }
  .ert-privacy-hero__meta { align-items:flex-start; gap:8px; flex-direction:column; }
  .ert-privacy-hero__title { display:block; margin-top:auto; }
  .ert-privacy-hero__title .ert-kicker { margin-bottom:22px; }
  .ert-privacy-hero h1 { font-size:clamp(3.5rem,15vw,4.7rem); line-height:.9; }
  .ert-privacy-hero__title > p:last-child { margin-top:28px; font-size:.75rem; }
  .ert-privacy-content { padding:80px 0 95px; }
  .ert-privacy-content__layout { display:block; }
  .ert-privacy-content__nav { display:none; }
  .ert-privacy-content__articles article { padding:35px 0 40px; grid-template-columns:38px minmax(0,1fr); }
  .ert-privacy-content__articles article > span { font-size:.45rem; }
  .ert-privacy-content__articles h2 { margin-bottom:18px; font-size:2rem; }
  .ert-privacy-content__articles p { font-size:.75rem; }
  .ert-privacy-content__note { padding:18px; }
}

/* Contact: a monochrome request desk built around one clear action. */
.ert-elementor-contact-host,
.ert-elementor-contact-host > .e-con-inner { max-width: none !important; padding: 0 !important; }
.ert-contact { --contact-ink:#101114; --contact-paper:#f1f1f2; --contact-white:#fff; --contact-muted:#73747a; --contact-line:rgba(16,17,20,.14); overflow:clip; color:var(--contact-ink); background:var(--contact-paper); }
.ert-contact h1,
.ert-contact h2 { font-family:var(--ert-font-display); }
.ert-contact-hero { min-height:100svh; padding:106px 28px 28px; background:var(--contact-paper); }
.ert-contact-hero__stage { display:grid; min-height:calc(100svh - 134px); overflow:hidden; border:1px solid #d8d8db; border-radius:32px; background:#fff; grid-template-columns:minmax(0,.92fr) minmax(520px,1.08fr); }
.ert-contact-hero__copy { display:grid; min-width:0; padding:38px clamp(38px,5vw,88px) 40px; grid-template-rows:auto 1fr auto; }
.ert-contact-hero__top { display:flex; align-items:center; justify-content:space-between; padding-bottom:24px; border-bottom:1px solid var(--contact-line); }
.ert-contact-hero__top .ert-kicker,
.ert-contact-hero__top > span { margin:0; color:#74757a; font-family:var(--ert-font-mono); font-size:.49rem; letter-spacing:.1em; text-transform:uppercase; }
.ert-contact-hero__title { align-self:center; padding:48px 0; }
.ert-contact-hero__index { display:flex; align-items:center; margin:0 0 28px; color:#77787d; font-family:var(--ert-font-mono); font-size:.52rem; letter-spacing:.11em; text-transform:uppercase; gap:14px; }
.ert-contact-hero__index::before { width:7px; height:7px; border-radius:50%; background:#111216; content:""; }
.ert-contact-hero__index span { margin-left:auto; }
.ert-contact-hero h1 { margin:0; font-size:clamp(4.4rem,6vw,7.4rem); font-weight:560; letter-spacing:-.067em; line-height:.86; }
.ert-contact-hero h1 span,
.ert-contact-hero h1 em { display:block; }
.ert-contact-hero h1 em { padding-left:.42em; color:#8e8f94; font-family:"Bodoni Moda",Georgia,serif; font-weight:400; }
.ert-contact-hero__title > p:last-child { max-width:560px; margin:36px 0 0; color:#696a70; font-size:.84rem; line-height:1.78; }
.ert-contact-hero__channels { display:grid; border-top:1px solid var(--contact-line); grid-template-columns:1fr 1fr; }
.ert-contact-hero__channels > a { display:flex; min-width:0; align-items:center; padding:22px 0 0; color:inherit; text-decoration:none; gap:14px; }
.ert-contact-hero__channels > a + a { padding-left:24px; border-left:1px solid var(--contact-line); }
.ert-contact-hero__channels i { display:grid; width:39px; height:39px; border:1px solid var(--contact-line); border-radius:50%; place-items:center; transition:color 240ms ease,background 240ms ease; }
.ert-contact-hero__channels .ert-icon { width:15px; height:15px; }
.ert-contact-hero__channels span { display:grid; min-width:0; gap:4px; }
.ert-contact-hero__channels small { color:#83848a; font-family:var(--ert-font-mono); font-size:.46rem; letter-spacing:.09em; text-transform:uppercase; }
.ert-contact-hero__channels strong { overflow:hidden; font-size:.72rem; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.ert-contact-hero__channels a:hover i { color:#fff; background:#111216; }
.ert-contact-hero__media { position:relative; overflow:hidden; min-height:700px; margin:18px 18px 18px 0; border-radius:24px; background:#191a1d; }
.ert-contact-hero__media::after { position:absolute; z-index:1; inset:0; background:linear-gradient(180deg,rgba(8,9,10,.06) 35%,rgba(8,9,10,.72) 100%); content:""; pointer-events:none; }
.ert-contact-hero__image { position:absolute; inset:0; display:block; width:100%; height:100% !important; object-fit:cover; object-position:center 38%; filter:saturate(1.04) contrast(1.03); transition:transform 1.2s var(--ert-ease); }
.ert-contact-hero__media:hover .ert-contact-hero__image { transform:scale(1.018); }
.ert-contact-hero__media figcaption { position:absolute; z-index:2; right:34px; bottom:34px; left:34px; display:flex; align-items:end; justify-content:space-between; color:#fff; }
.ert-contact-hero__media figcaption span { font-family:var(--ert-font-mono); font-size:.49rem; letter-spacing:.1em; text-transform:uppercase; }
.ert-contact-hero__media figcaption strong { font-size:.72rem; font-weight:500; line-height:1.55; text-align:right; }
.ert-contact-hero__media > a { position:absolute; z-index:3; top:28px; right:28px; display:flex; width:152px; height:152px; align-items:center; justify-content:center; border-radius:50%; color:#111216; background:#fff; text-decoration:none; gap:14px; transition:transform 360ms var(--ert-ease),background 240ms ease,color 240ms ease; }
.ert-contact-hero__media > a span { font-family:var(--ert-font-mono); font-size:.49rem; font-weight:500; letter-spacing:.075em; line-height:1.55; text-transform:uppercase; }
.ert-contact-hero__media > a i { display:grid; width:34px; height:34px; border-radius:50%; background:#111216; color:#fff; place-items:center; }
.ert-contact-hero__media > a .ert-icon { width:14px; height:14px; }
.ert-contact-hero__media > a:hover { color:#fff; background:#111216; transform:rotate(4deg); }
.ert-contact-hero__media > a:hover i { color:#111216; background:#fff; }

.ert-contact-request { padding:140px 0; background:#e8e8e9; }
.ert-contact-request__layout { display:grid; align-items:start; gap:clamp(60px,8vw,140px); grid-template-columns:minmax(320px,.72fr) minmax(580px,1.28fr); }
.ert-contact-request__intro { position:sticky; top:130px; }
.ert-contact-request__intro .ert-kicker { margin:0 0 28px; color:#6e6f74; }
.ert-contact-request__intro h2 { margin:0; font-size:clamp(4.1rem,5.5vw,6.5rem); font-weight:560; letter-spacing:-.065em; line-height:.88; }
.ert-contact-request__intro h2 em { color:#96979c; font-family:"Bodoni Moda",Georgia,serif; font-weight:400; }
.ert-contact-request__intro > p:not(.ert-kicker) { max-width:470px; margin:34px 0 50px; color:#68696f; font-size:.82rem; line-height:1.8; }
.ert-contact-request__intro ol { margin:0; padding:0; border-top:1px solid var(--contact-line); list-style:none; }
.ert-contact-request__intro li { display:grid; align-items:center; padding:19px 0; border-bottom:1px solid var(--contact-line); grid-template-columns:52px 1fr; }
.ert-contact-request__intro li > span { font-family:var(--ert-font-mono); font-size:.5rem; }
.ert-contact-request__intro li div { display:grid; gap:4px; }
.ert-contact-request__intro li strong { font-size:.72rem; font-weight:600; }
.ert-contact-request__intro li small { color:#77787d; font-size:.67rem; }
.ert-contact-request__form-wrap { overflow:hidden; padding:18px; border:1px solid #d3d3d6; border-radius:30px; background:#f5f5f5; box-shadow:0 28px 80px rgba(16,17,20,.08); }
.ert-contact-request__form-wrap > header { display:flex; align-items:center; justify-content:space-between; padding:13px 15px 28px; color:#74757a; font-family:var(--ert-font-mono); font-size:.47rem; letter-spacing:.09em; text-transform:uppercase; }
.ert-contact-form { display:grid; overflow:hidden; border:1px solid #d9d9dc; border-radius:22px; background:#fff; grid-template-columns:1fr 1fr; }
.ert-contact-form label { display:grid; min-width:0; padding:25px 28px; border-bottom:1px solid #dddde0; gap:10px; }
.ert-contact-form label:nth-child(odd):not(.ert-contact-form__note) { border-right:1px solid #dddde0; }
.ert-contact-form label > span { color:#77787d; font-family:var(--ert-font-mono); font-size:.49rem; letter-spacing:.095em; text-transform:uppercase; }
.ert-contact-form input,
.ert-contact-form select,
.ert-contact-form textarea { width:100%; min-width:0; padding:0; border:0; outline:0; color:#111216; background:transparent; font:500 1rem/1.4 var(--ert-font-display); }
.ert-contact-form input::placeholder,
.ert-contact-form textarea::placeholder { color:#a5a6aa; opacity:1; }
.ert-contact-form input:focus,
.ert-contact-form select:focus,
.ert-contact-form textarea:focus { box-shadow:0 2px 0 #111216; }
.ert-contact-form select { cursor:pointer; }
.ert-contact-form__note { min-height:180px; grid-column:1/-1; }
.ert-contact-form textarea { resize:vertical; }
.ert-contact-form__footer { display:flex; align-items:center; justify-content:space-between; padding:18px; grid-column:1/-1; gap:20px; }
.ert-contact-form__footer > p { display:flex; align-items:center; margin:0; color:#77787d; font-size:.65rem; gap:9px; }
.ert-contact-form__footer > p .ert-icon { width:15px; height:15px; }
.ert-contact-form__footer button { display:flex; min-width:285px; min-height:62px; align-items:center; justify-content:space-between; padding:8px 9px 8px 20px; border:0; border-radius:16px; color:#fff; background:#111216; cursor:pointer; font-size:.64rem; font-weight:700; letter-spacing:.065em; text-transform:uppercase; transition:transform 240ms ease,background 240ms ease; }
.ert-contact-form__footer button > span { display:flex; align-items:center; gap:10px; }
.ert-contact-form__footer button .ert-icon { width:16px; height:16px; }
.ert-contact-form__footer button > i { display:grid; width:44px; height:44px; border-radius:12px; color:#111216; background:#fff; place-items:center; }
.ert-contact-form__footer button:hover { background:#292a2e; transform:translateY(-2px); }

.ert-contact-direct { padding:130px 0; color:#fff; background:#0d0e10; }
.ert-contact-direct__inner { display:grid; align-items:end; gap:clamp(80px,10vw,180px); grid-template-columns:.9fr 1.1fr; }
.ert-contact-direct__title .ert-kicker { margin:0 0 28px; color:rgba(255,255,255,.52); }
.ert-contact-direct__title h2 { margin:0; color:#fff; font-size:clamp(3.8rem,5vw,6rem); font-weight:560; letter-spacing:-.06em; line-height:.9; }
.ert-contact-direct__title h2 em { color:#88898e; font-family:"Bodoni Moda",Georgia,serif; font-weight:400; }
.ert-contact-direct__links { border-top:1px solid rgba(255,255,255,.22); }
.ert-contact-direct__links > a { display:grid; align-items:center; padding:25px 0; border-bottom:1px solid rgba(255,255,255,.22); color:#fff; text-decoration:none; grid-template-columns:145px 1fr auto; transition:padding 280ms var(--ert-ease); }
.ert-contact-direct__links > a > span { display:flex; align-items:center; color:rgba(255,255,255,.56); gap:12px; }
.ert-contact-direct__links > a > span i { display:grid; width:36px; height:36px; border:1px solid rgba(255,255,255,.25); border-radius:50%; place-items:center; }
.ert-contact-direct__links > a .ert-icon { width:15px; height:15px; }
.ert-contact-direct__links > a small { font-family:var(--ert-font-mono); font-size:.46rem; letter-spacing:.09em; text-transform:uppercase; }
.ert-contact-direct__links > a strong { font-size:clamp(1.05rem,1.4vw,1.35rem); font-weight:500; }
.ert-contact-direct__links > a:hover { padding-right:8px; padding-left:8px; }

@media (max-width: 1100px) {
  .ert-contact-hero__stage { grid-template-columns:1fr 1fr; }
  .ert-contact-hero__copy { padding-right:36px; padding-left:36px; }
  .ert-contact-hero h1 { font-size:clamp(4rem,7vw,5.3rem); }
  .ert-contact-hero__channels { gap:14px; grid-template-columns:1fr; }
  .ert-contact-hero__channels > a + a { padding-left:0; border-left:0; }
  .ert-contact-request__layout { gap:55px; grid-template-columns:.8fr 1.2fr; }
  .ert-contact-form { grid-template-columns:1fr; }
  .ert-contact-form label:nth-child(odd):not(.ert-contact-form__note) { border-right:0; }
  .ert-contact-form__note,
  .ert-contact-form__footer { grid-column:auto; }
  .ert-contact-form__footer { align-items:stretch; flex-direction:column; }
}

@media (max-width: 767px) {
  .ert-contact-hero { min-height:0; padding:86px 10px 10px; }
  .ert-contact-hero__stage { display:flex; min-height:0; border-radius:24px; flex-direction:column; }
  .ert-contact-hero__copy { padding:25px 18px 30px; order:1; }
  .ert-contact-hero__top { padding-bottom:18px; }
  .ert-contact-hero__top > span { display:none; }
  .ert-contact-hero__title { padding:58px 0 46px; }
  .ert-contact-hero__index { margin-bottom:22px; }
  .ert-contact-hero h1 { font-size:clamp(3.35rem,16vw,4.5rem); line-height:.9; }
  .ert-contact-hero h1 em { padding-left:.12em; }
  .ert-contact-hero__title > p:last-child { margin-top:28px; font-size:.76rem; }
  .ert-contact-hero__channels { gap:0; }
  .ert-contact-hero__channels > a { padding-top:17px; padding-bottom:17px; }
  .ert-contact-hero__channels > a + a { border-top:1px solid var(--contact-line); }
  .ert-contact-hero__media { min-height:510px; margin:9px; border-radius:18px; order:0; }
  .ert-contact-hero__media > a { top:18px; right:18px; width:112px; height:112px; gap:8px; }
  .ert-contact-hero__media > a span { font-size:.42rem; }
  .ert-contact-hero__media > a i { width:29px; height:29px; }
  .ert-contact-hero__media figcaption { right:20px; bottom:20px; left:20px; }
  .ert-contact-hero__media figcaption strong { font-size:.62rem; }
  .ert-contact-request { padding:86px 0; }
  .ert-contact-request__layout { display:block; }
  .ert-contact-request__intro { position:static; }
  .ert-contact-request__intro h2 { font-size:clamp(3.35rem,15vw,4.4rem); }
  .ert-contact-request__intro > p:not(.ert-kicker) { margin:27px 0 38px; font-size:.75rem; }
  .ert-contact-request__form-wrap { margin-top:50px; padding:8px; border-radius:23px; }
  .ert-contact-request__form-wrap > header { align-items:flex-start; padding:14px 10px 22px; gap:6px; flex-direction:column; }
  .ert-contact-form { border-radius:17px; }
  .ert-contact-form label { padding:22px 18px; }
  .ert-contact-form__note { min-height:160px; }
  .ert-contact-form__footer { padding:12px; }
  .ert-contact-form__footer button { width:100%; min-width:0; }
  .ert-contact-direct { padding:86px 0; }
  .ert-contact-direct__inner { display:block; }
  .ert-contact-direct__title h2 { font-size:clamp(3.2rem,14vw,4.25rem); }
  .ert-contact-direct__links { margin-top:55px; }
  .ert-contact-direct__links > a { gap:14px; grid-template-columns:1fr auto; }
  .ert-contact-direct__links > a > span { grid-column:1/-1; }
  .ert-contact-direct__links > a strong { font-size:.92rem; }
}

.ert-home-v2 h1,
.ert-home-v2 h2,
.ert-home-v2 h3 { font-family: var(--ert-font-display); }
.ert-home-v2 h1 span,
.ert-home-v2 h2 span { display: block; }
.ert-home-v2 .ert-kicker { color: var(--v3-accent); letter-spacing: 0.15em; }

.ert-v2-link {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  gap: 10px;
  padding: 0 15px;
  border: 1px solid currentColor;
  border-radius: 999px;
  color: inherit;
  background: transparent;
  font-size: 0.69rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 220ms ease, background 220ms ease, transform 220ms ease;
}
.ert-v2-link:hover { color: #fff; background: var(--v3-accent); transform: translateY(-2px); }
.ert-v2-link > .ert-icon { width: 15px; height: 15px; }
.ert-v2-link__end { display: grid; width: 25px; height: 25px; margin-left: 3px; border-radius: 50%; background: rgba(18,19,22,.08); place-items: center; }
.ert-v2-link__end .ert-icon { width: 13px; height: 13px; }
.ert-v2-link:hover .ert-v2-link__end { color: var(--v3-ink); background: #fff; }

/* Full-frame cinematic hero */
.ert-v2-hero {
  position: relative;
  min-height: clamp(760px, 100svh, 920px);
  color: #fff;
  background: var(--v3-paper);
  isolation: isolate;
}
.ert-v2-hero::before,
.ert-v2-hero__wash {
  position: absolute;
  top: 108px;
  right: 28px;
  bottom: 28px;
  left: 28px;
  border-radius: 34px;
}
.ert-v2-hero::before {
  z-index: -2;
  background-image: var(--ert-hero-image);
  background-position: center 43%;
  background-size: cover;
  content: "";
  filter: saturate(1.04) contrast(1.02);
}
.ert-v2-hero__wash {
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(8, 9, 11, 0.82) 0%, rgba(8, 9, 11, 0.54) 31%, rgba(8, 9, 11, 0.08) 65%, transparent 82%),
    linear-gradient(180deg, rgba(8, 9, 11, 0.08) 42%, rgba(8, 9, 11, 0.68) 100%);
}
.ert-v2-hero__frame {
  position: relative;
  display: grid;
  min-height: clamp(760px, 100svh, 920px);
  align-content: end;
  padding-top: 128px;
  padding-bottom: 78px;
}
.ert-v2-hero__eyebrow {
  position: absolute;
  top: 138px;
  left: 0;
  display: grid;
  color: rgba(255, 255, 255, 0.66);
  font-family: var(--ert-font-mono);
  font-size: 0.56rem;
  letter-spacing: 0.12em;
  line-height: 1.8;
  text-transform: uppercase;
}
.ert-v2-hero__content { position: relative; z-index: 2; width: min(66%, 900px); }
.ert-v2-hero__content > .ert-kicker { margin: 0 0 22px; color: rgba(255, 255, 255, 0.76); }
.ert-v2-hero h1 {
  display: grid;
  gap: 0.015em;
  color: #fff;
  font-family: "Bodoni Moda", Georgia, serif;
  font-size: clamp(4.6rem, 5.8vw, 6.8rem);
  font-weight: 500;
  letter-spacing: -0.052em;
  line-height: 1;
}
.ert-v2-hero h1 .ert-v2-hero__accent {
  padding-left: 0.48em;
  color: rgba(255, 255, 255, 0.82);
  font-style: italic;
  font-weight: 400;
  -webkit-text-stroke: 0;
}
.ert-v2-hero h1 span:last-child { padding-left: 0.96em; }
.ert-v2-hero__lead { display: grid; width: min(100%, 510px); gap: 22px; padding: 30px 0 0 4px; grid-template-columns: 1fr; }
.ert-v2-hero__lead p { margin: 0; color: rgba(255, 255, 255, 0.72); font-size: 0.84rem; line-height: 1.72; }
.ert-v2-hero__actions { display: flex; gap: 22px; }
.ert-v2-hero__actions .ert-v2-link { border-color: rgba(255,255,255,.42); color: #fff; background: rgba(8,9,11,.18); backdrop-filter: blur(10px); }
.ert-v2-hero__actions .ert-v2-link__end { background: rgba(255,255,255,.12); }
.ert-v2-hero__actions .ert-v2-link:hover { color: var(--v3-ink); background: #fff; }
.ert-v2-hero__actions .ert-v2-link:hover .ert-v2-link__end { color: #fff; background: var(--v3-ink); }
.ert-v2-hero__index {
  position: absolute;
  right: 0;
  bottom: 78px;
  display: flex;
  width: 230px;
  min-height: 66px;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px 10px 20px;
  border-radius: 18px;
  color: var(--v3-ink);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 18px 50px rgba(8, 9, 11, 0.28);
  font-size: 0.68rem;
  font-weight: 700;
  text-decoration: none;
  text-transform: uppercase;
  backdrop-filter: blur(16px);
}
.ert-v2-hero__index strong { display: grid; width: 42px; height: 42px; border-radius: 13px; color: #fff; background: var(--v3-accent); font-size: 1rem; place-items: center; transition: transform 220ms ease; }
.ert-v2-hero__index > span { display: flex; align-items: center; gap: 9px; }
.ert-v2-hero__index > span .ert-icon { width: 16px; height: 16px; }
.ert-v2-hero__index strong .ert-icon { width: 16px; height: 16px; }
.ert-v2-hero__index:hover strong { transform: rotate(8deg); }

.ert-v2-intro,
.ert-v2-showreel,
.ert-v2-stories,
.ert-v2-services,
.ert-v2-process,
.ert-v2-faq,
.ert-v2-booking { padding: 118px 0; }

.ert-v2-intro { color: #fff; background: #0b0c0e; }
.ert-v2-intro__top { display: flex; align-items: center; justify-content: space-between; padding-bottom: 28px; border-bottom: 1px solid rgba(255,255,255,.16); }
.ert-v2-intro__top .ert-kicker { color: rgba(255,255,255,.72); }
.ert-v2-intro__top > span { color: rgba(255,255,255,.4); font-family: var(--ert-font-mono); font-size: .57rem; letter-spacing: .12em; text-transform: uppercase; }
.ert-v2-intro__grid { display: grid; align-items: center; gap: clamp(58px, 7vw, 112px); padding-top: 42px; grid-template-columns: minmax(330px, .82fr) minmax(0, 1.18fr); }
.ert-v2-intro__media { position: relative; overflow: hidden; min-height: 590px; margin: 0; border-radius: 30px; background: #17181b; }
.ert-v2-intro__image { display: block; width: 100%; height: 100% !important; object-fit: cover; object-position: center 32%; filter: saturate(1.04) contrast(1.03); transition: transform 1.1s var(--ert-ease), filter .6s ease; }
.ert-v2-intro__media:hover .ert-v2-intro__image { filter: saturate(1.1) contrast(1.02); transform: scale(1.025); }
.ert-v2-intro__media::before { position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg, transparent 54%, rgba(7,8,10,.78)); content: ""; pointer-events: none; }
.ert-v2-intro__media figcaption { position: absolute; z-index: 2; right: 24px; bottom: 22px; left: 24px; display: flex; align-items: end; justify-content: space-between; gap: 20px; color: rgba(255,255,255,.72); font-family: var(--ert-font-mono); font-size: .55rem; letter-spacing: .08em; line-height: 1.5; text-transform: uppercase; }
.ert-v2-intro__media figcaption span:last-child { max-width: 150px; text-align: right; }
.ert-v2-intro__copy h2,
.ert-v2-section-head h2,
.ert-v2-services__title h2,
.ert-v2-faq__title h2,
.ert-v2-booking__intro h2 {
  font-size: clamp(3.3rem, 5.3vw, 6rem);
  font-weight: 560;
  letter-spacing: -0.055em;
  line-height: 0.94;
}
.ert-v2-intro__copy h2 span,
.ert-v2-section-head h2 span,
.ert-v2-services__title h2 span,
.ert-v2-faq__title h2 span { color: #85868c; font-weight: 440; }
.ert-v2-intro__copy h2 { color: #fff; font-size: clamp(3.8rem, 5.2vw, 6.2rem); line-height: .94; }
.ert-v2-intro__copy h2 span { padding-left: .42em; color: rgba(255,255,255,.68); font-family: "Bodoni Moda", Georgia, serif; font-style: italic; font-weight: 400; letter-spacing: -.045em; }
.ert-v2-intro__copy > p { width: min(100%, 610px); margin: 42px 0 0 auto; color: rgba(255,255,255,.62); font-size: .88rem; line-height: 1.84; }
.ert-v2-intro__principles { display: grid; margin-top: 54px; border-top: 1px solid rgba(255,255,255,.18); grid-template-columns: 1fr 1fr; }
.ert-v2-intro__principles article { display: grid; min-height: 150px; align-content: start; padding: 25px 28px 10px 0; gap: 20px; grid-template-columns: auto 1fr; }
.ert-v2-intro__principles article + article { padding-left: 28px; border-left: 1px solid rgba(255,255,255,.18); }
.ert-v2-intro__principles article > span { color: rgba(255,255,255,.36); font-family: var(--ert-font-mono); font-size: .56rem; }
.ert-v2-intro__principles h3 { margin: 0 0 10px; color: #fff; font-size: 1rem; font-weight: 650; letter-spacing: -.025em; }
.ert-v2-intro__principles p { margin: 0; color: rgba(255,255,255,.48); font-size: .73rem; line-height: 1.7; }
.ert-motion-ready .ert-v2-intro__media[data-ert-media-reveal]::after { background: #0b0c0e; }

.ert-v2-section-head { display: grid; align-items: end; gap: 80px; margin-bottom: 52px; grid-template-columns: 1fr minmax(280px, 420px); }
.ert-v2-section-head .ert-kicker,
.ert-v2-services__title .ert-kicker,
.ert-v2-faq__title .ert-kicker,
.ert-v2-booking__intro .ert-kicker { margin-bottom: 18px; }
.ert-v2-section-head > p { margin: 0 0 4px; color: var(--v3-muted); font-size: 0.84rem; line-height: 1.76; }

/* Cinema window */
.ert-v2-showreel { background: #fff; padding-top: 0; }
.ert-v2-showreel__stage { position: relative; overflow: hidden; height: min(72vw, 720px); min-height: 600px; border-radius: 32px; color: #fff; background: #17181c; box-shadow: 0 26px 80px rgba(18, 19, 22, 0.13); }
.ert-v2-showreel__stage video,
.ert-v2-showreel__image { display: block; width: 100%; height: calc(100% + 44px) !important; object-fit: cover; filter: saturate(1.05) contrast(1.04); transform: translate3d(0, var(--ert-showreel-y, 0), 0) scale(1.02); }
.ert-v2-showreel__shade { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(9, 10, 14, 0.62)); }
.ert-v2-play {
  position: absolute;
  top: 50%; left: 50%;
  display: grid;
  width: 128px; height: 128px;
  border-radius: 50%;
  color: var(--v3-ink);
  background: rgba(255, 255, 255, 0.9);
  text-align: center;
  text-decoration: none;
  transform: translate(-50%, -50%);
  backdrop-filter: blur(12px);
  place-content: center;
  transition: color 240ms ease, background 240ms ease, transform 240ms ease;
}
.ert-v2-play > span:first-child { color: var(--v3-accent); font-size: 1.1rem; }
.ert-v2-play > span:first-child .ert-icon { width: 23px; height: 23px; }
.ert-v2-play > span:last-child { margin-top: 8px; font-size: 0.56rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.ert-v2-play:hover { color: #fff; background: var(--v3-accent); transform: translate(-50%, -50%) scale(1.06); }
.ert-v2-play:hover > span:first-child { color: #fff; }
.ert-v2-showreel__meta { position: absolute; right: 24px; bottom: 22px; left: 24px; display: flex; justify-content: space-between; color: rgba(255, 255, 255, 0.75); font-family: var(--ert-font-mono); font-size: 0.55rem; letter-spacing: 0.12em; }

/* Expanding photo rail */
.ert-v2-stories { background: var(--v3-smoke); }
.ert-v2-section-head--light h2 { color: var(--v3-ink); }
.ert-v2-section-head--light h2 span { color: #7e7f85; }
.ert-v2-section-head--light .ert-v2-link { justify-self: end; color: var(--v3-ink); }
.ert-v2-story-grid { display: flex; min-height: 650px; gap: 14px; }
.ert-v2-story {
  position: relative;
  display: block;
  overflow: hidden;
  min-width: 0;
  border-radius: 24px;
  color: #fff;
  background: #202126;
  text-decoration: none;
  flex: 1;
  transition: flex 700ms cubic-bezier(0.2, 0.75, 0.2, 1), filter 400ms ease;
}
.ert-v2-story--main { flex: 1.45; }
.ert-v2-story-grid:hover .ert-v2-story { filter: contrast(0.82); }
.ert-v2-story-grid .ert-v2-story:hover { filter: contrast(1.05); flex: 1.7; }
.ert-v2-story__image { display: block; width: 100%; height: 100% !important; object-fit: cover; filter: saturate(1.05); transition: filter 600ms ease, transform 900ms cubic-bezier(0.2, 0.75, 0.2, 1); }
.ert-v2-story:hover .ert-v2-story__image { transform: scale(1.035); }
.ert-v2-story::before { position: absolute; z-index: 1; inset: 48% 0 0; background: linear-gradient(180deg, transparent, rgba(8, 9, 12, 0.82)); content: ""; }
.ert-v2-story > span { position: absolute; z-index: 2; right: 24px; bottom: 24px; left: 24px; }
.ert-v2-story small { display: block; margin-bottom: 7px; font-family: var(--ert-font-mono); font-size: 0.54rem; letter-spacing: 0.1em; text-transform: uppercase; }
.ert-v2-story strong { display: block; font-family: var(--ert-font-display); font-size: clamp(1.35rem, 2.2vw, 2.5rem); font-weight: 600; letter-spacing: -0.04em; white-space: nowrap; }

/* Services */
.ert-v2-services { background: #fff; }
.ert-v2-services__grid,
.ert-v2-faq__grid,
.ert-v2-booking__grid { display: grid; align-items: start; gap: 90px; grid-template-columns: 0.78fr 1.22fr; }
.ert-v2-services__title,
.ert-v2-faq__title { position: sticky; top: 112px; }
.ert-v2-services__title .ert-v2-link { margin-top: 34px; }
.ert-v2-service-list { display: grid; gap: 12px; }
.ert-v2-service {
  position: relative;
  overflow: hidden;
  min-height: 188px;
  padding: 30px 34px;
  border: 1px solid var(--v3-line);
  border-radius: 22px;
  background: var(--v3-paper);
  transition: color 320ms ease, background 320ms ease, transform 320ms ease;
}
.ert-v2-service::after { display: none; }
.ert-v2-service:hover { color: #fff; background: var(--v3-accent); transform: translateX(-8px); }
.ert-v2-service:hover::after,
.ert-v2-service:hover .ert-v2-service__top > span,
.ert-v2-service:hover p { color: rgba(255,255,255,.8); }
.ert-v2-service__top { display: flex; align-items: center; justify-content: space-between; }
.ert-v2-service__top > span { color: var(--v3-accent); font-family: var(--ert-font-mono); font-size: 0.54rem; letter-spacing: 0.1em; text-transform: uppercase; transition: color 320ms ease; }
.ert-v2-service__top i { display: grid; width: 44px; height: 44px; border: 1px solid var(--v3-line); border-radius: 14px; background: #fff; place-items: center; transition: transform 320ms ease; }
.ert-v2-service__top i .ert-icon { width: 20px; height: 20px; }
.ert-v2-service:hover .ert-v2-service__top i { color: var(--v3-ink); transform: rotate(-6deg) scale(1.04); }
.ert-v2-service h3 { margin-top: 28px; font-size: clamp(2rem, 3vw, 3.4rem); font-weight: 560; letter-spacing: -0.055em; }
.ert-v2-service p { max-width: 480px; margin: 15px 0 0; color: var(--v3-muted); font-size: 0.78rem; line-height: 1.68; transition: color 320ms ease; }

/* Process as a monochrome sequence */
.ert-v2-process { color: #fff; background: #0c0c0d; }
.ert-v2-process .ert-kicker { color: rgba(255,255,255,.7); }
.ert-v2-process .ert-v2-section-head h2 { color: #fff; }
.ert-v2-process .ert-v2-section-head h2 span { color: #a7a7aa; }
.ert-v2-process .ert-v2-section-head > p { color: rgba(255,255,255,.72); }
.ert-v2-process__list { display: grid; padding: 0; margin: 0; border-top: 1px solid rgba(255,255,255,.28); list-style: none; grid-template-columns: repeat(4,1fr); }
.ert-v2-process__list { position: relative; border-top: 0; }
.ert-v2-process__list::before,
.ert-v2-process__list::after {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  left: 0;
  height: 1px;
  content: "";
}
.ert-v2-process__list::before { background: rgba(255,255,255,.24); }
.ert-v2-process__list::after { background: #fff; transform: scaleX(0); transform-origin: left; transition: transform 1400ms cubic-bezier(.2,.75,.2,1); }
.ert-v2-process.is-inview .ert-v2-process__list::after { transform: scaleX(1); }
.ert-v2-process__list li { min-height: 330px; padding: 24px 26px 30px; border-right: 1px solid rgba(255,255,255,.28); }
.ert-v2-process__list li:last-child { border-right: 0; }
.ert-v2-process__list li > span { display: block; margin-bottom: 105px; color: rgba(255,255,255,.64); font-family: var(--ert-font-mono); font-size: 0.62rem; }
.ert-v2-process__list li > i { position: absolute; top: 22px; right: 22px; display: grid; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; color: rgba(255,255,255,.78); place-items: center; }
.ert-v2-process__list li { position: relative; }
.ert-v2-process__list li > i .ert-icon { width: 18px; height: 18px; }
.ert-v2-process__list h3 { color: #fff; font-size: clamp(1.9rem, 2.6vw, 3rem); font-weight: 560; letter-spacing: -0.05em; }
.ert-v2-process__list p { margin: 16px 0 0; color: rgba(255,255,255,.72); font-size: 0.76rem; line-height: 1.7; }

/* FAQ */
.ert-v2-faq { background: var(--v3-paper); }
.ert-v2-faq__title > p:last-child { max-width: 400px; margin-top: 28px; color: var(--v3-muted); font-size: 0.8rem; line-height: 1.72; }
.ert-v2-faq__list { display: grid; gap: 10px; }
.ert-v2-faq details { border: 1px solid var(--v3-line); border-radius: 18px; background: #fff; transition: background 260ms ease; }
.ert-v2-faq details[open] { background: var(--v3-lilac); }
.ert-v2-faq summary { display: grid; min-height: 84px; align-items: center; padding: 18px 20px; cursor: pointer; font-family: var(--ert-font-display); font-size: clamp(1.05rem, 1.45vw, 1.45rem); font-weight: 600; letter-spacing: -0.035em; list-style: none; grid-template-columns: 1fr 42px; }
.ert-v2-faq summary::-webkit-details-marker { display: none; }
.ert-v2-faq summary span { display: grid; width: 38px; height: 38px; border-radius: 12px; color: #fff; background: var(--v3-accent); place-items: center; transition: transform 220ms ease; }
.ert-v2-faq summary span .ert-icon { width: 17px; height: 17px; }
.ert-v2-faq details[open] summary span { transform: rotate(45deg); }
.ert-v2-faq details p { max-width: 610px; padding: 0 72px 26px 20px; margin: -4px 0 0; color: #55565c; font-size: 0.8rem; line-height: 1.75; }
.ert-v2-faq details[open] p { animation: ert-faq-in 360ms cubic-bezier(.2,.75,.2,1) both; }

@keyframes ert-faq-in {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Booking */
.ert-v2-booking { color: #fff; background: #111112; }
.ert-v2-booking__grid { gap: 80px; }
.ert-v2-booking__intro { position: sticky; top: 112px; }
.ert-v2-booking__intro .ert-kicker { color: #bdbdc1; }
.ert-v2-booking__intro h2 { color: #fff; }
.ert-v2-booking__intro h2 span { color: #bdbdc1; font-weight: 450; }
.ert-v2-booking__intro > p:not(.ert-kicker) { max-width: 450px; margin: 28px 0 0; color: rgba(255,255,255,.62); font-size: 0.82rem; line-height: 1.78; }
.ert-v2-booking__contact { display: grid; margin-top: 44px; color: rgba(255,255,255,.58); font-size: 0.76rem; gap: 10px; }
.ert-v2-booking__contact a,
.ert-v2-booking__location { display: flex; width: fit-content; align-items: center; gap: 11px; color: #fff; text-decoration: none; }
.ert-v2-booking__contact .ert-icon { width: 17px; height: 17px; color: rgba(255,255,255,.58); }
.ert-v2-booking__location { align-items: flex-start; margin-top: 8px; color: rgba(255,255,255,.58); line-height: 1.6; }
.ert-v2-booking__form-wrap { padding: 38px; border-radius: 26px; color: var(--v3-ink); background: #fff; }
.ert-v2-booking__form { display: grid; gap: 22px 16px; grid-template-columns: 1fr 1fr; }
.ert-v2-booking__form label { display: grid; gap: 8px; }
.ert-v2-booking__form label > span:first-child { color: #6b6b72; font-family: var(--ert-font-mono); font-size: 0.57rem; letter-spacing: 0.08em; text-transform: uppercase; }
.ert-v2-booking__form input:not([type="checkbox"]),
.ert-v2-booking__form select,
.ert-v2-booking__form textarea { width: 100%; min-height: 54px; padding: 12px 14px; border: 1px solid #dedee3; border-radius: 13px; color: var(--v3-ink); background: #f8f8fa; font-size: 0.86rem; box-shadow: none; }
.ert-v2-booking__form input:focus,
.ert-v2-booking__form select:focus,
.ert-v2-booking__form textarea:focus { border-color: #121316; outline: 3px solid rgba(18,19,22,.11); }
.ert-v2-booking__form textarea { resize: vertical; }
.ert-v2-booking__form input::placeholder,
.ert-v2-booking__form textarea::placeholder { color: #aaaab0; }
.ert-v2-booking__note,
.ert-v2-booking__consent,
.ert-v2-booking__form button { grid-column: 1 / -1; }
.ert-v2-booking__consent { display: flex !important; align-items: start; color: #73737a; font-size: 0.68rem; line-height: 1.58; gap: 10px !important; }
.ert-v2-booking__consent input { margin-top: 3px; accent-color: var(--v3-accent); }
.ert-v2-booking__form button { display: flex; min-height: 60px; align-items: center; justify-content: space-between; padding: 0 16px 0 20px; border: 0; border-radius: 15px; color: #fff; background: var(--v3-accent); cursor: pointer; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; transition: transform 220ms ease, background 220ms ease; }
.ert-v2-booking__form button .ert-submit-copy { display: flex; align-items: center; gap: 10px; }
.ert-v2-booking__form button .ert-submit-copy .ert-icon { width: 17px; height: 17px; }
.ert-v2-booking__form button .ert-button-icon { display: grid; width: 36px; height: 36px; border-radius: 11px; color: var(--v3-accent); background: #fff; place-items: center; }
.ert-v2-booking__form button .ert-button-icon .ert-icon { width: 16px; height: 16px; }
.ert-v2-booking__form button:hover { background: #333438; transform: translateY(-2px); }
.ert-honeypot { position: absolute !important; overflow: hidden; width: 1px; height: 1px; clip: rect(0 0 0 0); }
.ert-form-message { padding: 14px 16px; margin-bottom: 20px; border-radius: 13px; font-size: 0.76rem; }
.ert-form-message--success { color: #174e31; background: #e1f4e8; }
.ert-form-message--error { color: #7b2922; background: #f9e2df; }

/* Motion */
.ert-reveal,
.ert-reveal.is-visible { opacity: 1; transform: none; }
.ert-motion-ready .ert-scroll-reveal { opacity: 0; filter: blur(5px); transform: translateY(28px); transition: opacity 700ms cubic-bezier(.2,.75,.2,1), filter 700ms cubic-bezier(.2,.75,.2,1), transform 820ms cubic-bezier(.2,.75,.2,1); }
.ert-motion-ready .ert-scroll-reveal.is-visible { opacity: 1; transform: translateY(0); }
.ert-motion-ready .ert-scroll-reveal.is-visible { filter: blur(0); }
.ert-motion-ready .ert-reveal--copy { transform: translateX(-32px); }
.ert-motion-ready .ert-reveal--copy.is-visible { transform: translateX(0); }
.ert-motion-ready .ert-reveal--right { transform: translateX(32px); }
.ert-motion-ready .ert-reveal--right.is-visible { transform: translateX(0); }
.ert-motion-ready .ert-v2-hero::before {
  clip-path: inset(0 100% 0 0 round 34px);
  transform: translate3d(var(--ert-hero-x, 0), var(--ert-hero-y, 0), 0);
  transition: clip-path 1250ms cubic-bezier(.2,.75,.2,1), transform 900ms cubic-bezier(.2,.75,.2,1);
}
.ert-motion-ready body.ert-page-ready .ert-v2-hero::before { clip-path: inset(0 0 0 0 round 34px); }
.ert-motion-ready .ert-v2-hero .ert-reveal { opacity: 0; transform: translateY(20px); transition: opacity 700ms ease, transform 800ms cubic-bezier(.2,.75,.2,1); }
.ert-motion-ready body.ert-page-ready .ert-v2-hero .ert-reveal { opacity: 1; transform: translateY(0); }
.ert-motion-ready body.ert-page-ready .ert-v2-hero__eyebrow { transition-delay: 80ms; }
.ert-motion-ready body.ert-page-ready .ert-v2-hero__content > .ert-kicker { transition-delay: 180ms; }
.ert-motion-ready .ert-v2-hero h1 { opacity: 1; transform: none; }
.ert-motion-ready .ert-v2-hero h1 span { clip-path: inset(0 -8% 100% -8%); transform: translateY(34px); transition: clip-path 820ms cubic-bezier(.2,.75,.2,1), transform 820ms cubic-bezier(.2,.75,.2,1); }
.ert-motion-ready body.ert-page-ready .ert-v2-hero h1 span { clip-path: inset(-24% -8% -36% -8%); transform: translateY(0); }
.ert-motion-ready body.ert-page-ready .ert-v2-hero h1 span:nth-child(1) { transition-delay: 230ms; }
.ert-motion-ready body.ert-page-ready .ert-v2-hero h1 span:nth-child(2) { transition-delay: 330ms; }
.ert-motion-ready body.ert-page-ready .ert-v2-hero h1 span:nth-child(3) { transition-delay: 430ms; }
.ert-motion-ready body.ert-page-ready .ert-v2-hero__lead { transition-delay: 540ms; }
.ert-motion-ready body.ert-page-ready .ert-v2-hero__index { transition-delay: 640ms; }
[data-ert-media-reveal] { position: relative; }
.ert-motion-ready [data-ert-media-reveal]::after { position: absolute; z-index: 5; inset: 0; border-radius: inherit; background: var(--v3-paper); content: ""; transform: translateY(0); transition: transform 950ms cubic-bezier(.2,.75,.2,1); pointer-events: none; }
.ert-motion-ready [data-ert-media-reveal].is-visible::after { transform: translateY(-102%); }
.ert-motion-ready .ert-v2-showreel__stage[data-ert-media-reveal]::after { transform: translateX(0); }
.ert-motion-ready .ert-v2-showreel__stage[data-ert-media-reveal].is-visible::after { transform: translateX(102%); }
.ert-motion-ready .ert-v2-story-grid [data-ert-media-reveal]::after { background: var(--v3-smoke); }
.ert-motion-ready .ert-v2-story[data-ert-media-reveal] .ert-v2-story__image { transform: scale(1.065); transition: filter 600ms ease, transform 1300ms cubic-bezier(.2,.75,.2,1); }
.ert-motion-ready .ert-v2-story[data-ert-media-reveal].is-visible .ert-v2-story__image { transform: scale(1); }
.ert-motion-ready .ert-v2-story[data-ert-media-reveal].is-visible:hover .ert-v2-story__image { transform: scale(1.035); }
.ert-motion-ready .ert-v2-service:nth-child(2) { transition-delay: 80ms; }
.ert-motion-ready .ert-v2-service:nth-child(3) { transition-delay: 160ms; }
.ert-v2-process__list li:nth-child(2) { transition-delay: 70ms; }
.ert-v2-process__list li:nth-child(3) { transition-delay: 140ms; }
.ert-v2-process__list li:nth-child(4) { transition-delay: 210ms; }

@media (max-width: 1080px) {
  .ert-v2-hero__content { width: 78%; }
  .ert-v2-hero__lead { grid-template-columns: 1fr; }
  .ert-v2-services__grid,
  .ert-v2-faq__grid,
  .ert-v2-booking__grid { gap: 56px; }
  .ert-v2-process__list { grid-template-columns: 1fr 1fr; }
  .ert-v2-process__list li:nth-child(2) { border-right: 0; }
  .ert-v2-process__list li { border-bottom: 1px solid rgba(255,255,255,.28); }
}

@media (max-width: 767px) {
  .ert-v2-hero { min-height: 1100px; padding-top: 0; color: var(--v3-ink); }
  .ert-v2-hero::before,
  .ert-v2-hero__wash { top: 104px; right: 14px; bottom: auto; left: 14px; height: 520px; border-radius: 24px; }
  .ert-v2-hero::before { background-position: 58% center; }
  .ert-v2-hero__frame { min-height: 1100px; align-content: start; padding-top: 660px; padding-bottom: 30px; }
  .ert-v2-hero__eyebrow { display: none; }
  .ert-v2-hero__content { width: 100%; padding-top: 0; }
  .ert-v2-hero__content > .ert-kicker { margin-bottom: 16px; color: var(--v3-accent); }
  .ert-v2-hero h1 { gap: 0.04em; color: var(--v3-ink); font-size: clamp(3.25rem, 14vw, 4.15rem); line-height: 1.02; }
  .ert-v2-hero h1 .ert-v2-hero__accent { padding-left: 0.42em; color: #66676b; -webkit-text-stroke: 0; }
  .ert-v2-hero h1 span:last-child { padding-left: 0.78em; }
  .ert-v2-hero__lead { width: 100%; gap: 18px; padding: 28px 0 0; }
  .ert-v2-hero__lead p { color: #46474c; font-size: 0.78rem; }
  .ert-v2-hero__actions { display: grid; gap: 10px; grid-template-columns: 1fr; }
  .ert-v2-hero__actions .ert-v2-link { width: 100%; justify-content: space-between; }
  .ert-v2-hero__index { display: none; }

  .ert-v2-intro,
  .ert-v2-showreel,
  .ert-v2-stories,
  .ert-v2-services,
  .ert-v2-process,
  .ert-v2-faq,
  .ert-v2-booking { padding-top: 78px; padding-bottom: 78px; }
  .ert-v2-showreel { padding-top: 0; }
  .ert-v2-intro__grid,
  .ert-v2-section-head,
  .ert-v2-services__grid,
  .ert-v2-faq__grid,
  .ert-v2-booking__grid { grid-template-columns: 1fr; gap: 34px; }
  .ert-v2-intro__top { padding-bottom: 20px; }
  .ert-v2-intro__top > span { display: none; }
  .ert-v2-intro__grid { padding-top: 34px; }
  .ert-v2-intro__copy { order: 1; }
  .ert-v2-intro__media { min-height: 460px; border-radius: 24px; order: 2; }
  .ert-v2-intro__media figcaption { right: 18px; bottom: 18px; left: 18px; }
  .ert-v2-intro__copy h2 { font-size: clamp(3.05rem, 13.7vw, 4.05rem); line-height: .98; }
  .ert-v2-intro__copy h2 span { padding-left: .18em; }
  .ert-v2-intro__copy > p { margin-top: 30px; font-size: .8rem; }
  .ert-v2-intro__principles { margin-top: 34px; grid-template-columns: 1fr; }
  .ert-v2-intro__principles article { min-height: 0; padding: 22px 0; }
  .ert-v2-intro__principles article + article { padding-left: 0; border-top: 1px solid rgba(255,255,255,.18); border-left: 0; }
  .ert-v2-intro__copy h2,
  .ert-v2-section-head h2,
  .ert-v2-services__title h2,
  .ert-v2-faq__title h2,
  .ert-v2-booking__intro h2 { font-size: clamp(2.8rem, 12.6vw, 3.8rem); line-height: 0.94; }
  .ert-v2-intro__copy > p { margin-top: 26px; }
  .ert-v2-section-head { margin-bottom: 32px; }
  .ert-v2-showreel__stage { height: 530px; min-height: 530px; border-radius: 22px; }
  .ert-v2-showreel__stage video,
  .ert-v2-showreel__image { height: calc(100% + 30px) !important; object-position: 58% center; }
  .ert-v2-play { width: 108px; height: 108px; }
  .ert-v2-showreel__meta { right: 14px; bottom: 14px; left: 14px; }
  .ert-v2-showreel__meta span:last-child { display: none; }
  .ert-v2-section-head--light .ert-v2-link { justify-self: start; }
  .ert-v2-story-grid { display: grid; min-height: 0; grid-template-columns: 1fr; }
  .ert-v2-story,
  .ert-v2-story--main { min-height: 510px; flex: none; }
  .ert-v2-story--portrait { min-height: 580px; }
  .ert-v2-story--detail { min-height: 420px; }
  .ert-v2-story-grid:hover .ert-v2-story { filter: none; }
  .ert-v2-story strong { white-space: normal; }
  .ert-v2-services__title,
  .ert-v2-faq__title,
  .ert-v2-booking__intro { position: static; }
  .ert-v2-service { min-height: 0; padding: 26px 22px; }
  .ert-v2-service h3 { margin-top: 35px; }
  .ert-v2-service:hover { transform: translateY(-4px); }
  .ert-v2-process__list { grid-template-columns: 1fr; }
  .ert-v2-process__list li { min-height: 0; padding: 24px 0 30px; border-right: 0; }
  .ert-v2-process__list li > span { margin-bottom: 48px; }
  .ert-v2-faq summary { min-height: 78px; padding: 16px; font-size: 1rem; }
  .ert-v2-faq details p { padding: 0 16px 24px; }
  .ert-v2-booking__grid { gap: 50px; }
  .ert-v2-booking__intro { padding-bottom: 44px; border-bottom: 1px solid rgba(255,255,255,.15); }
  .ert-v2-booking__form-wrap { padding: 22px 16px; border-radius: 20px; }
  .ert-v2-booking__form { grid-template-columns: 1fr; }
  .ert-v2-booking__note,
  .ert-v2-booking__consent,
  .ert-v2-booking__form button { grid-column: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .ert-home-v2 *,
  .ert-home-v2 *::before,
  .ert-home-v2 *::after { animation: none !important; transition: none !important; }
  .ert-scroll-reveal,
  .ert-v2-hero .ert-reveal { opacity: 1 !important; transform: none !important; }
  [data-ert-media-reveal]::after { display: none !important; }
}

/* Showreel v4: cinematic frame with a director-note sidecar. */
.ert-v2-showreel { padding: 118px 0; background: #f4f4f5; }
.ert-v2-showreel__head { display: grid; align-items: end; gap: 80px; margin-bottom: 48px; grid-template-columns: 1.15fr .85fr; }
.ert-v2-showreel__head .ert-kicker { margin-bottom: 18px; }
.ert-v2-showreel__head h2 { color: var(--v3-ink); font-size: clamp(3.8rem, 5.5vw, 6.4rem); font-weight: 560; letter-spacing: -.058em; line-height: .9; }
.ert-v2-showreel__head h2 em { display: block; padding-left: .52em; color: #77787d; font-family: "Bodoni Moda", Georgia, serif; font-style: italic; font-weight: 400; letter-spacing: -.045em; }
.ert-v2-showreel__head-copy { max-width: 480px; padding-bottom: 5px; justify-self: end; }
.ert-v2-showreel__head-copy > p { margin: 0; color: var(--v3-muted); font-size: .84rem; line-height: 1.78; }
.ert-v2-showreel__head-copy > div { display: flex; gap: 8px; margin-top: 24px; }
.ert-v2-showreel__head-copy span { padding: 8px 12px; border: 1px solid #d7d7da; border-radius: 999px; color: #525359; font-family: var(--ert-font-mono); font-size: .52rem; letter-spacing: .08em; text-transform: uppercase; }
.ert-v2-showreel__composition { display: grid; min-height: 690px; gap: 12px; grid-template-columns: minmax(0, 1.48fr) minmax(300px, .52fr); }
.ert-v2-showreel__stage { height: 690px; min-height: 0; border-radius: 30px; box-shadow: none; }
.ert-v2-showreel__stage video,
.ert-v2-showreel__image { height: calc(100% + 44px) !important; object-position: 50% center; }
.ert-v2-showreel__shade { background: linear-gradient(180deg, rgba(8,9,11,.08), transparent 48%, rgba(8,9,11,.58)); }
.ert-v2-showreel__meta { right: 24px; bottom: 22px; left: 24px; text-transform: uppercase; }
.ert-v2-showreel__aside { display: flex; min-width: 0; flex-direction: column; padding: 32px 30px 26px; border-radius: 30px; color: #fff; background: #101114; }
.ert-v2-showreel__aside-label { color: rgba(255,255,255,.48); font-family: var(--ert-font-mono); font-size: .55rem; letter-spacing: .1em; text-transform: uppercase; }
.ert-v2-showreel__aside blockquote { margin: 74px 0 0; color: #fff; font-family: "Bodoni Moda", Georgia, serif; font-size: clamp(2rem, 2.55vw, 3rem); font-style: italic; font-weight: 400; letter-spacing: -.04em; line-height: 1.06; }
.ert-v2-showreel__notes { display: grid; margin-top: auto; border-top: 1px solid rgba(255,255,255,.16); }
.ert-v2-showreel__notes > div { display: grid; align-items: center; padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,.12); gap: 16px; grid-template-columns: 24px 1fr; }
.ert-v2-showreel__notes span { color: rgba(255,255,255,.34); font-family: var(--ert-font-mono); font-size: .5rem; }
.ert-v2-showreel__notes strong { font-size: .75rem; font-weight: 600; }
.ert-v2-showreel__cta { display: flex; min-height: 58px; align-items: center; justify-content: space-between; padding: 0 10px 0 18px; margin-top: 22px; border-radius: 17px; color: #111216; background: #fff; font-size: .65rem; font-weight: 750; text-decoration: none; text-transform: uppercase; }
.ert-v2-showreel__cta .ert-button-icon { width: 38px; height: 38px; color: #fff; background: #111216; transition: transform 280ms var(--ert-ease); }
.ert-v2-showreel__cta:hover .ert-button-icon { transform: rotate(8deg); }

@media (max-width: 767px) {
  .ert-v2-showreel { padding: 78px 0; }
  .ert-v2-showreel__head { gap: 26px; margin-bottom: 32px; grid-template-columns: 1fr; }
  .ert-v2-showreel__head h2 { font-size: clamp(3.05rem, 13.4vw, 4rem); line-height: .94; }
  .ert-v2-showreel__head h2 em { padding-left: .18em; }
  .ert-v2-showreel__head-copy { max-width: none; padding: 0; justify-self: stretch; }
  .ert-v2-showreel__head-copy > div { flex-wrap: wrap; margin-top: 18px; }
  .ert-v2-showreel__composition { min-height: 0; grid-template-columns: 1fr; }
  .ert-v2-showreel__stage { height: 500px; min-height: 500px; border-radius: 24px; }
  .ert-v2-showreel__stage video,
  .ert-v2-showreel__image { height: calc(100% + 30px) !important; object-position: 58% center; }
  .ert-v2-showreel__aside { min-height: 500px; padding: 26px 22px 20px; border-radius: 24px; }
  .ert-v2-showreel__aside blockquote { margin-top: 52px; font-size: 2.45rem; }
}

/* Stories v4: a dark, asymmetric editorial contact sheet. */
.ert-v2-stories { padding: 118px 0; color: #fff; background: #101114; }
.ert-v2-stories__head { display: grid; align-items: end; gap: 80px; margin-bottom: 50px; grid-template-columns: 1.15fr .85fr; }
.ert-v2-stories__head .ert-kicker { margin-bottom: 18px; color: rgba(255,255,255,.62); }
.ert-v2-stories__head h2 { color: #fff; font-size: clamp(3.8rem, 5.5vw, 6.4rem); font-weight: 560; letter-spacing: -.058em; line-height: .9; }
.ert-v2-stories__head h2 em { display: block; padding-left: .48em; color: rgba(255,255,255,.6); font-family: "Bodoni Moda", Georgia, serif; font-style: italic; font-weight: 400; letter-spacing: -.045em; }
.ert-v2-stories__intro { max-width: 480px; padding-bottom: 4px; justify-self: end; }
.ert-v2-stories__intro > p { margin: 0 0 26px; color: rgba(255,255,255,.58); font-size: .84rem; line-height: 1.78; }
.ert-v2-stories__intro .ert-v2-link { color: #fff; }
.ert-v2-stories__intro .ert-v2-link__end { background: rgba(255,255,255,.1); }
.ert-v2-story-grid { display: grid; min-height: 720px; gap: 12px; grid-template-columns: minmax(0, 1.45fr) minmax(330px, .55fr); grid-template-rows: 1fr 1fr; }
.ert-v2-story { min-height: 0; border: 1px solid rgba(255,255,255,.12); border-radius: 28px; filter: none; flex: none; }
.ert-v2-story--main { grid-row: 1 / 3; }
.ert-v2-story--portrait,
.ert-v2-story--detail { min-height: 0; }
.ert-v2-story-grid:hover .ert-v2-story { filter: saturate(.8) contrast(.9); }
.ert-v2-story-grid .ert-v2-story:hover { filter: saturate(1.08) contrast(1.02); flex: none; }
.ert-v2-story::before { inset: 35% 0 0; background: linear-gradient(180deg, transparent, rgba(7,8,10,.86)); }
.ert-v2-story__image { filter: saturate(1.04) contrast(1.03); }
.ert-v2-story:hover .ert-v2-story__image { filter: saturate(1.1) contrast(1.02); transform: scale(1.04); }
.ert-v2-story__top { position: absolute; z-index: 2; top: 20px; right: 20px; left: 20px; display: flex; align-items: center; justify-content: space-between; color: rgba(255,255,255,.76); }
.ert-v2-story__top > span { font-family: var(--ert-font-mono); font-size: .52rem; letter-spacing: .09em; text-transform: uppercase; }
.ert-v2-story__top i { display: grid; width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.32); border-radius: 50%; background: rgba(10,11,13,.22); backdrop-filter: blur(10px); place-items: center; transition: color 280ms ease, background 280ms ease, transform 320ms var(--ert-ease); }
.ert-v2-story__top i .ert-icon { width: 15px; height: 15px; }
.ert-v2-story:hover .ert-v2-story__top i { color: #111216; background: #fff; transform: rotate(8deg); }
.ert-v2-story__caption { position: absolute; z-index: 2; right: 24px; bottom: 24px; left: 24px; transition: transform 380ms var(--ert-ease); }
.ert-v2-story:hover .ert-v2-story__caption { transform: translateY(-6px); }
.ert-v2-story__caption small { color: rgba(255,255,255,.72); }
.ert-v2-story__caption strong { color: #fff; }
.ert-v2-story--main .ert-v2-story__caption strong { font-size: clamp(2.6rem, 4vw, 4.6rem); }
.ert-v2-story--portrait .ert-v2-story__caption strong,
.ert-v2-story--detail .ert-v2-story__caption strong { font-size: clamp(1.7rem, 2.25vw, 2.6rem); }
.ert-motion-ready .ert-v2-story-grid [data-ert-media-reveal]::after { background: #101114; }

@media (max-width: 767px) {
  .ert-v2-stories { padding: 78px 0; }
  .ert-v2-stories__head { gap: 26px; margin-bottom: 32px; grid-template-columns: 1fr; }
  .ert-v2-stories__head h2 { font-size: clamp(3.05rem, 13.4vw, 4rem); line-height: .94; }
  .ert-v2-stories__head h2 em { padding-left: .18em; }
  .ert-v2-stories__intro { max-width: none; padding: 0; justify-self: stretch; }
  .ert-v2-story-grid { min-height: 0; grid-template-columns: 1fr; grid-template-rows: none; }
  .ert-v2-story,
  .ert-v2-story--main,
  .ert-v2-story--portrait,
  .ert-v2-story--detail { min-height: 470px; grid-row: auto; }
  .ert-v2-story--main { min-height: 560px; }
  .ert-v2-story-grid:hover .ert-v2-story { filter: none; }
  .ert-v2-story__caption { right: 20px; bottom: 20px; left: 20px; }
  .ert-v2-story--main .ert-v2-story__caption strong { font-size: 2.7rem; }
}

/* Services v4: a numbered editorial service index. */
.ert-v2-services { padding: 118px 0; background: #fff; }
.ert-v2-services__head { display: grid; align-items: end; gap: 80px; margin-bottom: 56px; grid-template-columns: 1.15fr .85fr; }
.ert-v2-services__head .ert-kicker { margin-bottom: 18px; }
.ert-v2-services__head h2 { color: var(--v3-ink); font-size: clamp(3.8rem, 5.5vw, 6.4rem); font-weight: 560; letter-spacing: -.058em; line-height: .9; }
.ert-v2-services__head h2 em { display: block; padding-left: .48em; color: #77787d; font-family: "Bodoni Moda", Georgia, serif; font-style: italic; font-weight: 400; letter-spacing: -.045em; }
.ert-v2-services__intro { max-width: 480px; padding-bottom: 4px; justify-self: end; }
.ert-v2-services__intro > p { margin: 0 0 26px; color: var(--v3-muted); font-size: .84rem; line-height: 1.78; }
.ert-v2-service-list { display: grid; gap: 0; border-top: 1px solid #d8d8da; }
.ert-v2-service { display: grid; min-height: 218px; align-items: center; padding: 26px 18px; border: 0; border-bottom: 1px solid #d8d8da; border-radius: 0; color: var(--v3-ink); background: transparent; gap: 28px; grid-template-columns: 44px minmax(250px,.78fr) minmax(300px,1fr) 190px; transition: color 380ms ease, background 380ms ease, border-radius 380ms ease, padding 380ms var(--ert-ease), margin 380ms var(--ert-ease); }
.ert-v2-service::after { display: none; }
.ert-v2-service:hover { padding-right: 24px; padding-left: 24px; margin: 8px 0; border-bottom-color: transparent; border-radius: 24px; color: #fff; background: #111216; transform: none; }
.ert-v2-service__index { align-self: start; padding-top: 8px; color: #999a9f; font-family: var(--ert-font-mono); font-size: .55rem; letter-spacing: .08em; }
.ert-v2-service__name small { display: block; margin-bottom: 14px; color: #8b8c91; font-family: var(--ert-font-mono); font-size: .52rem; letter-spacing: .09em; text-transform: uppercase; }
.ert-v2-service h3 { margin: 0; color: inherit; font-size: clamp(2rem, 2.9vw, 3.3rem); font-weight: 570; letter-spacing: -.052em; line-height: .98; }
.ert-v2-service__body > p { max-width: 510px; margin: 0; color: #67686e; font-size: .78rem; line-height: 1.7; transition: color 320ms ease; }
.ert-v2-service__body ul { display: flex; flex-wrap: wrap; gap: 7px; padding: 0; margin: 20px 0 0; list-style: none; }
.ert-v2-service__body li { padding: 7px 10px; border: 1px solid #d5d5d8; border-radius: 999px; color: #66676c; font-family: var(--ert-font-mono); font-size: .48rem; letter-spacing: .07em; text-transform: uppercase; transition: color 320ms ease, border-color 320ms ease; }
.ert-v2-service:hover .ert-v2-service__index,
.ert-v2-service:hover .ert-v2-service__name small,
.ert-v2-service:hover .ert-v2-service__body > p { color: rgba(255,255,255,.62); }
.ert-v2-service:hover .ert-v2-service__body li { border-color: rgba(255,255,255,.2); color: rgba(255,255,255,.7); }
.ert-v2-service__media { position: relative; overflow: hidden; width: 190px; height: 160px; margin: 0; border-radius: 20px; background: #e8e8e9; }
.ert-v2-service__image { display: block; width: 100%; height: 100% !important; object-fit: cover; filter: saturate(1.04) contrast(1.02); transition: filter 520ms ease, transform 700ms var(--ert-ease); }
.ert-v2-service:hover .ert-v2-service__image { filter: saturate(1.1) contrast(1.02); transform: scale(1.055); }
.ert-v2-service__media > i { position: absolute; z-index: 2; top: 10px; right: 10px; display: grid; width: 36px; height: 36px; border-radius: 50%; color: #111216; background: rgba(255,255,255,.92); place-items: center; transition: transform 320ms var(--ert-ease); }
.ert-v2-service__media > i .ert-icon { width: 14px; height: 14px; }
.ert-v2-service:hover .ert-v2-service__media > i { transform: rotate(8deg); }
.ert-motion-ready .ert-v2-service__media[data-ert-media-reveal]::after { background: #fff; }

@media (max-width: 767px) {
  .ert-v2-services { padding: 78px 0; }
  .ert-v2-services__head { gap: 26px; margin-bottom: 38px; grid-template-columns: 1fr; }
  .ert-v2-services__head h2 { font-size: clamp(3.05rem, 13.4vw, 4rem); line-height: .94; }
  .ert-v2-services__head h2 em { padding-left: .18em; }
  .ert-v2-services__intro { max-width: none; padding: 0; justify-self: stretch; }
  .ert-v2-service { display: flex; min-height: 0; align-items: stretch; padding: 24px 0 30px; border-radius: 0; gap: 0; flex-direction: column; }
  .ert-v2-service:hover { padding: 24px 0 30px; margin: 0; border-bottom-color: #d8d8da; border-radius: 0; color: var(--v3-ink); background: transparent; }
  .ert-v2-service__index { padding: 0; order: 1; }
  .ert-v2-service__media { width: 100%; height: 250px; margin: 18px 0 26px; border-radius: 22px; order: 2; }
  .ert-v2-service__name { order: 3; }
  .ert-v2-service h3 { font-size: 2.5rem; }
  .ert-v2-service__body { margin-top: 20px; order: 4; }
  .ert-v2-service:hover .ert-v2-service__index,
  .ert-v2-service:hover .ert-v2-service__name small,
  .ert-v2-service:hover .ert-v2-service__body > p { color: inherit; }
  .ert-v2-service:hover .ert-v2-service__body li { border-color: #d5d5d8; color: #66676c; }
  .ert-v2-service:hover .ert-v2-service__image { filter: saturate(1.04) contrast(1.02); transform: none; }
}

/* Process v4: a full-width production flow. */
.ert-v2-process { padding: 118px 0; color: #fff; background: #0c0d0f; }
.ert-v2-process__head { display: grid; align-items: end; gap: 80px; margin-bottom: 56px; grid-template-columns: 1.15fr .85fr; }
.ert-v2-process__head .ert-kicker { margin-bottom: 18px; color: rgba(255,255,255,.62); }
.ert-v2-process__head h2 { color: #fff; font-size: clamp(3.8rem, 5.5vw, 6.4rem); font-weight: 560; letter-spacing: -.058em; line-height: .9; }
.ert-v2-process__head h2 em { display: block; padding-left: .48em; color: rgba(255,255,255,.6); font-family: "Bodoni Moda", Georgia, serif; font-style: italic; font-weight: 400; letter-spacing: -.045em; }
.ert-v2-process__intro { max-width: 480px; padding-bottom: 4px; justify-self: end; }
.ert-v2-process__intro > p { margin: 0; color: rgba(255,255,255,.58); font-size: .84rem; line-height: 1.78; }
.ert-v2-process__intro > div { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.ert-v2-process__intro span { padding: 8px 12px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; color: rgba(255,255,255,.62); font-family: var(--ert-font-mono); font-size: .5rem; letter-spacing: .08em; text-transform: uppercase; }
.ert-v2-process__list { display: grid; padding: 0; margin: 0; border-top: 1px solid rgba(255,255,255,.2); list-style: none; grid-template-columns: 1fr; }
.ert-v2-process__list::before,
.ert-v2-process__list::after { display: none; }
.ert-v2-process__list li { position: relative; display: grid; min-height: 172px; align-items: center; padding: 24px 20px; border: 0; border-bottom: 1px solid rgba(255,255,255,.2); border-radius: 0; color: #fff; gap: 28px; grid-template-columns: 46px minmax(250px,.75fr) minmax(330px,1fr) 180px; transition: color 380ms ease, background 380ms ease, border-radius 380ms ease, padding 380ms var(--ert-ease), margin 380ms var(--ert-ease); }
.ert-v2-process__list li:hover { padding-right: 26px; padding-left: 26px; margin: 7px 0; border-bottom-color: transparent; border-radius: 22px; color: #111216; background: #fff; }
.ert-v2-process__index { display: block; margin: 0 !important; color: rgba(255,255,255,.42) !important; font-family: var(--ert-font-mono); font-size: .55rem !important; }
.ert-v2-process__name small { display: block; margin-bottom: 11px; color: rgba(255,255,255,.4); font-family: var(--ert-font-mono); font-size: .5rem; letter-spacing: .09em; text-transform: uppercase; transition: color 320ms ease; }
.ert-v2-process__list h3 { color: inherit; font-size: clamp(2.2rem, 3.2vw, 3.7rem); font-weight: 560; letter-spacing: -.055em; line-height: .96; transition: transform 380ms var(--ert-ease); }
.ert-v2-process__list li:hover h3 { transform: translateX(8px); }
.ert-v2-process__list li > p { max-width: 570px; margin: 0; color: rgba(255,255,255,.58); font-size: .78rem; line-height: 1.72; transition: color 320ms ease; }
.ert-v2-process__meta { display: flex; align-items: center; justify-content: flex-end; gap: 16px; }
.ert-v2-process__meta > span { color: rgba(255,255,255,.42); font-family: var(--ert-font-mono); font-size: .5rem; letter-spacing: .07em; text-align: right; text-transform: uppercase; transition: color 320ms ease; }
.ert-v2-process__meta > i { display: grid; width: 46px; height: 46px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; color: rgba(255,255,255,.78); place-items: center; transition: color 320ms ease, background 320ms ease, border-color 320ms ease, transform 380ms var(--ert-ease); }
.ert-v2-process__meta > i .ert-icon { width: 18px; height: 18px; }
.ert-v2-process__list li:hover .ert-v2-process__index,
.ert-v2-process__list li:hover .ert-v2-process__name small,
.ert-v2-process__list li:hover > p,
.ert-v2-process__list li:hover .ert-v2-process__meta > span { color: #686970 !important; }
.ert-v2-process__list li:hover .ert-v2-process__meta > i { border-color: #111216; color: #fff; background: #111216; transform: rotate(7deg); }

@media (max-width: 767px) {
  .ert-v2-process { padding: 78px 0; }
  .ert-v2-process__head { gap: 26px; margin-bottom: 38px; grid-template-columns: 1fr; }
  .ert-v2-process__head h2 { font-size: clamp(3.05rem, 13.4vw, 4rem); line-height: .94; }
  .ert-v2-process__head h2 em { padding-left: .18em; }
  .ert-v2-process__intro { max-width: none; padding: 0; justify-self: stretch; }
  .ert-v2-process__list li { min-height: 0; padding: 24px 0 30px; border-radius: 0; gap: 0 18px; grid-template-columns: 1fr auto; }
  .ert-v2-process__index { align-self: center; grid-column: 1; grid-row: 1; }
  .ert-v2-process__meta { grid-column: 2; grid-row: 1; }
  .ert-v2-process__meta > span { display: none; }
  .ert-v2-process__name { margin-top: 34px; grid-column: 1 / -1; grid-row: 2; }
  .ert-v2-process__list h3 { font-size: 2.75rem; }
  .ert-v2-process__list li > p { margin-top: 20px; grid-column: 1 / -1; grid-row: 3; }
  .ert-v2-process__list li:hover { padding: 24px 0 30px; margin: 0; border-bottom-color: rgba(255,255,255,.2); border-radius: 0; color: #fff; background: transparent; }
  .ert-v2-process__list li:hover h3 { transform: none; }
  .ert-v2-process__list li:hover .ert-v2-process__index,
  .ert-v2-process__list li:hover .ert-v2-process__name small,
  .ert-v2-process__list li:hover > p { color: inherit !important; }
  .ert-v2-process__list li:hover .ert-v2-process__meta > i { border-color: rgba(255,255,255,.2); color: rgba(255,255,255,.78); background: transparent; transform: none; }
}

/* FAQ v4: a numbered editorial question index. */
.ert-v2-faq { padding: 118px 0; background: #f3f3f4; }
.ert-v2-faq__grid { display: grid; align-items: start; gap: clamp(70px, 8vw, 132px); grid-template-columns: minmax(330px, .72fr) minmax(0, 1.28fr); }
.ert-v2-faq__title { position: sticky; top: 112px; }
.ert-v2-faq__title-top { display: flex; align-items: flex-start; justify-content: space-between; padding-bottom: 24px; border-bottom: 1px solid #d1d1d4; }
.ert-v2-faq__title .ert-kicker { margin: 4px 0 0; }
.ert-v2-faq__count { color: #b5b5b9; font-family: "Bodoni Moda", Georgia, serif; font-size: clamp(3.7rem, 4.4vw, 5.1rem); font-weight: 400; letter-spacing: -.065em; line-height: .72; }
.ert-v2-faq__title h2 { margin-top: 38px; color: #111216; font-size: clamp(3.55rem, 4.8vw, 5.8rem); font-weight: 560; letter-spacing: -.06em; line-height: .91; }
.ert-v2-faq__title h2 em { display: block; padding-left: .22em; color: #8c8d92; font-family: "Bodoni Moda", Georgia, serif; font-style: italic; font-weight: 400; letter-spacing: -.048em; }
.ert-v2-faq__title > p { max-width: 420px; margin: 34px 0 0; color: #6c6d72; font-size: .8rem; line-height: 1.78; }
.ert-v2-faq__title .ert-v2-link { margin-top: 30px; }
.ert-v2-faq__list { display: grid; gap: 0; border-top: 1px solid #cdced1; }
.ert-v2-faq details { overflow: hidden; margin: 0; border: 0; border-bottom: 1px solid #cdced1; border-radius: 0; color: #111216; background: transparent; transition: margin 380ms var(--ert-ease), color 300ms ease, background 300ms ease, border-radius 380ms var(--ert-ease), border-color 300ms ease; }
.ert-v2-faq details[open] { margin: 8px 0; border-bottom-color: transparent; border-radius: 24px; color: #fff; background: #111216; }
.ert-v2-faq summary { display: grid; min-height: 110px; align-items: center; padding: 20px 16px; cursor: pointer; font-family: var(--ert-font-display); list-style: none; gap: 18px; grid-template-columns: 52px minmax(0, 1fr) 46px; }
.ert-v2-faq details[open] summary { padding-right: 24px; padding-left: 24px; }
.ert-v2-faq summary::-webkit-details-marker { display: none; }
.ert-v2-faq summary small { color: #929398; font-family: var(--ert-font-mono); font-size: .52rem; font-weight: 500; letter-spacing: .1em; }
.ert-v2-faq summary strong { color: inherit; font-size: clamp(1.32rem, 1.75vw, 1.72rem); font-weight: 590; letter-spacing: -.04em; line-height: 1.12; }
.ert-v2-faq summary > span { display: grid; width: 42px; height: 42px; border-radius: 50%; color: #fff; background: #111216; place-items: center; transition: color 260ms ease, background 260ms ease, transform 320ms var(--ert-ease); }
.ert-v2-faq summary > span .ert-icon { width: 17px; height: 17px; }
.ert-v2-faq details[open] summary > span { color: #111216; background: #fff; transform: rotate(45deg); }
.ert-v2-faq__answer p,
.ert-v2-faq details[open] .ert-v2-faq__answer p { max-width: 650px; padding: 0 88px 32px 94px; margin: -3px 0 0; color: rgba(255,255,255,.62); font-size: .79rem; line-height: 1.78; animation: ert-faq-in 380ms cubic-bezier(.2,.75,.2,1) both; }

@media (hover: hover) {
  .ert-v2-faq details:not([open]) summary:hover strong { transform: translateX(7px); }
  .ert-v2-faq summary strong { transition: transform 320ms var(--ert-ease); }
  .ert-v2-faq details:not([open]) summary:hover > span { transform: rotate(8deg); }
}

@media (max-width: 767px) {
  .ert-v2-faq { padding: 78px 0; }
  .ert-v2-faq__grid { gap: 44px; grid-template-columns: 1fr; }
  .ert-v2-faq__title { position: static; }
  .ert-v2-faq__title-top { padding-bottom: 20px; }
  .ert-v2-faq__count { font-size: 4rem; }
  .ert-v2-faq__title h2 { margin-top: 32px; font-size: clamp(3.05rem, 13vw, 4rem); line-height: .92; }
  .ert-v2-faq__title h2 em { padding-left: .12em; }
  .ert-v2-faq__title > p { margin-top: 26px; }
  .ert-v2-faq__title .ert-v2-link { margin-top: 26px; }
  .ert-v2-faq summary { min-height: 92px; padding: 16px 0; gap: 10px; grid-template-columns: 32px minmax(0, 1fr) 42px; }
  .ert-v2-faq details[open] { margin: 7px 0; border-radius: 20px; }
  .ert-v2-faq details[open] summary { padding: 16px; }
  .ert-v2-faq summary strong { font-size: 1.2rem; line-height: 1.15; }
  .ert-v2-faq summary > span { width: 40px; height: 40px; }
  .ert-v2-faq__answer p,
  .ert-v2-faq details[open] .ert-v2-faq__answer p { padding: 0 18px 25px 58px; margin-top: 0; font-size: .76rem; }
}

/* About: documentary confidence, built from real wedding imagery. */
.ert-about { overflow: clip; color: #111216; background: #f3f3f4; }
.ert-about-hero { position: relative; min-height: 900px; color: #fff; background: #0b0c0e; }
.ert-about-hero__media,
.ert-about-hero__shade { position: absolute; inset: 0; margin: 0; }
.ert-about-hero__image { display: block; width: 100%; height: 100% !important; object-fit: cover; filter: saturate(1.04) contrast(1.04); }
.ert-about-hero__shade { z-index: 1; background: linear-gradient(90deg, rgba(6,7,8,.94) 0%, rgba(6,7,8,.54) 48%, rgba(6,7,8,.2) 76%), linear-gradient(0deg, rgba(6,7,8,.84) 0%, transparent 50%); }
.ert-about-hero__inner { position: relative; z-index: 2; display: flex; min-height: 900px; padding-top: 126px; padding-bottom: 58px; flex-direction: column; justify-content: space-between; }
.ert-about-hero__top { display: flex; align-items: center; justify-content: space-between; padding-bottom: 22px; border-bottom: 1px solid rgba(255,255,255,.22); }
.ert-about-hero__top .ert-kicker { color: rgba(255,255,255,.68); }
.ert-about-hero__top > span { color: rgba(255,255,255,.52); font-family: var(--ert-font-mono); font-size: .52rem; letter-spacing: .1em; text-transform: uppercase; }
.ert-about-hero__content h1 { max-width: 980px; color: #fff; font-size: clamp(5.2rem, 8vw, 9rem); font-weight: 540; letter-spacing: -.065em; line-height: .82; }
.ert-about-hero__content h1 span,
.ert-about-hero__content h1 em { display: block; }
.ert-about-hero__content h1 em { padding-left: .35em; color: rgba(255,255,255,.73); font-family: "Bodoni Moda", Georgia, serif; font-style: italic; font-weight: 400; letter-spacing: -.052em; }
.ert-about-hero__lead { display: grid; align-items: end; gap: 40px; margin-top: 50px; grid-template-columns: minmax(300px, 510px) auto; }
.ert-about-hero__lead p { margin: 0; color: rgba(255,255,255,.68); font-size: .84rem; line-height: 1.78; }
.ert-about-hero__lead span { color: rgba(255,255,255,.5); font-family: var(--ert-font-mono); font-size: .5rem; letter-spacing: .09em; text-transform: uppercase; justify-self: end; }

.ert-about-manifesto { padding: 128px 0; background: #f3f3f4; }
.ert-about-manifesto__head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 26px; border-bottom: 1px solid #d0d0d3; }
.ert-about-manifesto__head > span { color: #85868b; font-family: var(--ert-font-mono); font-size: .5rem; letter-spacing: .09em; text-transform: uppercase; }
.ert-about-manifesto > .ert-shell > h2 { max-width: 1240px; margin: 54px 0 84px; font-size: clamp(4.1rem, 6.6vw, 7.5rem); font-weight: 560; letter-spacing: -.064em; line-height: .88; }
.ert-about-manifesto > .ert-shell > h2 em { display: block; padding-left: .2em; color: #8d8e93; font-family: "Bodoni Moda", Georgia, serif; font-style: italic; font-weight: 400; letter-spacing: -.048em; }
.ert-about-manifesto__grid { display: grid; align-items: end; gap: clamp(60px, 8vw, 130px); grid-template-columns: minmax(0, .92fr) minmax(340px, .68fr); }
.ert-about-manifesto__media { position: relative; overflow: hidden; height: 720px; margin: 0; border-radius: 28px; background: #ddd; }
.ert-about-manifesto__image { display: block; width: 100%; height: 100% !important; object-fit: cover; filter: saturate(1.04) contrast(1.02); transition: filter 700ms ease, transform 900ms var(--ert-ease); }
.ert-about-manifesto__media:hover .ert-about-manifesto__image { filter: saturate(1.1); transform: scale(1.025); }
.ert-about-manifesto__media figcaption { position: absolute; right: 20px; bottom: 20px; left: 20px; display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border-radius: 14px; color: #111216; background: rgba(255,255,255,.9); font-family: var(--ert-font-mono); font-size: .48rem; letter-spacing: .07em; text-transform: uppercase; backdrop-filter: blur(16px); }
.ert-about-manifesto__copy { padding-bottom: 14px; }
.ert-about-manifesto__copy > p { margin: 0; color: #55565c; font-size: clamp(.9rem, 1.08vw, 1.02rem); line-height: 1.88; }
.ert-about-manifesto__copy > p + p { margin-top: 28px; }
.ert-about-manifesto__copy .ert-v2-link { margin-top: 38px; }

.ert-about-ethos { padding: 122px 0; color: #fff; background: #0b0c0e; }
.ert-about-ethos__head { display: grid; align-items: end; gap: 80px; margin-bottom: 70px; grid-template-columns: 1fr minmax(320px, 470px); }
.ert-about-ethos__head .ert-kicker { margin-bottom: 20px; color: rgba(255,255,255,.55); }
.ert-about-ethos__head h2 { color: #fff; font-size: clamp(4rem, 5.7vw, 6.6rem); font-weight: 560; letter-spacing: -.06em; line-height: .9; }
.ert-about-ethos__head h2 em { display: block; padding-left: .24em; color: rgba(255,255,255,.58); font-family: "Bodoni Moda", Georgia, serif; font-style: italic; font-weight: 400; letter-spacing: -.047em; }
.ert-about-ethos__head > p { margin: 0 0 4px; color: rgba(255,255,255,.58); font-size: .82rem; line-height: 1.78; }
.ert-about-ethos__grid { display: grid; border-top: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); grid-template-columns: repeat(3, 1fr); }
.ert-about-ethos__grid article { min-height: 390px; padding: 32px 34px 38px; border-right: 1px solid rgba(255,255,255,.2); transition: color 380ms ease, background 380ms ease; }
.ert-about-ethos__grid article:last-child { border-right: 0; }
.ert-about-ethos__grid article > i { display: grid; width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; color: rgba(255,255,255,.7); place-items: center; }
.ert-about-ethos__grid article > i .ert-icon { width: 18px; height: 18px; }
.ert-about-ethos__grid article > span { display: block; margin-top: 72px; color: rgba(255,255,255,.42); font-family: var(--ert-font-mono); font-size: .51rem; letter-spacing: .1em; text-transform: uppercase; }
.ert-about-ethos__grid h3 { max-width: 330px; margin-top: 18px; color: inherit; font-size: clamp(2rem, 2.7vw, 3.1rem); font-weight: 560; letter-spacing: -.052em; line-height: .98; }
.ert-about-ethos__grid p { max-width: 340px; margin: 28px 0 0; color: rgba(255,255,255,.55); font-size: .76rem; line-height: 1.75; }
@media (hover: hover) { .ert-about-ethos__grid article:hover { color: #111216; background: #fff; } .ert-about-ethos__grid article:hover > i { border-color: #111216; color: #fff; background: #111216; } .ert-about-ethos__grid article:hover > span, .ert-about-ethos__grid article:hover p { color: #67686d; } }

.ert-about-craft { padding: 128px 0; background: #fff; }
.ert-about-craft__grid { display: grid; align-items: center; gap: clamp(70px, 8vw, 132px); grid-template-columns: 1.08fr .72fr; }
.ert-about-craft__gallery { position: relative; min-height: 760px; }
.ert-about-craft__gallery figure { position: absolute; overflow: hidden; margin: 0; background: #e4e4e5; }
.ert-about-craft__main { top: 0; right: 15%; bottom: 0; left: 0; border-radius: 28px; }
.ert-about-craft__detail { right: 0; bottom: 54px; width: 38%; height: 42%; border: 12px solid #fff; border-radius: 24px; }
.ert-about-craft__image { display: block; width: 100%; height: 100% !important; object-fit: cover; filter: saturate(1.04) contrast(1.02); transition: filter 650ms ease, transform 800ms var(--ert-ease); }
.ert-about-craft__gallery figure:hover .ert-about-craft__image { filter: saturate(1.1); transform: scale(1.03); }
.ert-about-craft__copy .ert-kicker { margin-bottom: 24px; }
.ert-about-craft__copy h2 { font-size: clamp(3.8rem, 5.2vw, 6rem); font-weight: 560; letter-spacing: -.06em; line-height: .9; }
.ert-about-craft__copy h2 em { display: block; padding-left: .18em; color: #8b8c91; font-family: "Bodoni Moda", Georgia, serif; font-style: italic; font-weight: 400; letter-spacing: -.047em; }
.ert-about-craft__copy > p { margin: 38px 0 0; color: #62636a; font-size: .86rem; line-height: 1.84; }
.ert-about-craft__copy > div { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 30px; }
.ert-about-craft__copy > div span { padding: 9px 12px; border: 1px solid #d5d5d8; border-radius: 999px; color: #66676c; font-family: var(--ert-font-mono); font-size: .48rem; letter-spacing: .07em; text-transform: uppercase; }

.ert-about-cta { padding: 0 0 112px; background: #fff; }
.ert-about-cta__inner { position: relative; overflow: hidden; min-height: 520px; padding: 70px; border-radius: 30px; color: #fff; background: #111216; }
.ert-about-cta__inner::after { position: absolute; top: -160px; right: -80px; width: 540px; height: 540px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,255,255,.025), 0 0 0 140px rgba(255,255,255,.015); content: ""; }
.ert-about-cta .ert-kicker { color: rgba(255,255,255,.55); }
.ert-about-cta h2 { position: relative; z-index: 1; margin-top: 70px; color: #fff; font-size: clamp(4.2rem, 6.8vw, 7.6rem); font-weight: 560; letter-spacing: -.064em; line-height: .84; }
.ert-about-cta h2 em { display: block; padding-left: .32em; color: rgba(255,255,255,.62); font-family: "Bodoni Moda", Georgia, serif; font-style: italic; font-weight: 400; letter-spacing: -.048em; }
.ert-about-cta a { position: absolute; z-index: 2; right: 54px; bottom: 54px; display: flex; min-height: 62px; align-items: center; padding: 8px 9px 8px 20px; border-radius: 18px; color: #111216; background: #fff; font-size: .62rem; font-weight: 700; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; gap: 18px; }
.ert-about-cta a > span { display: flex; align-items: center; gap: 9px; }
.ert-about-cta a > span .ert-icon { width: 17px; height: 17px; }
.ert-about-cta a > i { display: grid; width: 44px; height: 44px; border-radius: 14px; color: #fff; background: #111216; place-items: center; transition: transform 320ms var(--ert-ease); }
.ert-about-cta a:hover > i { transform: rotate(8deg); }

@media (max-width: 767px) {
  .ert-about-hero,
  .ert-about-hero__inner { min-height: 760px; }
  .ert-about-hero__inner { padding-top: 104px; padding-bottom: 34px; }
  .ert-about-hero__top > span { display: none; }
  .ert-about-hero__content h1 { font-size: clamp(3.65rem, 16.7vw, 5rem); line-height: .87; }
  .ert-about-hero__content h1 em { padding-left: .08em; }
  .ert-about-hero__lead { gap: 22px; margin-top: 34px; grid-template-columns: 1fr; }
  .ert-about-hero__lead span { justify-self: start; }
  .ert-about-manifesto { padding: 78px 0; }
  .ert-about-manifesto__head > span { display: none; }
  .ert-about-manifesto > .ert-shell > h2 { margin: 38px 0 48px; font-size: clamp(3.1rem, 13.4vw, 4.2rem); line-height: .92; }
  .ert-about-manifesto > .ert-shell > h2 em { padding-left: .08em; }
  .ert-about-manifesto__grid { gap: 40px; grid-template-columns: 1fr; }
  .ert-about-manifesto__media { height: 510px; border-radius: 22px; }
  .ert-about-manifesto__media figcaption { right: 12px; bottom: 12px; left: 12px; align-items: flex-start; gap: 7px; flex-direction: column; }
  .ert-about-ethos { padding: 78px 0; }
  .ert-about-ethos__head { gap: 26px; margin-bottom: 40px; grid-template-columns: 1fr; }
  .ert-about-ethos__head h2 { font-size: clamp(3.1rem, 13.4vw, 4.2rem); line-height: .92; }
  .ert-about-ethos__head h2 em { padding-left: .1em; }
  .ert-about-ethos__grid { grid-template-columns: 1fr; }
  .ert-about-ethos__grid article { min-height: 0; padding: 28px 0 32px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
  .ert-about-ethos__grid article:last-child { border-bottom: 0; }
  .ert-about-ethos__grid article > span { margin-top: 42px; }
  .ert-about-craft { padding: 78px 0; }
  .ert-about-craft__grid { gap: 46px; grid-template-columns: 1fr; }
  .ert-about-craft__gallery { min-height: 520px; }
  .ert-about-craft__main { right: 10%; border-radius: 22px; }
  .ert-about-craft__detail { bottom: 30px; width: 44%; height: 38%; border-width: 8px; border-radius: 18px; }
  .ert-about-craft__copy h2 { font-size: clamp(3.1rem, 13.4vw, 4.2rem); line-height: .92; }
  .ert-about-cta { padding-bottom: 78px; }
  .ert-about-cta__inner { min-height: 580px; padding: 34px 22px; border-radius: 24px; }
  .ert-about-cta h2 { margin-top: 82px; font-size: clamp(3.3rem, 14.5vw, 4.5rem); line-height: .9; }
  .ert-about-cta h2 em { padding-left: .08em; }
  .ert-about-cta a { right: 20px; bottom: 20px; left: 20px; justify-content: space-between; }
}

/* About v2: the homepage's porcelain frame and inset cinematic stage. */
.ert-about-hero {
  min-height: 900px;
  padding: 106px 28px 0;
  background: #f3f3f4;
}

.ert-about-hero__media,
.ert-about-hero__shade {
  inset: 106px 28px 0;
  border-radius: 30px;
}

.ert-about-hero__media { overflow: hidden; }
.ert-about-hero__shade {
  background: linear-gradient(90deg,rgba(6,7,8,.92) 0%,rgba(6,7,8,.56) 46%,rgba(6,7,8,.18) 78%), linear-gradient(0deg,rgba(6,7,8,.86) 0%,transparent 54%);
}

.ert-about-hero__inner {
  min-height: 794px;
  padding-top: 48px;
  padding-bottom: 46px;
}

.ert-about-hero__content h1 {
  max-width: 900px;
  font-size: clamp(4.9rem,7vw,7.7rem);
  line-height: .86;
}

.ert-about-manifesto { padding-top: 112px; }

@media (max-width: 767px) {
  .ert-about-hero {
    min-height: 780px;
    padding: 92px 10px 0;
  }

  .ert-about-hero__media,
  .ert-about-hero__shade {
    inset: 92px 10px 0;
    border-radius: 24px;
  }

  .ert-about-hero__inner {
    min-height: 688px;
    padding-top: 30px;
    padding-bottom: 28px;
  }

  .ert-about-hero__content h1 {
    font-size: clamp(3.25rem,15.4vw,4.5rem);
    line-height: .9;
  }

  .ert-about-hero__lead { margin-top: 28px; }
  .ert-about-manifesto { padding-top: 72px; }
}

/* Services: three visual treatments for one wedding-day narrative. */
.ert-services { overflow: clip; color: #111216; background: #f3f3f4; }
.ert-services-hero { min-height: 900px; padding: 106px 28px 0; background: #f3f3f4; }
.ert-services-hero__stage { position: relative; overflow: hidden; min-height: 794px; border-radius: 30px; color: #fff; background: #0b0c0e; }
.ert-services-hero__media,
.ert-services-hero__shade { position: absolute; inset: 0; margin: 0; }
.ert-services-hero__image { display: block; width: 100%; height: 100% !important; object-fit: cover; object-position: 62% center; filter: saturate(1.04) contrast(1.04); transform: scale(1.01); }
.ert-services-hero__shade { z-index: 1; background: linear-gradient(90deg,rgba(6,7,8,.96) 0%,rgba(6,7,8,.9) 34%,rgba(6,7,8,.35) 67%,rgba(6,7,8,.14) 100%),linear-gradient(0deg,rgba(6,7,8,.82) 0%,transparent 48%); }
.ert-services-hero__inner { position: relative; z-index: 2; display: flex; min-height: 794px; padding-top: 48px; padding-bottom: 40px; flex-direction: column; }
.ert-services-hero__top { display: flex; align-items: center; justify-content: space-between; padding-bottom: 21px; border-bottom: 1px solid rgba(255,255,255,.22); }
.ert-services-hero__top .ert-kicker { color: rgba(255,255,255,.68); }
.ert-services-hero__top > span { color: rgba(255,255,255,.5); font-family: var(--ert-font-mono); font-size: .5rem; letter-spacing: .1em; text-transform: uppercase; }
.ert-services-hero__content { display: grid; align-items: end; gap: 70px; margin-top: auto; grid-template-columns: minmax(0,1fr) minmax(310px,420px); }
.ert-services-hero__content h1 { max-width: 900px; color: #fff; font-size: clamp(4.9rem,7vw,7.7rem); font-weight: 560; letter-spacing: -.064em; line-height: .86; }
.ert-services-hero__content h1 span,
.ert-services-hero__content h1 em { display: block; }
.ert-services-hero__content h1 em { padding-left: .22em; color: rgba(255,255,255,.72); font-family: "Bodoni Moda",Georgia,serif; font-style: italic; font-weight: 400; letter-spacing: -.048em; }
.ert-services-hero__lead { padding: 0 0 12px; }
.ert-services-hero__lead > p { margin: 0; color: rgba(255,255,255,.66); font-size: .84rem; line-height: 1.78; }
.ert-services-hero__lead > a { display: flex; width: fit-content; align-items: center; margin-top: 28px; padding-bottom: 9px; border-bottom: 1px solid rgba(255,255,255,.52); color: #fff; font-size: .59rem; font-weight: 650; letter-spacing: .07em; text-decoration: none; text-transform: uppercase; gap: 30px; }
.ert-services-hero__lead > a .ert-icon { width: 16px; height: 16px; transition: transform 320ms var(--ert-ease); }
.ert-services-hero__lead > a:hover .ert-icon { transform: translateY(4px); }
.ert-services-hero__rail { display: grid; margin: 38px 0 0; padding: 0; border-top: 1px solid rgba(255,255,255,.2); list-style: none; grid-template-columns: repeat(3,1fr); }
.ert-services-hero__rail li { display: grid; padding: 17px 20px 0 0; border-right: 1px solid rgba(255,255,255,.2); gap: 7px; }
.ert-services-hero__rail li + li { padding-left: 20px; }
.ert-services-hero__rail li:last-child { border-right: 0; }
.ert-services-hero__rail span { color: rgba(255,255,255,.42); font-family: var(--ert-font-mono); font-size: .47rem; letter-spacing: .08em; }
.ert-services-hero__rail strong { color: rgba(255,255,255,.8); font-size: .67rem; font-weight: 500; }

.ert-services-list { padding: 124px 0 132px; background: #f3f3f4; scroll-margin-top: 100px; }
.ert-services-list__head { display: grid; align-items: end; gap: 90px; margin-bottom: 88px; grid-template-columns: 1.16fr .64fr; }
.ert-services-list__head .ert-kicker { margin-bottom: 21px; }
.ert-services-list__head h2 { font-size: clamp(4.2rem,6.2vw,7rem); font-weight: 560; letter-spacing: -.064em; line-height: .88; }
.ert-services-list__head h2 em { display: block; padding-left: .28em; color: #8c8d92; font-family: "Bodoni Moda",Georgia,serif; font-style: italic; font-weight: 400; letter-spacing: -.048em; }
.ert-services-list__head > p { max-width: 470px; margin: 0 0 8px; color: #64656b; font-size: .86rem; line-height: 1.82; }
.ert-services-card { display: grid; min-height: 670px; margin-top: 28px; padding: 22px; border: 1px solid #d7d7da; border-radius: 30px; background: #fff; grid-template-columns: minmax(0,1.1fr) minmax(400px,.9fr); }
.ert-services-card:first-of-type { margin-top: 0; }
.ert-services-card__media { position: relative; overflow: hidden; min-height: 620px; margin: 0; border-radius: 22px; background: #dedee0; }
.ert-services-card__image { position: absolute; inset: 0; display: block; width: 100%; height: 100% !important; object-fit: cover; filter: saturate(1.04) contrast(1.02); transition: filter 650ms ease,transform 900ms var(--ert-ease); }
.ert-services-card:hover .ert-services-card__image { filter: saturate(1.1) contrast(1.02); transform: scale(1.025); }
.ert-services-card__media figcaption { position: absolute; right: 16px; bottom: 16px; left: 16px; display: flex; flex-wrap: wrap; gap: 7px; }
.ert-services-card__media figcaption span { padding: 8px 11px; border-radius: 999px; color: #111216; background: rgba(255,255,255,.9); font-family: var(--ert-font-mono); font-size: .46rem; letter-spacing: .07em; text-transform: uppercase; backdrop-filter: blur(14px); }
.ert-services-card__copy { display: flex; padding: 34px clamp(34px,4vw,68px) 32px; flex-direction: column; }
.ert-services-card__meta { display: flex; align-items: center; justify-content: space-between; padding-bottom: 24px; border-bottom: 1px solid #d9d9dc; }
.ert-services-card__meta > span { color: #73747a; font-family: var(--ert-font-mono); font-size: .5rem; letter-spacing: .09em; text-transform: uppercase; }
.ert-services-card__meta > i { display: grid; width: 44px; height: 44px; border: 1px solid #d5d5d8; border-radius: 14px; place-items: center; }
.ert-services-card__meta .ert-icon { width: 18px; height: 18px; }
.ert-services-card h3 { max-width: 540px; margin: auto 0 36px; font-size: clamp(3.35rem,4.3vw,5.15rem); font-weight: 560; letter-spacing: -.06em; line-height: .93; }
.ert-services-card__copy > p { max-width: 590px; margin: 0; color: #62636a; font-size: .82rem; line-height: 1.78; }
.ert-services-card__copy > p + p { margin-top: 18px; }
.ert-services-card__copy > a { display: flex; width: fit-content; align-items: center; margin-top: 32px; padding-bottom: 9px; border-bottom: 1px solid #111216; color: #111216; font-size: .57rem; font-weight: 700; letter-spacing: .065em; text-decoration: none; text-transform: uppercase; gap: 22px; }
.ert-services-card__copy > a .ert-icon { width: 15px; height: 15px; transition: transform 320ms var(--ert-ease); }
.ert-services-card__copy > a:hover .ert-icon { transform: translate(3px,-3px); }
.ert-services-card--reverse .ert-services-card__media { grid-column: 2; }
.ert-services-card--reverse .ert-services-card__copy { grid-row: 1; grid-column: 1; }
.ert-services-card--dark { border-color: #0b0c0e; color: #fff; background: #0b0c0e; }
.ert-services-card--dark .ert-services-card__meta { border-color: rgba(255,255,255,.18); }
.ert-services-card--dark .ert-services-card__meta > span { color: rgba(255,255,255,.5); }
.ert-services-card--dark .ert-services-card__meta > i { border-color: rgba(255,255,255,.22); }
.ert-services-card--dark h3 { color: #fff; }
.ert-services-card--dark .ert-services-card__copy > p { color: rgba(255,255,255,.58); }
.ert-services-card--dark .ert-services-card__copy > a { border-color: rgba(255,255,255,.55); color: #fff; }

.ert-services-included { padding: 120px 0; color: #fff; background: #0b0c0e; }
.ert-services-included__head { display: grid; align-items: end; gap: 70px; margin-bottom: 66px; grid-template-columns: .6fr 1.4fr; }
.ert-services-included__head .ert-kicker { color: rgba(255,255,255,.52); }
.ert-services-included__head h2 { color: #fff; font-size: clamp(4.1rem,5.8vw,6.7rem); font-weight: 560; letter-spacing: -.062em; line-height: .89; }
.ert-services-included__head h2 em { display: block; padding-left: .22em; color: rgba(255,255,255,.55); font-family: "Bodoni Moda",Georgia,serif; font-style: italic; font-weight: 400; letter-spacing: -.047em; }
.ert-services-included__grid { display: grid; border-top: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); grid-template-columns: repeat(4,1fr); }
.ert-services-included__grid article { display: flex; min-height: 360px; padding: 28px 28px 34px; border-right: 1px solid rgba(255,255,255,.2); flex-direction: column; }
.ert-services-included__grid article:last-child { border-right: 0; }
.ert-services-included__grid article > span { color: rgba(255,255,255,.4); font-family: var(--ert-font-mono); font-size: .48rem; letter-spacing: .08em; }
.ert-services-included__grid article > i { display: grid; width: 48px; height: 48px; margin-top: 28px; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; color: rgba(255,255,255,.75); place-items: center; }
.ert-services-included__grid article > i .ert-icon { width: 18px; height: 18px; }
.ert-services-included__grid h3 { margin: auto 0 18px; color: #fff; font-size: clamp(1.7rem,2.2vw,2.5rem); font-weight: 560; letter-spacing: -.045em; line-height: 1; }
.ert-services-included__grid p { margin: 0; color: rgba(255,255,255,.53); font-size: .74rem; line-height: 1.72; }

.ert-services-cta { padding: 112px 0; background: #fff; }
.ert-services-cta__inner { display: grid; align-items: end; gap: 80px; min-height: 500px; padding: 70px; border-radius: 30px; color: #fff; background: #111216; grid-template-columns: 1.2fr .68fr; }
.ert-services-cta .ert-kicker { margin-bottom: 50px; color: rgba(255,255,255,.54); }
.ert-services-cta h2 { color: #fff; font-size: clamp(4.2rem,6.2vw,7rem); font-weight: 560; letter-spacing: -.064em; line-height: .88; }
.ert-services-cta h2 em { display: block; padding-left: .22em; color: rgba(255,255,255,.58); font-family: "Bodoni Moda",Georgia,serif; font-style: italic; font-weight: 400; letter-spacing: -.048em; }
.ert-services-cta__inner > div:last-child > p { margin: 0; color: rgba(255,255,255,.58); font-size: .82rem; line-height: 1.78; }
.ert-services-cta__inner a { display: flex; min-height: 62px; align-items: center; justify-content: space-between; margin-top: 30px; padding: 8px 9px 8px 20px; border-radius: 18px; color: #111216; background: #fff; font-size: .58rem; font-weight: 700; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.ert-services-cta__inner a > span { display: flex; align-items: center; gap: 10px; }
.ert-services-cta__inner a > span .ert-icon { width: 17px; height: 17px; }
.ert-services-cta__inner a > i { display: grid; width: 44px; height: 44px; border-radius: 14px; color: #fff; background: #111216; place-items: center; transition: transform 320ms var(--ert-ease); }
.ert-services-cta__inner a:hover > i { transform: rotate(8deg); }

@media (max-width: 980px) {
  .ert-services-hero__content { gap: 40px; grid-template-columns: minmax(0,1fr) 320px; }
  .ert-services-card { grid-template-columns: 1fr 1fr; }
  .ert-services-card__copy { padding: 28px 30px; }
  .ert-services-included__grid { grid-template-columns: repeat(2,1fr); }
  .ert-services-included__grid article:nth-child(2) { border-right: 0; }
  .ert-services-included__grid article:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.2); }
}

@media (max-width: 767px) {
  .ert-services-hero { min-height: 780px; padding: 92px 10px 0; }
  .ert-services-hero__stage { min-height: 688px; border-radius: 24px; }
  .ert-services-hero__image { object-position: 56% center; }
  .ert-services-hero__shade { background: linear-gradient(0deg,rgba(6,7,8,.94) 0%,rgba(6,7,8,.72) 58%,rgba(6,7,8,.32) 100%); }
  .ert-services-hero__inner { min-height: 688px; padding-top: 30px; padding-bottom: 24px; }
  .ert-services-hero__top > span { display: none; }
  .ert-services-hero__content { display: block; margin-top: auto; }
  .ert-services-hero__content h1 { font-size: clamp(3.15rem,14.7vw,4.35rem); line-height: .91; }
  .ert-services-hero__content h1 em { padding-left: .07em; }
  .ert-services-hero__lead { margin-top: 26px; padding: 0; }
  .ert-services-hero__lead > p { font-size: .75rem; line-height: 1.7; }
  .ert-services-hero__lead > a { margin-top: 20px; }
  .ert-services-hero__rail { margin-top: 28px; }
  .ert-services-hero__rail li { padding-top: 13px; }
  .ert-services-hero__rail strong { font-size: .56rem; }

  .ert-services-list { padding: 74px 0 80px; }
  .ert-services-list__head { gap: 28px; margin-bottom: 46px; grid-template-columns: 1fr; }
  .ert-services-list__head h2 { font-size: clamp(3rem,13.2vw,4.1rem); line-height: .92; }
  .ert-services-list__head h2 em { padding-left: .08em; }
  .ert-services-list__head > p { font-size: .78rem; }
  .ert-services-card { display: flex; min-height: 0; margin-top: 16px; padding: 10px; border-radius: 24px; flex-direction: column; }
  .ert-services-card__media,
  .ert-services-card--reverse .ert-services-card__media { min-height: 420px; border-radius: 18px; grid-column: auto; order: 0; }
  .ert-services-card__copy,
  .ert-services-card--reverse .ert-services-card__copy { padding: 28px 12px 20px; grid-row: auto; grid-column: auto; order: 1; }
  .ert-services-card h3 { margin: 62px 0 26px; font-size: clamp(2.65rem,12vw,3.7rem); line-height: .96; }
  .ert-services-card__copy > p { font-size: .76rem; }
  .ert-services-card__copy > a { margin-top: 26px; }
  .ert-services-card__media figcaption { right: 10px; bottom: 10px; left: 10px; }

  .ert-services-included { padding: 76px 0; }
  .ert-services-included__head { gap: 28px; margin-bottom: 42px; grid-template-columns: 1fr; }
  .ert-services-included__head h2 { font-size: clamp(3rem,13.2vw,4.1rem); line-height: .92; }
  .ert-services-included__head h2 em { padding-left: .08em; }
  .ert-services-included__grid { grid-template-columns: 1fr; }
  .ert-services-included__grid article { min-height: 260px; padding: 24px 0 28px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
  .ert-services-included__grid article:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.2); }
  .ert-services-included__grid article:last-child { border-bottom: 0; }

  .ert-services-cta { padding: 76px 0; }
  .ert-services-cta__inner { gap: 54px; min-height: 590px; padding: 34px 22px 24px; border-radius: 24px; grid-template-columns: 1fr; }
  .ert-services-cta .ert-kicker { margin-bottom: 72px; }
  .ert-services-cta h2 { font-size: clamp(3.05rem,13.5vw,4.15rem); line-height: .91; }
  .ert-services-cta h2 em { padding-left: .07em; }
  .ert-services-cta__inner a { margin-top: 24px; }
}

/* Portfolio: a contact-sheet rhythm built from real wedding frames. */
.ert-portfolio { overflow: clip; color: #111216; background: #f3f3f4; }
.ert-portfolio-hero { min-height: 1000px; padding: 106px 28px 0; background: #f3f3f4; }
.ert-portfolio-hero__stage { min-height: 894px; overflow: hidden; border: 1px solid #dedee1; border-radius: 30px; background: #fff; }
.ert-portfolio-hero__inner { display: flex; min-height: 894px; padding-top: 48px; padding-bottom: 28px; flex-direction: column; }
.ert-portfolio-hero__top { display: flex; align-items: center; justify-content: space-between; padding-bottom: 21px; border-bottom: 1px solid #d7d7da; }
.ert-portfolio-hero__top > span { color: #88898e; font-family: var(--ert-font-mono); font-size: .5rem; letter-spacing: .09em; text-transform: uppercase; }
.ert-portfolio-hero__intro { display: grid; align-items: end; gap: 80px; margin-top: 48px; grid-template-columns: 1.2fr .58fr; }
.ert-portfolio-hero__intro h1 { font-size: clamp(4.9rem,7vw,7.7rem); font-weight: 560; letter-spacing: -.064em; line-height: .86; }
.ert-portfolio-hero__intro h1 span,
.ert-portfolio-hero__intro h1 em { display: block; }
.ert-portfolio-hero__intro h1 em { padding-left: .22em; color: #8c8d92; font-family: "Bodoni Moda",Georgia,serif; font-style: italic; font-weight: 400; letter-spacing: -.048em; }
.ert-portfolio-hero__copy { max-width: 440px; padding-bottom: 10px; justify-self: end; }
.ert-portfolio-hero__copy > p { margin: 0; color: #616268; font-size: .84rem; line-height: 1.78; }
.ert-portfolio-hero__copy > a { display: flex; width: fit-content; align-items: center; margin-top: 26px; padding-bottom: 9px; border-bottom: 1px solid #111216; color: #111216; font-size: .57rem; font-weight: 700; letter-spacing: .065em; text-decoration: none; text-transform: uppercase; gap: 26px; }
.ert-portfolio-hero__copy > a .ert-icon { width: 15px; height: 15px; transition: transform 320ms var(--ert-ease); }
.ert-portfolio-hero__copy > a:hover .ert-icon { transform: translateY(4px); }
.ert-portfolio-hero__strip { display: grid; min-height: 392px; margin-top: auto; gap: 12px; grid-template-columns: 1.3fr .58fr 1fr; }
.ert-portfolio-hero__frame { position: relative; display: block; overflow: hidden; margin: 0; border-radius: 20px; color: #111216; background: #ddd; text-decoration: none; }
.ert-portfolio-hero__image { position: absolute; inset: 0; display: block; width: 100%; height: 100% !important; object-fit: cover; filter: saturate(1.04) contrast(1.02); transition: filter 650ms ease,transform 900ms var(--ert-ease); }
.ert-portfolio-hero__frame:hover .ert-portfolio-hero__image { filter: saturate(1.1) contrast(1.02); transform: scale(1.025); }
.ert-portfolio-hero__frame figcaption,
.ert-portfolio-hero__caption,
.ert-portfolio-shot figcaption { position: absolute; z-index: 2; right: 14px; bottom: 14px; left: 14px; display: flex; align-items: center; justify-content: space-between; padding: 12px 14px; border-radius: 13px; color: #111216; background: rgba(255,255,255,.9); backdrop-filter: blur(14px); }
.ert-portfolio-hero__frame figcaption span,
.ert-portfolio-hero__caption strong,
.ert-portfolio-shot figcaption span { font-size: .62rem; font-weight: 650; }
.ert-portfolio-hero__frame figcaption small,
.ert-portfolio-hero__caption small,
.ert-portfolio-shot figcaption small { color: #717278; font-family: var(--ert-font-mono); font-size: .43rem; letter-spacing: .065em; text-transform: uppercase; }
.ert-portfolio-hero__frame--portrait .ert-portfolio-hero__image { object-position: 52% center; }

.ert-portfolio-selection { padding: 126px 0 132px; background: #f3f3f4; scroll-margin-top: 100px; }
.ert-portfolio-selection__head { display: grid; align-items: end; gap: 90px; margin-bottom: 74px; grid-template-columns: 1.13fr .67fr; }
.ert-portfolio-selection__head .ert-kicker { margin-bottom: 21px; }
.ert-portfolio-selection__head h2 { font-size: clamp(4.2rem,6.2vw,7rem); font-weight: 560; letter-spacing: -.064em; line-height: .88; }
.ert-portfolio-selection__head h2 em { display: block; padding-left: .24em; color: #8c8d92; font-family: "Bodoni Moda",Georgia,serif; font-style: italic; font-weight: 400; letter-spacing: -.048em; }
.ert-portfolio-selection__head > div:last-child { padding-bottom: 7px; }
.ert-portfolio-selection__head > div:last-child > p { max-width: 470px; margin: 0; color: #62636a; font-size: .84rem; line-height: 1.8; }
.ert-portfolio-selection__head nav { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 26px; }
.ert-portfolio-selection__head nav a { padding: 9px 12px; border: 1px solid #d1d1d4; border-radius: 999px; color: #57585e; font-family: var(--ert-font-mono); font-size: .46rem; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; transition: color 260ms ease,background 260ms ease,border-color 260ms ease; }
.ert-portfolio-selection__head nav a:hover { border-color: #111216; color: #fff; background: #111216; }
.ert-portfolio-grid { display: grid; gap: 14px; grid-auto-flow: dense; grid-template-columns: repeat(12,1fr); }
.ert-portfolio-shot { position: relative; overflow: hidden; height: 560px; margin: 0; border-radius: 24px; background: #dedee0; scroll-margin-top: 100px; }
.ert-portfolio-shot::after { position: absolute; z-index: 1; inset: 0; background: linear-gradient(0deg,rgba(8,9,10,.24),transparent 44%); content: ""; opacity: .7; pointer-events: none; transition: opacity 420ms ease; }
.ert-portfolio-shot__image { position: absolute; inset: 0; display: block; width: 100%; height: 100% !important; object-fit: cover; filter: saturate(1.04) contrast(1.02); transition: filter 650ms ease,transform 900ms var(--ert-ease); }
.ert-portfolio-shot:hover .ert-portfolio-shot__image { filter: saturate(1.1) contrast(1.02); transform: scale(1.025); }
.ert-portfolio-shot:hover::after { opacity: .25; }
.ert-portfolio-shot--hero { height: 650px; grid-column: span 8; }
.ert-portfolio-shot--tall { height: 650px; grid-column: span 4; }
.ert-portfolio-shot--party { height: 520px; grid-column: span 5; }
.ert-portfolio-shot--portrait { height: 520px; grid-column: span 3; }
.ert-portfolio-shot--wide { height: 520px; grid-column: span 4; }
.ert-portfolio-shot--cinema { height: 570px; grid-column: span 7; }
.ert-portfolio-shot--close { height: 570px; grid-column: span 5; }
.ert-portfolio-shot--tall .ert-portfolio-shot__image,
.ert-portfolio-shot--portrait .ert-portfolio-shot__image { object-position: center 34%; }

.ert-portfolio-selection__hint { display: flex; width: fit-content; align-items: center; margin-top: 28px; color: #77787d; font-family: var(--ert-font-mono); font-size: .48rem; letter-spacing: .07em; text-transform: uppercase; gap: 10px; }
.ert-portfolio-selection__hint .ert-icon { width: 15px; height: 15px; }
.ert-portfolio-story-list { position: relative; padding-bottom: 8px; }
.ert-portfolio-story-card { --ert-story-card-height: clamp(540px,calc(100svh - 144px),700px); position: sticky; z-index: 1; top: max(72px,calc((100svh - var(--ert-story-card-height))/2)); display: grid; box-sizing: border-box; height: var(--ert-story-card-height); min-height: 0; margin-bottom: 28px; padding: 18px; border: 1px solid #d7d7da; border-radius: 30px; background: #fff; box-shadow: 0 24px 70px rgba(15,16,18,.1); grid-template-columns: minmax(0,1.12fr) minmax(390px,.88fr); }
.ert-portfolio-story-card:nth-child(2) { z-index: 2; }
.ert-portfolio-story-card:nth-child(3) { z-index: 3; }
.ert-portfolio-story-card:nth-child(4) { z-index: 4; }
.ert-portfolio-story-card:nth-child(5) { z-index: 5; }
.ert-portfolio-story-card:nth-child(6) { z-index: 6; }
.ert-portfolio-story-card:nth-child(7) { z-index: 7; }
.ert-portfolio-story-card__media { position: relative; overflow: hidden; height: 100%; min-height: 0; border-radius: 23px; color: #fff; background: #dcdcdf; }
.ert-portfolio-story-card__media::after { position: absolute; z-index: 1; inset: 0; background: linear-gradient(0deg,rgba(7,8,9,.5),transparent 44%); content: ""; pointer-events: none; }
.ert-portfolio-story-card__image { position: absolute; inset: 0; display: block; width: 100%; height: 100% !important; object-fit: cover; filter: saturate(1.04) contrast(1.03); transition: filter 650ms ease, transform 900ms var(--ert-ease); }
.ert-portfolio-story-card:hover .ert-portfolio-story-card__image { filter: saturate(1.1) contrast(1.02); }
.ert-portfolio-story-card__media:hover .ert-portfolio-story-card__image { transform: scale(1.025); }
.ert-portfolio-story-card__index { position: absolute; z-index: 2; top: 20px; left: 20px; display: grid; width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; background: rgba(8,9,10,.38); font-family: var(--ert-font-mono); font-size: .5rem; place-items: center; backdrop-filter: blur(12px); }
.ert-portfolio-story-card__media > i { position: absolute; z-index: 2; right: 20px; bottom: 20px; display: grid; width: 52px; height: 52px; border-radius: 17px; color: #111216; background: #fff; place-items: center; transition: transform 360ms var(--ert-ease); }
.ert-portfolio-story-card__media > i .ert-icon { width: 18px; height: 18px; }
.ert-portfolio-story-card__media:hover > i { transform: rotate(8deg); }
.ert-portfolio-story-card__copy { display: grid; min-width: 0; padding: 34px clamp(34px,4.2vw,72px) 32px; grid-template-rows: auto minmax(0,1fr) auto; }
.ert-portfolio-story-card__meta { display: flex; align-items: center; justify-content: space-between; padding-bottom: 23px; border-bottom: 1px solid #dadadd; }
.ert-portfolio-story-card__meta span,
.ert-portfolio-story-card__meta small { color: #77787d; font-family: var(--ert-font-mono); font-size: .47rem; letter-spacing: .075em; text-transform: uppercase; }
.ert-portfolio-story-card__body { align-self: center; width: 100%; min-width: 0; padding: 42px 0; }
.ert-portfolio-story-card h3 { max-width: 100%; margin: 0 0 32px; font-size: clamp(3.15rem,3.65vw,4.7rem); font-weight: 560; letter-spacing: -.064em; line-height: .92; text-wrap: balance; }
.ert-portfolio-story-card h3 a { color: inherit; text-decoration: none; }
.ert-portfolio-story-card__body > p { max-width: 520px; margin: 0; color: #62636a; font-size: .84rem; line-height: 1.8; }
.ert-portfolio-story-card__footer { display: flex; align-items: center; justify-content: space-between; margin-top: 0; padding-top: 22px; border-top: 1px solid #dadadd; }
.ert-portfolio-story-card__footer > span { color: #77787d; font-family: var(--ert-font-mono); font-size: .47rem; letter-spacing: .07em; text-transform: uppercase; }
.ert-portfolio-story-card__footer > a { display: flex; align-items: center; color: #111216; font-size: .57rem; font-weight: 700; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; gap: 12px; }
.ert-portfolio-story-card__footer > a .ert-icon { width: 15px; height: 15px; transition: transform 320ms var(--ert-ease); }
.ert-portfolio-story-card__footer > a:hover .ert-icon { transform: translate(3px,-3px); }
.ert-portfolio-story-card--reverse .ert-portfolio-story-card__media { grid-column: 2; }
.ert-portfolio-story-card--reverse .ert-portfolio-story-card__copy { grid-row: 1; grid-column: 1; }

.ert-portfolio-focus { padding: 124px 0; color: #fff; background: #0b0c0e; }
.ert-portfolio-focus__grid { display: grid; align-items: center; gap: clamp(70px,8vw,132px); grid-template-columns: 1.1fr .72fr; }
.ert-portfolio-focus__media { position: relative; overflow: hidden; min-height: 720px; margin: 0; border-radius: 28px; background: #1a1b1e; }
.ert-portfolio-focus__image { position: absolute; inset: 0; display: block; width: 100%; height: 100% !important; object-fit: cover; filter: saturate(1.04) contrast(1.03); }
.ert-portfolio-focus__media figcaption { position: absolute; right: 18px; bottom: 18px; left: 18px; display: flex; align-items: center; justify-content: space-between; padding: 13px 15px; border: 1px solid rgba(255,255,255,.16); border-radius: 14px; color: rgba(255,255,255,.72); background: rgba(8,9,10,.56); backdrop-filter: blur(16px); }
.ert-portfolio-focus__media figcaption span { font-size: .62rem; font-weight: 600; }
.ert-portfolio-focus__media figcaption small { font-family: var(--ert-font-mono); font-size: .43rem; letter-spacing: .06em; text-transform: uppercase; }
.ert-portfolio-focus__copy .ert-kicker { margin-bottom: 25px; color: rgba(255,255,255,.52); }
.ert-portfolio-focus__copy h2 { color: #fff; font-size: clamp(3.9rem,5.3vw,6rem); font-weight: 560; letter-spacing: -.06em; line-height: .9; }
.ert-portfolio-focus__copy h2 em { display: block; padding-left: .18em; color: rgba(255,255,255,.56); font-family: "Bodoni Moda",Georgia,serif; font-style: italic; font-weight: 400; letter-spacing: -.047em; }
.ert-portfolio-focus__copy > p { margin: 38px 0 0; color: rgba(255,255,255,.58); font-size: .84rem; line-height: 1.82; }
.ert-portfolio-focus__copy .ert-v2-link { margin-top: 34px; border-color: rgba(255,255,255,.55); color: #fff; }

.ert-portfolio-cta { padding: 112px 0; background: #fff; }
.ert-portfolio-cta__inner { position: relative; overflow: hidden; min-height: 520px; padding: 70px; border-radius: 30px; color: #fff; background: #111216; }
.ert-portfolio-cta__inner::after { position: absolute; top: -170px; right: -90px; width: 560px; height: 560px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; box-shadow: 0 0 0 76px rgba(255,255,255,.025),0 0 0 152px rgba(255,255,255,.015); content: ""; }
.ert-portfolio-cta .ert-kicker { color: rgba(255,255,255,.54); }
.ert-portfolio-cta h2 { position: relative; z-index: 1; margin-top: 70px; color: #fff; font-size: clamp(4.2rem,6.6vw,7.4rem); font-weight: 560; letter-spacing: -.064em; line-height: .85; }
.ert-portfolio-cta h2 em { display: block; padding-left: .28em; color: rgba(255,255,255,.6); font-family: "Bodoni Moda",Georgia,serif; font-style: italic; font-weight: 400; letter-spacing: -.048em; }
.ert-portfolio-cta a { position: absolute; z-index: 2; right: 54px; bottom: 54px; display: flex; min-height: 62px; align-items: center; padding: 8px 9px 8px 20px; border-radius: 18px; color: #111216; background: #fff; font-size: .58rem; font-weight: 700; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; gap: 18px; }
.ert-portfolio-cta a > span { display: flex; align-items: center; gap: 9px; }
.ert-portfolio-cta a > span .ert-icon { width: 17px; height: 17px; }
.ert-portfolio-cta a > i { display: grid; width: 44px; height: 44px; border-radius: 14px; color: #fff; background: #111216; place-items: center; transition: transform 320ms var(--ert-ease); }
.ert-portfolio-cta a:hover > i { transform: rotate(8deg); }

@media (max-width: 980px) {
  .ert-portfolio-hero__intro { gap: 40px; grid-template-columns: 1fr 330px; }
  .ert-portfolio-focus__grid { gap: 56px; grid-template-columns: 1fr 1fr; }
}

@media (max-width: 767px) {
  .ert-portfolio-hero { min-height: 960px; padding: 92px 10px 0; }
  .ert-portfolio-hero__stage { min-height: 868px; border-radius: 24px; }
  .ert-portfolio-hero__inner { min-height: 868px; padding-top: 30px; padding-bottom: 10px; }
  .ert-portfolio-hero__top > span { display: none; }
  .ert-portfolio-hero__intro { display: block; margin-top: 42px; }
  .ert-portfolio-hero__intro h1 { font-size: clamp(3.2rem,14.8vw,4.4rem); line-height: .91; }
  .ert-portfolio-hero__intro h1 em { padding-left: .06em; }
  .ert-portfolio-hero__copy { max-width: none; margin-top: 28px; padding: 0; }
  .ert-portfolio-hero__copy > p { font-size: .75rem; line-height: 1.7; }
  .ert-portfolio-hero__copy > a { margin-top: 20px; }
  .ert-portfolio-hero__strip { min-height: 348px; margin-top: auto; gap: 7px; grid-template-columns: 1.42fr .76fr; }
  .ert-portfolio-hero__frame { border-radius: 16px; }
  .ert-portfolio-hero__frame--landscape { display: none; }
  .ert-portfolio-hero__frame figcaption { right: 8px; bottom: 8px; left: 8px; display: block; padding: 9px 10px; }
  .ert-portfolio-hero__caption { right: 8px; bottom: 8px; left: 8px; display: block; padding: 9px 10px; }
  .ert-portfolio-hero__frame figcaption small { display: block; margin-top: 3px; }
  .ert-portfolio-hero__caption small { display: block; margin-top: 3px; }

  .ert-portfolio-selection { padding: 76px 0 80px; }
  .ert-portfolio-selection__head { gap: 28px; margin-bottom: 44px; grid-template-columns: 1fr; }
  .ert-portfolio-selection__head h2 { font-size: clamp(3.05rem,13.4vw,4.15rem); line-height: .92; }
  .ert-portfolio-selection__head h2 em { padding-left: .07em; }
  .ert-portfolio-selection__head > div:last-child > p { font-size: .77rem; }
  .ert-portfolio-selection__head nav { gap: 6px; margin-top: 22px; }
  .ert-portfolio-selection__hint { margin-top: 22px; }
  .ert-portfolio-story-card { position: relative; top: auto; display: flex; height: auto; min-height: 0; margin-bottom: 16px; padding: 10px; border-radius: 24px; box-shadow: 0 16px 44px rgba(15,16,18,.08); flex-direction: column; }
  .ert-portfolio-story-card__media,
  .ert-portfolio-story-card--reverse .ert-portfolio-story-card__media { min-height: 510px; border-radius: 18px; grid-column: auto; order: 0; }
  .ert-portfolio-story-card__copy,
  .ert-portfolio-story-card--reverse .ert-portfolio-story-card__copy { padding: 28px 12px 20px; grid-row: auto; grid-column: auto; order: 1; }
  .ert-portfolio-story-card__meta { align-items: flex-start; gap: 7px; flex-direction: column; }
  .ert-portfolio-story-card__body { padding: 58px 0 28px; }
  .ert-portfolio-story-card h3 { margin: 0 0 26px; font-size: clamp(3.1rem,14vw,4.4rem); line-height: .92; }
  .ert-portfolio-story-card__body > p { font-size: .76rem; }
  .ert-portfolio-story-card__footer { align-items: flex-start; gap: 18px; flex-direction: column; }
  .ert-portfolio-grid { display: flex; gap: 10px; flex-direction: column; }
  .ert-portfolio-shot,
  .ert-portfolio-shot--hero,
  .ert-portfolio-shot--tall,
  .ert-portfolio-shot--party,
  .ert-portfolio-shot--portrait,
  .ert-portfolio-shot--wide,
  .ert-portfolio-shot--cinema,
  .ert-portfolio-shot--close { width: 100%; height: 470px; border-radius: 20px; }
  .ert-portfolio-shot--tall,
  .ert-portfolio-shot--portrait { height: 560px; }
  .ert-portfolio-shot figcaption { right: 10px; bottom: 10px; left: 10px; align-items: flex-start; gap: 4px; flex-direction: column; }

  .ert-portfolio-focus { padding: 78px 0; }
  .ert-portfolio-focus__grid { gap: 46px; grid-template-columns: 1fr; }
  .ert-portfolio-focus__media { min-height: 530px; border-radius: 22px; }
  .ert-portfolio-focus__media figcaption { right: 12px; bottom: 12px; left: 12px; align-items: flex-start; gap: 5px; flex-direction: column; }
  .ert-portfolio-focus__copy h2 { font-size: clamp(3.05rem,13.4vw,4.15rem); line-height: .92; }
  .ert-portfolio-focus__copy h2 em { padding-left: .07em; }

  .ert-portfolio-cta { padding: 76px 0; }
  .ert-portfolio-cta__inner { min-height: 580px; padding: 34px 22px; border-radius: 24px; }
  .ert-portfolio-cta h2 { margin-top: 82px; font-size: clamp(3.2rem,14vw,4.35rem); line-height: .9; }
  .ert-portfolio-cta h2 em { padding-left: .07em; }
  .ert-portfolio-cta a { right: 20px; bottom: 20px; left: 20px; justify-content: space-between; }
}

/* Managed story detail: mixed photo and video gallery. */
.ert-story-detail { overflow: clip; color: #111216; background: #f3f3f4; }
.ert-story-detail__hero { min-height: 900px; padding: 106px 28px 0; background: #f3f3f4; }
.ert-story-detail__stage { position: relative; overflow: hidden; min-height: 794px; border-radius: 30px; color: #fff; background: #0b0c0e; }
.ert-story-detail__cover,
.ert-story-detail__shade { position: absolute; inset: 0; margin: 0; }
.ert-story-detail__cover-image { display: block; width: 100%; height: 100% !important; object-fit: cover; filter: saturate(1.04) contrast(1.03); }
.ert-story-detail__shade { z-index: 1; background: linear-gradient(90deg,rgba(6,7,8,.9) 0%,rgba(6,7,8,.42) 53%,rgba(6,7,8,.12) 100%),linear-gradient(0deg,rgba(6,7,8,.86) 0%,transparent 56%); }
.ert-story-detail__hero-inner { position: relative; z-index: 2; display: flex; min-height: 794px; padding-top: 48px; padding-bottom: 44px; flex-direction: column; justify-content: space-between; }
.ert-story-detail__top { display: flex; align-items: center; justify-content: space-between; padding-bottom: 21px; border-bottom: 1px solid rgba(255,255,255,.22); }
.ert-story-detail__top a,
.ert-story-detail__top span { color: rgba(255,255,255,.68); font-family: var(--ert-font-mono); font-size: .49rem; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.ert-story-detail__title .ert-kicker { margin-bottom: 22px; color: rgba(255,255,255,.58); }
.ert-story-detail__title h1 { max-width: 1050px; color: #fff; font-size: clamp(5rem,8vw,9rem); font-weight: 560; letter-spacing: -.066em; line-height: .84; }
.ert-story-detail__title > div { display: flex; margin-top: 38px; color: rgba(255,255,255,.62); font-family: var(--ert-font-mono); font-size: .5rem; letter-spacing: .08em; text-transform: uppercase; gap: 28px; }
.ert-story-detail__intro { padding: 110px 0; background: #f3f3f4; }
.ert-story-detail__intro-grid { display: grid; align-items: start; gap: 70px; grid-template-columns: .45fr 1fr auto; }
.ert-story-detail__intro-grid > div { max-width: 720px; }
.ert-story-detail__intro-grid > div p { margin: 0; color: #55565c; font-size: clamp(1.05rem,1.45vw,1.3rem); line-height: 1.72; }
.ert-story-detail__intro-grid > span { color: #85868b; font-family: var(--ert-font-mono); font-size: .48rem; letter-spacing: .08em; text-transform: uppercase; }
.ert-story-detail__gallery { padding: 0 0 126px; background: #f3f3f4; }
.ert-story-detail__media-grid { display: grid; align-items: start; gap: 14px; grid-auto-flow: dense; grid-template-columns: repeat(12,1fr); }
.ert-story-detail__media { position: relative; overflow: hidden; height: 660px; margin: 0; border-radius: 24px; background: #dedee0; grid-column: span 7; }
.ert-story-detail__media--1 { height: 760px; grid-column: span 5; }
.ert-story-detail__media--2 { height: 590px; grid-column: span 12; }
.ert-story-detail__image,
.ert-story-detail__media video { position: absolute; inset: 0; display: block; width: 100%; height: 100% !important; object-fit: cover; }
.ert-story-detail__image { filter: saturate(1.04) contrast(1.02); transition: filter 650ms ease, transform 900ms var(--ert-ease); }
.ert-story-detail__media:hover .ert-story-detail__image { filter: saturate(1.1) contrast(1.02); }
.ert-story-detail__media:hover .ert-story-detail__image { transform: scale(1.02); }
.ert-story-detail__media video { background: #0b0c0e; }
.ert-story-detail__cta { padding: 112px 0; background: #fff; }
.ert-story-detail__cta-inner { position: relative; overflow: hidden; min-height: 510px; padding: 70px; border-radius: 30px; color: #fff; background: #111216; }
.ert-story-detail__cta-inner::after { position: absolute; top: -170px; right: -90px; width: 560px; height: 560px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; box-shadow: 0 0 0 76px rgba(255,255,255,.025),0 0 0 152px rgba(255,255,255,.015); content: ""; }
.ert-story-detail__cta .ert-kicker { color: rgba(255,255,255,.54); }
.ert-story-detail__cta h2 { position: relative; z-index: 1; margin-top: 70px; color: #fff; font-size: clamp(4.2rem,6.6vw,7.4rem); font-weight: 560; letter-spacing: -.064em; line-height: .85; }
.ert-story-detail__cta h2 em { display: block; padding-left: .28em; color: rgba(255,255,255,.6); font-family: "Bodoni Moda",Georgia,serif; font-style: italic; font-weight: 400; letter-spacing: -.048em; }
.ert-story-detail__cta a { position: absolute; z-index: 2; right: 54px; bottom: 54px; display: flex; min-height: 62px; align-items: center; padding: 8px 9px 8px 20px; border-radius: 18px; color: #111216; background: #fff; font-size: .58rem; font-weight: 700; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; gap: 18px; }
.ert-story-detail__cta a > i { display: grid; width: 44px; height: 44px; border-radius: 14px; color: #fff; background: #111216; place-items: center; }

@media (max-width: 767px) {
  .ert-story-detail__hero { min-height: 780px; padding: 92px 10px 0; }
  .ert-story-detail__stage,
  .ert-story-detail__hero-inner { min-height: 688px; }
  .ert-story-detail__stage { border-radius: 24px; }
  .ert-story-detail__shade { background: linear-gradient(0deg,rgba(6,7,8,.92) 0%,rgba(6,7,8,.52) 58%,rgba(6,7,8,.18) 100%); }
  .ert-story-detail__hero-inner { padding-top: 30px; padding-bottom: 28px; }
  .ert-story-detail__top span { display: none; }
  .ert-story-detail__title h1 { font-size: clamp(3.5rem,16vw,5rem); line-height: .88; }
  .ert-story-detail__title > div { margin-top: 26px; }
  .ert-story-detail__intro { padding: 74px 0; }
  .ert-story-detail__intro-grid { gap: 28px; grid-template-columns: 1fr; }
  .ert-story-detail__intro-grid > div p { font-size: .94rem; }
  .ert-story-detail__gallery { padding-bottom: 78px; }
  .ert-story-detail__media-grid { display: flex; gap: 10px; flex-direction: column; }
  .ert-story-detail__media,
  .ert-story-detail__media--1,
  .ert-story-detail__media--2 { width: 100%; height: 520px; border-radius: 20px; }
  .ert-story-detail__media--1 { height: 620px; }
  .ert-story-detail__cta { padding: 76px 0; }
  .ert-story-detail__cta-inner { min-height: 580px; padding: 34px 22px; border-radius: 24px; }
  .ert-story-detail__cta h2 { margin-top: 82px; font-size: clamp(3.2rem,14vw,4.35rem); line-height: .9; }
  .ert-story-detail__cta h2 em { padding-left: .07em; }
  .ert-story-detail__cta a { right: 20px; bottom: 20px; left: 20px; justify-content: space-between; }
}
